什么是DNS?
Domain Name System 域名系统,因特网上作为域名和IP地址相互映射的系统,能够使用户更方便的访问互联网。
应用场景:
浏览器访问网站,服务入口地址以域名形式对外暴露;
域名访问方案:
Host文件、DNS域名解析系统;
Host文件:/etc/hosts

特点:
Key:Value的方式,终端保存本地,访问速度快。同时,本地变更速度慢,host文件越来越大,没有统一的命名规范,主机名冲突,维护映射关系代价高。主要应用于测试环境。
DNS域名解析系统:

特点:
基于域名的命名,分为:域名和子域名;数据库存储结构,分散。

所有域名记录由DNS服务器集群存储,用户终端不用存储所有的域名->IP映射,不再需要hosts文件,规定了域名的命令规则,保证了主机名字不会重复。
域名结构:
根、顶级域、二级域、三级域、四级域

DNS服务器:
根服务器、顶级域名服务器、权威域名服务器;

DNS解析过程:
1、迭代查询
Local DNS向根发起请求,Local DNS向顶级域名DNS发起请求,Local DNS向二级域名DNS发起请求不断的迭代。

2、DNS递归查询

DNS资源记录:DNS数据库中每一个条目称作为一个资源记录(ResourceRecord,RR),说白了就是一条解析记录;
| 标题 | 介绍 |
| owner | 指示拥有资源记录的DNS域名 |
| TTL | 指明其它DNS服务器在期满放弃该记录信息之前对其缓存多长时间 |
| CLASS | IN(Internet类) |
| TYPE | 资源记录类型 |

DNS协议:
UDP协议:UDP两个包、TCP开销大(3次握手4次挥手)

市面上DNS产品如何选型:

DNS的測試工具:DNS Benchmark
https://www.grc.com/dns/benchmark.htm,软件内部已经收集到的近5K个DNS全部扫描一遍,留下最快的50个。

Cached Name:表示从被查询的DNS服务器本地缓存查询的结果。
Uncached Name:表示从被查询的DNS服务器本地缓存不能获得查询结果,服务器向另外的DNS服务器查询的结果。
DotCom Lookup:查询.com域名的结果
Min,Max,Avg:分别表示最小,最大和平均查询时间。
Std.Dev:随机抽取地址的查询时间。
Reliab%:DNS服务器查询总量/成功的百分率。




