图片
域名解析的过程蛮有意思的 , 整个过程就和我们日常生活中找人问路的过程类似 , 只指路不带路 。
那是不是每次解析域名都要经过那么多的步骤呢?
当然不是了 , 还有缓存这个东西的嘛 。
浏览器会先看自身有没有对这个域名的缓存 , 如果有 , 就直接返回 , 如果没有 , 就去问操作系统 , 操作系统也会去看自己的缓存 , 如果有 , 就直接返回 , 如果没有 , 再去 hosts 文件看 , 也没有 , 才会去问「本地 DNS 服务器」 。
为什么「本地 DNS 服务器」会知道根域名服务器的 IP 地址?
世界上根域名服务器只有 13 台 , 这 13 台根域名服务器以英文字母 A 到 M 依序命名 ,
网域名称格式为“字母.root-servers ” , 而且它们的 IP 地址基本不会变化 。
所以 , 「本地 DNS 服务器」会内置一个根域名服务器的配置文件 , 通过读取这个配置文件就能找到根域名服务器的 IP 地址 。
下面这个图就是 13 台根域名服务器的配置文件的部分内容:
可能有的同学会说 , 这个是静态的配置文件 , 如果某一个根域名服务器的 IP 地址改变了 , 要怎么知道的呢?
其实 , 「本地 DNS 服务器」首次启动时 , 并不会先读这份静态的配置文件 , 而是会先去查根域名服务器的 IP 列表 , 这个查询过程使用的传输协议是 UDP 。
另外 , 可以看到上图中所有记录的 TTL 值是 3600000 秒 , 相当于 1000 小时 。也就是说 , 每 1000 小时会去查询一次根域名服务器的列表 。
为什么根域名服务器只有 13 台?
严格来讲 , 是世界上共有 13 个「IPv4协议」的根域名服务器 , 而 IPv6的根节点不止 13 个 。
注意 , 这 13 个并不是表示背后只有 13 台真正的物理服务器 , 这 13 个对应的是 13 个 IP 地址 , 对应了 A-M 13 个编号 。通过任播(Anycast)技术 , 编号相同的根服务器使用同一个 IP(类似一个集群) 。
推荐阅读
- dedakj足疗机使用说明 德国dedakj足疗机和美国迪斯足疗机
- 除美国外唯一一艘核动力航母 美国海军建造的世界上第一艘核动力航空母舰
- 继承70亿的中国人李春平现在怎样 李春平娶了美国好莱坞富婆,到底继承了多少遗产
- 美国黑帮人数 整个国家10%的人口都是黑帮成员
- 美国51区曾经出现外星人 神秘的51区真的有外星人吗
- 美国最新隐形战略轰炸机B21 美国下一代轰炸机b21
- 美国打击阿富汗死亡多少人 联合国称上半年阿富汗平民死伤数猛增
- 美国炸毁南斯拉夫大使馆结果 当年南斯拉夫大使馆被炸得秘密
- 美国总统一个比一个差 美国历史上最差的一位总统
- 中国与美国之间的大国竞争 一个国家的最大优势,国家间最根本的竞争