域名系统是最重要的互联网服务之一,没有它,我们将无法访问在线内容,甚至无法发送电子邮件。每当我们尝试连接到其他网站或在线服务时,根 DNS 服务器都会帮助我们的计算机找到并到达我们想要的地址。
DNS 根服务器是所有 DNS 的组成部分,因此也是 Internet 的组成部分,但关于它的信息并不多。
全球DNS根服务器为什么只有13台。
DNS协议的最初定义要从20世纪80年代末期开始算起,它使用了端口上的UDP和TCP协议。
UDP通常用于查询和响应,TCP用于主服务器和从服务器之间的区传送.遗憾的是,在所有UDP实现中能保证正常工作的最大包长是512字节,对于在每个包中必须含有数字签名的一些DNS新特性(例如,DNSSEC)来说实在是太小了。
512字节的限制还影响了根服务器的数量和名字。
要让所有的根服务器数据能包含在一个512字节的UDP包中,根服务器只能限制在13个,而每个服务器要使用字母表中的单个字母命名。
以太网数据的长度必须在46-1500字节之间,这是由以太网的物理特性决定的。
事实上,这个1500字节就是网络层IP数据包的长度限制,理论上,IP数据包最大长度是65535字节。
这是由IP首部16比特总长度所限制的,去除20字节IP首部和8个字节UDP首部,UDP数据包中数据最大长度为65507字节。
在Internet数据传输中,UDP数据长度控制在576字节(Internet标准MTU值),而在许多UDP应用程序设计中数据包被限制成512字节或更小。这样可以防止数据包的丢失。
许多解析器首先发送一条UDP查询,如果它们接收到一条被截断的响应,则会用TCP重新发送该查询。
这个过程绕过了512字节的限制,但是效率不高。您或许认为DNS应该避开UDP,总是使用TCP,但是TCP连接的开销大得多。
一次UDP名字服务器交换可以短到两个包:一个查询包、一个响应包。一次TCP交换则至少包含7个包:三次握手初始化TCP会话、一个查询包、一个响应包以及最后一次握手来关闭连接。
如上图所示这13台根服务器可以指挥浏览器(比如.internet explorer)和电子邮件程序(比如.Firefox)以控制互联网通信。由于根服务器中有经美国政府批准的260个左右的互联网后缀(如.com、.net等)和一些国家的指定符,美国政府对其管理拥有很大发言权。这使得我们显得相当被动。
中国用户在访问带有.com等后缀的国外网站时,大多仍需要经过国外的域名服务器进行解析,中美海底光缆一旦发生断裂,便会发生解析问题,中国东部、太平洋西海岸地区,属于地震多发地带,再加上台风等环境因素影响,形势显得更加严峻。
一位互联网资深专家解释说,美国控制了域名解析的根服务器,也就控制了相应的所有域名,如果美国不想让人访问某些域名,就可以屏蔽掉这些域名,使它们的IP地址无法解析出来,那么这些域名所指向的网站就相当于从互联网的世界中消失了。比如,2004年4月,由于“.ly”域名瘫痪,导致利比亚从互联网上消失了3天。
注意,13台中除了欧洲两台、日本一台之外,其余全部位于美国。也就是说,只要美国愿意,他就可以切断全世界的网络。虽然网络是无国界的,但服务器是有国界的。
总结
为了保证全球互联网的稳定性和高效性,域名系统(DNS)的根服务器数量被限制为13台。这是因为DNS的设计考虑到了对互联网的全球拓展和扩展的需要,以及对高可用性和灾难恢复的要求。通过将根服务器数量限制为13台,可以确保互联网的快速扩展和可靠性。