中国设立域名根服务器有什么影响

最近一条新闻刷屏:

根据工信部的公告,工信部同意中国互联网络信息中心设立域名根服务器(F、I、K、L根镜像服务器)及域名根服务器运行机构,负责运行、维护和管理编号分别为JX0001F、JX0002F、JX0003I、JX0004K、JX0005L、JX0006L的域名根服务器。

此时各种主流媒体发声,标题直指不再受制于人!中国布局4台域名根服务器 。也有一些大V认为网页搭梯子翻墙的日子一去不复返了。实际上对普通民众有何影响,且看本文。

根据CNNIC中国互联网信息中心的报道显示,中国此次设立根镜像服务器,是同全球其它12个根镜像服务器运营公司合作的。
Screen Shot 2019-06-29 at 10.42.52.png

全球13个根服务器以及12个运营方如下:
Screen Shot 2019-06-29 at 10.50.33.png

##这里有人会问根域名服务器和我访问一个网站有什么关系?
如果你访问的网站只是一个IP地址或者IP+端口号那样的,就用不到解析,因为那是全球唯一的,但是现如今网站的部署绝大多数都是分布式的,一个域名根据地域、业务负载等等因素为解析到不同的物理服务器、虚拟机或服务器集群上去。对外呈现的就是你访问一个域名,它被解析成某个IP。具体流程可以看下图,这张图和流程示意来自AWS。

how-route-53-routes-traffic.png

 1. 用户打开 Web 浏览器,在地址栏中输入 www.example.com,然后按 Enter 键。 
 2. www.example.com的请求被路由到 DNS 解析程序,这一般由用户的 Internet 服务提供商 (ISP) 进行管理,例如有线 Internet 服务提供商、DSL 宽带提供商或公司网络。 
 3. ISP 的 DNS 解析程序将 www.example.com 的请求转发到 DNS 根名称服务器。 
 4. ISP 的 DNS 解析程序再次转发 www.example.com 的请求,这次转发到 .com 域的一个 TLD 名称服务器。.com 域的名称服务器使用与 example.com 域相关的四个 Amazon Route 53 名称服务器的名称来响应该请求。 
 5. ISP 的 DNS 解析程序选择一个 Amazon Route 53 名称服务器,并将 www.example.com 的请求转发到该名称服务器。
 6. Amazon Route 53 名称服务器在 example.com 托管区域中查找 www.example.com 记录,获得相关值,例如,Web 服务器的 IP 地址 (192.0.2.44),并将 IP 地址返回至 DNS 解析程序。 
 7. ISP 的 DNS 解析程序最终获得用户需要的 IP 地址。解析程序将此值返回至 Web浏览器。DNS 解析程序还会将example.com 的 IP 地址缓存 (存储) 您指定的时长,以便它能够在下次有人浏览 example.com 时更快地作出响应。有关更多信息,请参阅存活期 (TTL)。 
 8. Web 浏览器将 www.example.com 的请求发送到从 DNS 解析程序中获得的 IP 地址。这是您的内容所处位置,例如,在 Amazon EC2 实例中或配置为网站终端节点的Amazon S3 存储桶中运行的 Web 服务器。
 9. 192.0.2.44 上的 Web 服务器或其他资源将 www.example.com 的 Web 页面返回到 Web 浏览器,且 Web 浏览器会显示该页面。

上面的流程看起来有点难懂,概括一下:你访问www.baidu.com会在根域名服务器查到com顶级域名的解析服务器,再在com后缀的解析服务器那里找baidu.com这种二级域名的解析服务器,再接着在上面的解析服务器查找www.这种三级域名的解析记录,此时返回的可能是A记录也可能是CNAME。A记录就是具体的IP地址,CNAME是其它域名作为别名。

##此外为了深入研究也可以用这些命令一看究竟:
###dig ns 可以看到有13个root server:
Screen Shot 2019-06-29 at 11.14.47.png

###dig ns com 可以看到负责解析全球顶级域名com的解析服务器:
Screen Shot 2019-06-29 at 11.17.48.png

###dig ns baidu.com @l.gtld-servers.net 可以看到在负责解析com的L域名解析服务器上有哪些DNS server负责解析baidu.com
Screen Shot 2019-06-29 at 11.26.08.png

看到这里ns2.baidu.com,其实像百度这样的大厂自家少不了搭个dns服务器来解析自己。再往下看
###dig ns www.baidu.com @ns2.baidu.com 看看www.baidu.com被解析到哪里了。
Screen Shot 2019-06-29 at 11.28.10.png
有一条CNAME记录解析到www.a.shifen.com。而这个shifen.com还有不同的dns服务器。

如果为了方便观察解析过程经过哪些域名解析服务器也可以用此命令dig +trace www.baidu.com,和上面说的流程一致的。
Screen Shot 2019-06-29 at 11.42.54.png

###当然后如果你想直接知道这个www.baidu.com被解析到哪个IP了,可以用下面的命令:
dig a www.baidu.com,就是查看A记录,当你去ping时所获取的IP也应该是包含在上面dig出来的IP中的。

Screen Shot 2019-06-29 at 11.49.39.png

这里也许会有人说,既然知道某网站被墙,那我查到它的真实IP,然后加到hosts里不就没事了? 实际上这种情况下IP都可能是没法访问得通的,不信你试试curl ip 。google就是个很好的例子,你可以在hosts里加入真实ip映射,不需要上层dns解析,但是ip都不通,假如在墙外服务器运行下curl ip,可能就是不一样的响应代码如302重定向或200了。

##回到上面的话题,中国设立那几个根镜像域名服务器有哪些影响?以下是我个人观点

  1. 部分全球顶级域名如com/net DNS解析可能会被深度污染,当然这个影响范围可能还会是部分敏感的网站、IP。类似于大陆访问不了国外、国外访问不了国内这种大局域网。
  2. 对于在用SS、V2Ray等访问外界的同学来说,影响不大,只要你的VPS或代理服务器稳定运行,IP可以被国内访问就行,因为你访问某网站时根据GFW规则,有些网站采用直连,有些则通过中间代理流量出去,中间的代理实际上做了这层解析。当然,如果在敏感时期代理IP被墙的风险还是有的,因为大部分云服务器厂商的公网IP段都可以被查到。
  3. 对于普通民众而言,DNS污染意味着你访问WWW要么是404、要么是被和谐后就看看那些网址导航中的网址就行了。
  4. 对于开篇媒体的标题而言,不受制于人确属言之凿凿。因为这些镜像根域名服务器都告诉你去哪解析了com/net等这些域名了!换言之就是你访问google.com, 我告诉你com在某公司的解析服务器上解析,google.com在某公司的服务器上解析,最终返回的IP就是一个不能访问的IP。
  5. 有利的影响不言而喻,加快顶级域名的解析,原来几十上百毫秒的解析时间如果缩短到个位数,那无疑上网速度又快了一步,电子商务、大数据、人工智能等等产业又朝前迈进了一步。另外DNS被国外污染或劫持的风险也会降低,等等。