为何根域名服务器只有13个

杀马特。学长 韩版系。学妹 提交于 2021-02-10 11:35:27

为何根域名服务器只有13个?

原文:来自 车小胖谈网络为何根域名服务器只有13个?

img

以上官方文献清清楚楚表明,最初的DNS域名查询默认使用UDP协议,而使用UDP传输的DNS查询响应(Query Response)报文,不希望任何形式的分片。换句话说,要求使用唯一的UDP报文传输DNS响应。

上文提到的任何形式的分片,包括DNS应用层的分片、以及IP层的分片。前者的分片只会造成DNS报文消息作废(Corrupted)IP的分片同样无法接受,因为那个时候很多原始的主机不具备IP分片的重组(Reassemble)。

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

img

绝大多数的网络接口类型支持IP报文≤576 字节无需分片自由通行,考虑到以上诸因素,IETF决定将DNS报文体限制在512字节。每一个根域名服务器占用32字节,其中包括根域名的名称IP地址、TTL(Time To Live)等参数。

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

13 个根域名服务器列表

img

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

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

img

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

BGP泛播技术(Anycast)

Verizon管理的“IPv4: 198.41.0.4”为例,在全球一共分布在28个站点,每个站点的服务器都使用“198.41.0.4”这个全球IP。

img

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

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

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

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

img

路由策略

全球的主机究竟挑选哪个“198.41.0.4”来使用呢?当然是距离自己最近的,用BGP的专业术语表达就是最优路径

泛播技术有哪些优点?

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

一朝被蛇咬,十年怕草绳。 互联网管理机构发现对付DDoS 攻击最有效的方法,就是分布式部署根域名服务器。于是,使用了泛播技术,全球有了996台实例。

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

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!