域名服务器分为哪四类,域名服务系统基础原理讲解

域名服务器这四类,很多人反复背诵还是容易遗忘,根源在于教材把它们整理成分类表格,没有讲清楚在一次解析查询里各自承担的角色。完整走完一遍DNS解析流程,四类服务器的定位就能串起来。

假设浏览器输入www.example.com,按下回车。电脑先读取本地hosts文件和本机DNS缓存,找不到记录,请求就发送到网络设置填写的DNS服务器。这个就是本地域名服务器,又叫递归解析器。它一般不属于你自己的设备,是运营商或者公共DNS服务商提供,电信61.139.2.69、阿里223.5.5.5、谷歌8.8.8.8都属于这类。本地域名服务器的角色是替用户发起查询,你只提交一次请求,剩下全部查询工作由它完成。拿到www.example.com之后,它本身不知道解析结果,于是从根节点逐层查询。

域名服务器分为哪四类,域名服务系统基础原理讲解

它首先访问根域名服务器。全球一共十三组根服务器,编号A到M,实际物理节点上千个,依靠任播技术分布全球各地。根服务器不解析具体域名,只返回一条信息:.com这个顶级域由谁管理,去查询对应的顶级域服务器。根服务器返回.com顶级域服务器地址列表,这个步骤称为根提示。

本地域名服务器拿到根返回信息,接着去查询顶级域名服务器。管理.com的顶级域服务器由Verisign运营,保存全部.com域名权威记录。但它同样不知道www.example.com对应的IP,只记录example.com域名对应的权威服务器地址。于是返回信息给本地域名服务器:访问example.com权威服务器,NS记录是ns1.example.com和ns2.example.com。

最后一步,本地域名服务器请求权威域名服务器。这台服务器是example.com域名的最终管理方,解析记录由域名持有者在DNS后台配置。只有它知道www.example.com对应的IP,例如93.184.216.34。权威服务器把结果返回本地域名服务器,本地域名服务器再转发给你的设备。浏览器拿到IP,建立连接,网页加载完成。

四类服务器在流程里的位置一目了然:根服务器是入口指路标识,顶级域服务器是分区管理站,权威服务器保存最终解析结果,本地域名服务器负责全程代为查询。每次浏览器输入域名,背后就是四个角色接力完成查询。

这里有一处容易混淆的点。本地域名服务器和权威域名服务器,虽然都叫域名服务器,但不是同一类。本地域名服务器属于递归查询,替客户端完成整套查询流程,带回最终结果。权威域名服务器采用迭代查询,只答复自身管辖域名记录,其余请求不处理。根服务器、顶级域服务器,在绝大多数查询场景下执行迭代查询,不会跑完完整查询链路,只告知下一站查询地址,剩下的查询工作交给本地域名服务器。

递归和迭代听起来像专业术语,区别其实很简单。递归就是“帮我把全部查询做完,返回最终答案”;迭代是“告诉你下一个查询对象,剩下你自己处理”。本地域名服务器对客户端是递归,客户端只提交一次请求等待结果。根服务器、顶级域服务器对本地域名服务器属于迭代,不会跑完整条链路,只返回指引信息,剩下由本地服务器继续查询。

缓存是整套DNS系统稳定运行的关键。没有缓存,每次访问网站都要从根服务器开始完整查询一遍,全球DNS流量会直接过载。本地域名服务器会缓存查询结果,缓存时长由权威服务器设置的TTL控制。TTL设置3600秒,代表一小时内再次查询同一个域名,本地服务器直接返回缓存,不用重新访问根、顶级域服务器。操作系统、浏览器同样存在DNS缓存,层级、过期时长各不相同。修改域名解析记录之后,访问依旧指向旧IP,就是某一层缓存没有到期。

根服务器本身不解析域名,唯一作用就是告知去哪里查询顶级域服务器。全球十三组根服务器,不存在多余节点,依靠任播部署在一千多个物理节点,目的是让全球任意地区查询请求就近接入根节点,降低延迟,规避单点故障。历史上根服务器遭受过攻击,但影响范围有限,任播架构把攻击流量分散到各个节点,单个节点瘫痪不会影响其余节点继续服务。

免责声明:本文提供的方法与建议仅供技术参考,实际部署效果受机房环境、运营商线路、系统配置等多重因素影响。请在专业人员指导下操作,因自行操作导致的业务损失本站不承担责任。

相关推荐