曾经写过一个答案,两年之后的今天当再次看到那个答案时,发现并不是很满意。遵循着一贯的追根溯源的态度,查阅了多如牛毛的资料,最终顺藤摸瓜找到了问题的答案,这个答案依然不完美,也许有一天依然需要更新。

以上官方文献清清楚楚表明,最初的DNS域名查询默认使用UDP协议,而使用UDP传输的DNS

查询响应(Query Response)

报文,不希望任何形式的分片。换句话说,要求使用唯一的UDP报文传输DNS响应。

上文提到的任何形式的分片,包括DNS应用层的分片、以及IP层的分片。前者的分片只会造成DNS报文

消息作废(Corrupted),

IP的分片同样无法接受,因为那个时候很多原始的主机不具备IP分片的

重组(Reassemble)。

再来回顾一下当时的互联网环境:

绝大多数的网络接口类型支持IP报文≥576 字节无需分片自由通行

,考虑到以上诸因素,IETF决定将DNS报文体限制在512字节。每一个根域名服务器占用32字节,其中包括

根域名的名称、IP地址、TTL(Time To Live)

等参数。

13根域名服务器一共占用416字节,剩余的96字节用于包装DNS报文头以及其它协议参数。所以从空间上来说,没有多余的空间容纳第14个根域名服务器的32字节。

13个根域名服务器列表

容易被大众误解的是,这13个根域名服务器并不等于13台物理服务器,而是代表着13个全球IP地址,由12个机构来管理,其中美国最大电信运营商Verizon管理两个根域名全球IP地址。

截至到今天为止,全球一共有996台服务器实例(Instances),遍布5大洲4大洋。

既然根域名服务器只有13个全球IP,而物理服务器却有996台,到底怎么分配的?

BGP泛播技术(Anycast)

Verizon

管理的“

IPv4:

198.41.0.4

”为例,在全球一共分布在28个站点,每个站点的服务器都使用“

198.41.0.4

”这个全球IP。

IP地址在互联网上重复使用,会不会有什么问题?

记得我在讲企业局域网的时候,着重强调IP地址要唯一,不允许有重复使用IP地址的情况发生。

但是,在互联网上不同站点可以使用相同的IP地址,只要使用方是IP地址的合法使用者。

“198.41.0.4”就会在28个站点,通过BGP路由协议,28次扩散到Internet路由表。

全球的主机究竟挑选哪个“198.41.0.4”来使用呢?

当然是距离自己最近的,用BGP的专业术语表达就是

最优路径

泛播技术有哪些优点?

根域名服务器特别重要,曾经有黑客集中攻击它,差一点就成功了,因为13个服务器中某些依然没有被打趴下,源于服务器的全球式分布。

一朝被蛇咬,十年怕草绳。

互联网管理机构发现对付DDoS攻击最有效的方法,就是分布式部署根域名服务器

。于是,使用了泛播技术,全球有了996台实例。

如果有一天996台不够用,可以添加任意多台服务器,因为全球IP可以重复使用。

攻击方可以打趴其中的几十台、甚至几百台,但是永远打不趴所有台!

如果喜欢这篇文章,请转发给您喜欢的朋友阅读,谢谢

1.《域名服务器 为何根域名服务器只有13个?》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《域名服务器 为何根域名服务器只有13个?》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/344880.html