DNS域名解析过程

当用户在浏览器输入一个地址后,DNS解析成ip会有将近10个步骤。

第一步:
浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果有,解析结束。

第二步:
如果浏览器缓存中没有,则会查找操作系统缓存中是否有这个域名对应的DNS解析结果。就是操作系统里的hosts文件里配置的域名和IP的对应关系。

前面两个步骤都是本机完成的,到这里还没有涉及到真正的域名解析服务器,如果在本机中无法完成域名的解析,就会真正请求域名服务器来解析这个域名。

第三步:
怎么知道域名服务器呢?在网络配置中都会有DNS服务器地址这一栏,前面两步无法解析的域名,操作系统就会把这个域名发送给这里设置的LDNS,也就是本地区的域名服务器。
这个DNS通常都提供给你本地互联网接入的一个DNS解析服务。比如电信、联通、移动。
这个专门的域名解析服务器性能都很好,也会缓存解析结果,所以百分之80的解析过程到这里就结束了。
所以LDNS承担着主要的域名解析工作。

第四步:
如果LDNS还没有命中的时候,就直接到 Root Server域名服务器进行解析。

根域名服务器(Root Server):
根服务器主要用来管理互联网的主目录,全世界IPv4根服务器只有13台(这13台IPv4根域名服务器名字分别为“A”至“M”),1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。

第五步:
根域名服务器会返回给本地域名服务器(LDNS)一个所查询域的主域名服务器(gTLD server)地址。gTLD是国际顶级域名服务器。

第六步:
LDNS会再向根域名服务器返回的gTLD服务器发送请求。

第七步:
接受请求的gTLD服务器会查找并返回此域名对应的Name Server域名服务器的地址。
这个Name Server 通常就是你注册的域名服务器,例如在某个域名服务提供商申请的域名,那么这个域名的解析任务就由这个域名提供商的服务器来完成。

第八步:
Name Server域名服务器会查询存储的与和IP的映射关系表,根据域名得到IP,连同一个TTL值返回给DNS域名服务器。
TTL是 Time To Live的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。TTL是IPv4包头的一个8 bit字段。
注意:TTL与DNS TTL有区别。二者都是生存时间,但一个指ICMP包的转发次数(跳数),一个指域名解析信息在DNS中的存在时间。

第九步:
返回该域名对应的TTL值和IP,LDNS会缓存这个IP和域名的对应关系,缓存时间由TTL值控制。

第十步:
把解析结果返回给用户,用户根据TTL值缓存在本地的系统缓存中。域名解析结束。

在这里插入图片描述
第一步和第二步在本机的请求过程不在图中。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值