根服务器只能有13个是受当时的技术限制造成的,因为网络传输限制,必须让所有的根服务器数据能包含在一个512字节的UDP包中,所以根服务器只能限制在13个,并且每个服务器要使用字母表中的单个字母命名,这也是根服务器从A到M命名的原因。
一、什么是根服务器?为什么只能有13个?
根服务器主要用来管理互联网的主目录,全世界只有13台(这13台根域名服务器名字分别为“A”至“M”),1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。
所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务器、域名体系和IP地址等的管理,这13台根服务器可以指挥Firefox或Internet Explorer这样的Web浏览器和电子邮件程序控制互联网通信。
由于根服务器中有经美国政府批准的260个左右的互联网后缀(如.com、.xyz、.net、.较好等)和一些国家的指定符(如法国的.fr、挪威的.no等),美国政府对其管理拥有很大发言权。
根域名服务器是架构因特网所必须的基础设施。在国外,许多计算机科学家将根域名服务器称作“真理”(TRUTH),足见其重要性。换句话说——攻击整个因特网最有力、最直接,也是最致命的方法恐怕就是攻击根域名服务器了。
不过,这是IPv4时代的事了,现在在与现有IPv4根服务器体系架构充分兼容基础上,由下一代互联网国家工程中心牵头发起的“雪人计划”于2016年在美国、日本、印度、俄罗斯、德国、法国等全球16个国家完成了25台IPv6(互联网协议第六版)根服务器架设,事实上形成了13台原有根域名服务器+25台IPv6根域名服务器的新格局。
二、只有13台根域名服务器的说法是怎么来的?
这种说法源于DNS协议在不使用EDNS0和TCP协议时,通过UDP协议传输的DNS消息,最大长度需要限制在512字节,超出的部分会被截断。
当我们查询根域(.)的NS记录时,512字节只够返回包含13个根域名服务器的NS记录和A记录的响应。
为什么要限制DNS的消息长度呢?
历史遗留的问题,在DNS出现的年代,网络设备还无法处理长度很长的数据报。
另一方面,也是为了避免IP分片,在分片重组过程中,只要其中一个分片丢失,就会导致整个数据报无法被重组接收。
512字节只能容纳12台根域名服务器!
现在能容纳13台根域名服务器,是经过改进的。
1994年,全世界一共有9台根域名服务器,DNS响应已经十分接近512字节极限。
这9台DNS响应报文大小为389字节,假设一个新的根域名服务器域名长度为15字节,则需要占用11+15+16=42字节,(512-389)/42≈2.9台。
也就是说,非常多只能容纳9+3=12台根域名服务器。
后来,Bill Manning和Paul Vixie发起了重命名根域名服务器的域名的计划,将所有根域名服务器放在http://root-servers.net域下,这样就可以使用压缩标签节省空间。此时根域名服务器的数量上限增加至15台。
1997年IANA(互联网数字分配机构)增加了最后4台根域名服务器,虽然还有增加2台根域名服务器的空间,但为了方便未来进行扩展,ICANN(国际组织)保留了一些空间。
任播的应用
DNS是任播最成功的的应用,早在2002年,F根域名服务器就开始实行任播,往后几年里,其他根域名服务器也逐渐开始使用任播,到了今天,所有根域名服务器都部署在任播上,节点遍布全球。
至今,全球已经拥有1089个根域名服务器节点,由12个组织负责运营。
在我国,一共有26个根域名服务器节点,分别为:西宁市L;贵阳市K;郑州市L;武汉市L;北京市I、L、J、K、F;上海市L;杭州市F;香港特别行政区A、I、H、F、F、E、J;澳门特别行政区E、F;台北市I、E、F、F、K、L。
这些节点都是平等的,没有主次之分,所谓13台根域名服务器也就失去了它原来的意义。
根域名服务器的数量,一直受到国人的关注,是因为13台根域名服务器中,没有一台在中国,网络控制权掌握在其他国家手里十分危险,这是一个伪命题,根本不存在。
随着国家大力发展和推进第六代互联网协议(IPv6),安全问题已然不存在。IPv6根域名服务器中国一共部署了4台,1台主根,3台辅根,占全球IPv6根域名服务器的16%。