曾经写过一个答案,两年之后的今天当再次看到那个答案时,发现并不是很满意。遵循着一贯的追根溯源的态度,查阅了多如牛毛的资料,最终顺藤摸瓜找到了问题的答案,这个答案依然不完美,也许有一天依然需要更新。
以上官方文献清清楚楚表明,最初的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