顶级域名为什么不包括美国

核心提示今天聊个有意思的话题。世界上共有 13 个根域名服务器,其中主根域名服务器是在美国。那美国有没有可能通过根域名服务器掐断中国的互联网呢?在说结论之前,我们先来了解:DNS到底是怎么工作的?为什么根域名服务器只有 13 台?美国可以让中国从互

今天说一个有趣的话题。

全球共有13个根域名服务器,其中主根域名服务器在美国。

美国有没有可能通过根域名服务器切断中国的互联网?

在说结论之前,我们先了解一下:

DNS到底是怎么工作的?

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

美国能让中国从互联网上消失吗?

DNS到底是怎么工作的?

上网时,我们在浏览器中输入的是网站的域名,而不是web服务器的IP地址。

原因很简单。域名和ip地址的关系就像我们的手机通讯录一样。对方的名字用来对应其手机号码。这样每次打电话,直接在通讯录里查名字就能找到对方的手机号,而不用去记忆对方的手机号。

IP地址和手机号是一长串数字,很难记住。

所以为了让网民更舒服的上网,我们设置了一个DNS服务器,也就是域名解析服务器,可以通过我们输入的域名找到Web服务器的IP地址,然后浏览器向Web服务器发出请求。

域名之间用句号分隔,比如www.server.com,句号代表不同级别的界限,右边的位置表示级别越高。

根域在顶级,com顶级域在其下,server.com在其下,所以域名的层级关系类似于一个树形结构:

根DNS服务器

顶级域DNS服务器

权威DNS服务器

其实我们的电脑并不是直接访问根域名服务器,而是访问我们的“本地DNS服务器”,它访问根域名服务器,在解析域名的时候是一个递归的过程。

域名解析是什么样的?

现在举一个具体的例子,比如客户端请求www.server.com的域名,解析域名的过程如下:

首先,客户端将发送一个DNS请求,询问www.server.com的IP是什么,并将其发送到本地DNS服务器。

本地域名服务器收到客户端的请求后,如果缓存中的表能找到www.server.com,就会直接返回IP地址。如果没有,本地DNS会问其根域名服务器:“老板,能告诉我www.server.com的IP地址吗?”根域名服务器是最高级别。不直接用于域名解析,但是可以指出一条路。

收到本地DNS的请求后,根DNS发现后缀是。并说,“www.server.com的域名属于。com。”我会给你地址。com顶级域名服务器,所以可以问一下。"

本地DNS收到顶级域名服务器地址后发起请求,问“第二,能告诉我www.server.com的IP地址吗?”

顶级域名服务器说:“我把负责www.server.com的权威DNS服务器地址给你,你可以去问。”。

本地DNS随后转向权威DNS服务器,询问“第三,www.server.com对应的IP是什么?”Server.com的权威DNS服务器,是域名解析结果的原始来源。为什么叫权威?这是我的域名。我说了算。

权威DNS服务器查询后会通知本地DNS对应的IP地址X.X.X.X。

本地DNS将IP地址返回给客户端,客户端与目标建立连接。

至此,我们已经完成了DNS解析过程,我画了一个整个过程的示意图:

域名解析的过程挺有意思的。整个过程类似于我们日常生活中找人问路的过程,只指路不带路。

每次解析一个域名需要这么多步骤吗?

不,当然,有个储藏室。

浏览器会先检查是否有这个域名的缓存。如果有,就直接返回。如果没有,它会询问操作系统,操作系统也会检查自己的缓存。如果有,就直接返回。如果没有,它将转到hosts文件并询问“本地DNS服务器”。

为什么本地DNS服务器知道根域名服务器的IP地址?

全球只有13个根域名服务器。这13个根域名服务器以英文字母A到M依次命名,域名格式为“letter。root-servers.org”,其IP地址基本不会改变。

所以“本地DNS服务器”会内置一个根域名服务器的配置文件,读取这个配置文件就可以找到根域名服务器的IP地址。

下图是13个根域名服务器的部分配置文件:

有些同学可能会说这是静态配置文件。如果根域名服务器的IP地址改变了,怎么知道?

其实“本地DNS服务器”第一次启动时,并不会先读取这个静态配置文件,而是会先检查根域名服务器的IP列表。这个查询过程中使用的传输协议是UDP。

另外可以看出,上图中所有记录的TTL值为3600000秒,相当于1000小时。也就是说,每1000小时就会查询一次根域名服务器的列表。

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

严格来说,全球IPv4协议的根域名服务器有13个,而IPv6的根节点超过13个。

注意,这13个数字并不代表背后只有13台真实的物理服务器。这13个号码对应13个IP地址A-M 13个号码A-M,采用任播技术,相同号码的根服务器使用相同的IP。

Anycast最初由RFC1546提出,主要用于DNS根服务器。具体解释如下:

任播是指在IP网络上通过一个IP地址识别一组提供特定服务的主机。服务访问者不关心哪个主机提供服务,访问这个地址的消息可以通过IP网络路由到“最近的”服务器。这里的“最近”可以指路由器跳数、服务器负载、服务器吞吐量、客户端和服务器之间的往返时间、链路可用带宽等特征值。

为什么只有13个?

正如我前面提到的,用于查询根域名服务器的IP列表的传输协议是UDP。

当UDP包的大小超过MTU时,会在IP层进行分片,但只有第一个分片有UDP头字段。由于其他片段没有UDP头字段,所以能否通过防火墙完全看防火墙的脸色,因为防火墙可能会检查端口号。

因此,最好的通信效果是避免UDP包大小超过MTU大小,防止IP层出现碎片。

大部分互联网网络接口的MTU >= 512,所以RFC1035规定DNS报文要控制在512字节以内。

查询根域名服务器信息的DNS报文,必须能够保存根域名服务节点的所有基本信息。因为512字节是有限的,所以根域名服务节点必须是有限的。

计算的细节我就不介绍了。最终,512字节大小的DNS报文可以容纳14个根域名服务器节点的信息。但是当时的人觉得不能全用,所以规定在13个根域名服务器。

美国能让中国从互联网上消失吗?

我们知道,有13个根域名服务器。

其中一台是主根域名服务器,位于美国,另外12台是副根域名服务器,其中9台位于美国,2台位于欧洲,位于英国和瑞典,1台位于亚洲,位于日本。

如你所见,我们在中国没有根域名服务器,主根域名在美国,由ICANN管理。

如果美国终止决议和实施。cn后缀,会不会造成中国的网络瘫痪?

先说结论。这个不用担心。

虽然根域名服务器都在国外,但是我们在国内已经有了很多“镜像根域名服务器”,也就是我们会将与主根域名服务器的数据同步到国内的根域名服务器,也就是说我们已经备份了根域名服务器的常用记录,相当于拥有了自己的根服务器。

即使美国删除。cn记录来自主根域名服务器,它不怕,因为我们维护了根域名服务器的镜像,而且我们可以自己控制镜像的内容,也可以不同步的删除。cn记录。

你还记得谁在访问根域名服务器吗?就是本地DNS服务器,这个本地DNS服务器一般由国内网络运营商管理。只要向中国的根域名服务器发出的请求实际上是由这些镜像完成的。对于中国用户来说,对roots的请求一般不会去美国。

所以国内用户基本不受影响。但是,其他国家可能无法使用访问网站。cn后缀。

PS:美国以前也这么做过,终止了的申请和决议。iq,伊拉克顶级域名,导致所有带有。智商后缀和使伊拉克从互联网上消失。

 
友情链接
鄂ICP备19019357号-22