哪怕你不了解DNS协议,一定也听说过“根域名服务器只有十三台”的说法。这十三台根域名服务器分布在美国、英国、瑞典和日本,这些根域名服务器如果出现问题,全球四十多亿互联网用户将无法上网。
有些小伙伴会觉得很奇怪,为什么根域名服务器只能有13台?根域名服务器都在别人那儿太危险了,不能在中国增加一台吗?
13台字节
只有13台根域名服务器的说法是怎么来的?
这种说法源于DNS协议在不使用EDNS0和TCP协议时,通过UDP协议传输的DNS消息,最大长度需要限制在字节,超出的部分会被截断。
当我们查询根域(.)的NS记录时,字节只够返回包含13个根域名服务器的NS记录和A记录的响应。
为什么要限制DNS的消息长度呢?
历史遗留的问题,在DNS出现的年代,网络设备还无法处理长度很长的数据报。
另一方面,也是为了避免IP分片,在分片重组过程中,只要其中一个分片丢失,就会导致整个数据报无法被重组接收。
字节只能容纳12台根域名服务器!
现在能容纳13台根域名服务器,是经过改进的。
年,全世界一共有9台根域名服务器,DNS响应已经十分接近字节极限。
这9台DNS响应报文大小为字节,假设一个新的根域名服务器域名长度为15字节,则需要占用11+15+16=42字节,(-)/42≈2.9台。
也就是说,最多只能容纳9+3=12台根域名服务器。
后来,BillManning和PaulVixie发起了重命名根域名服务器的域名的计划,将所有根域名服务器放在