DNS NoteBook

DNS(Domain Name System)

原文见我的Github,欢迎批评指正,共同进步

这篇文章属于DNS笔记系列,但是不会介绍最基本的DNS知识,较偏向DNS细节和进阶,但是会包含基础的DNS原理,新手可以阅读,但可能会有一些困难,希望本文能带给大家些许帮助.

1. Root DNS Server

根DNS服务器属于DNS系统中最重要的基础设施,负责最基本的解析工作,根DNS服务器全球有13台,以A~M字母命令,为方便管理,其域名格式为字母.root-servers.net,中国地区没有根DNS服务器,大部分根DNS服务器在美国,亚洲唯一的一台根DNS服务器在日本,东京,由WIDE Project进行管理,全球的root-server分布情况见 IANA,所有的根DNS服务器都是以维护一份根域文件(Root Zone file,文件命名为root.zone)来返回*域名对应的权威服务器(包括通用*域和国家*域,很多大型公司都有自己的TLD,比如IBM等),这份根域文件文件大小为2MB左右,截至到2020年2月4日,共记录有1516个*域(数据来自 IANA),没有被收录的*域不会参与DNS解析过程.

2. Root DNS 镜像

为了分担全球DNS解析的压力,提供更快的服务,现在通过任播技术架设DNS镜像服务器来分担全世界的DNS解析服务,所以现在实时运行的Root DNS Server数量远远大于13台,截至2020年2月5日,全球共有1039台Root DNS Server在为全世界的DNS解析提供服务.

来说说中国的Root DNS Server,截止时间2020年2月5日在 IANA 官网所展示的中国包含的Root DNS Server镜像L, K, J, F, I, E, A, H这八种,主要分布在北京市(5,J,F,K,L,I),香港(9,I,A,J,H,(3,F),(2,E))和台北市(6,E,I,L,K,(2,F)),其中杭州(1,F),上海(1,I),武汉(1,L),郑州(1,L),贵阳(1,K)和西宁市(1,L).
DNS NoteBook
图中最下面的数字16包含了越南首都河内(Hanoi)的一台根DNS镜像服务器,所以数量应为15,目前中国的 Root DNS Mirror Server数量应该为26台.
DNS NoteBook
之前因为*境内多次的DNS污染影响到了外网,所以*境内的Root DNS Server曾经被关停一段时间,不过目前现在*境内仍有F、I、J、L这4个根域的6台DNS镜像(L有三台镜像)在提供服务.

3. 任播 anycast

根DNS镜像采用任播技术实现了对全球13台根DNS服务器的扩充,什么是任播呢,简单来说就是每一个地址对应一群接收节点,不同于广播和多播的是,每一次发送只允许其中一个链路上最优结点接收发送端发来的消息.
DNS NoteBook
任播的好处有负载均衡,提高冗余性,安全性,用户层面能提高客户端的响应速度.

4. Root Zone 文件

Root Zone文件记录了全球的*域的DNS信息,通过Http协议可以在 Internic 下载Root Zone文件,同时也可以通过FTP下载,其格式如下(部分为例)

TLD TTL Internet Record Type Record Value
dnsc.ad. 172800 IN A 194.158.74.10
dnsc.ad. 172800 IN AAAA 2a02:8060:32fa:0:0:0:0:b
dnsm.ad. 172800 IN A 194.158.74.9
dnsm.ad. 172800 IN AAAA 2a02:8060:32fa:0:0:0:0:a
adac. 172800 IN NS a.nic.adac.
adac. 172800 IN NS b.nic.adac.
adac. 172800 IN NS c.nic.adac.
adac. 172800 IN NS d.nic.adac.

更多DNS记录类型以及相关规定可在 RFC1035 进行查询

5. waitting