DNS协议

DNS服务器

在网络世界中,你肯定记得住网站的名称,但是很难记住网站的IP地址,因而也需要一个地址簿,就是DNS服务器。

由此可见,DNS在日常生活中多么重要。每个人上网,都需要访问它,但是同时,这对它来讲也是非常大的挑战。一旦它出了故障,整个互联网都将瘫痪。另外,上网的人分布在全世界各地,如果大家都去同一个地方访问某一台服务器,时延将会非常大。因而,DNS服务器,一定要设置成高可用、高并发和分布式的

于是就有了这样树状的层次结构。

image-20201114200828449

  • 根DNS服务器:返回顶级域DNS服务器的IP地址;

  • 顶级域DNS服务器:返回权威DNS服务器的IP地址;

  • 权威DNS服务器:返回相应主机的IP地址。

DNS解析流程

为了提高DNS的解析性能,很多网络都会就近部署DNS缓存服务器。于是,就有了以下的DNS解析流程。

  1. 电脑客户端会发出一个DNS请求,问 www.163.com的IP是啥,并发给本地域名服务器(本地DNS)。那本地域名服务器(本地DNS)是什么呢?如果是通过DHCP配置,本地DNS是由你的网络服务商,如电信、移动等自动分配,它通常在网络服务商的某个机房。
  2. 本地DNS收到来自客户端的请求。你可以想象这台服务器上缓存了一张域名与之对应IP地址的大表格。如果能找到www.163.com,它直接就返回IP地址。如果没有,本地DNS就回去问它的根域名服务器:“老大,能告诉我www.163.com 的 IP地址吗?”根域名服务器是最高层次,全球共有13套。他不直接用于域名解析,但能指明一条道路。
  3. 根DNS收到来自本地DNS的请求,发现后缀是 .com ,说 :“噢,www.163.com 啊,这个域名是由.com区域管理,我给你它的顶级域名服务器地址,你去问问它把。”
  4. 本地DNS转向问顶级域名服务器:“老二,你能告诉我www.163.com的IP地址吗?” 顶级域名服务器就是大名鼎鼎的比如.com、.net.、.org这些一级域名,它负责管理二级域名,比如163.com,所以他能提供一条更清晰的方向。
  5. 顶级域名服务器说:“我给你负责www.163.com 区域的权威DNS服务器的地址,你去问他应该能问道。”
  6. 本地DNS转向问权威DNS服务器:“您好,www.163.com对应的IP地址是啥?” 163.com的权威DNS服务器,它是域名解析结果的原出处。为啥叫权威呢?就是我的域名我做主。
  7. 权威DNS服务器查询后将对应的IP地址告诉本地DNS。
  8. 本地DNS再将IP地址返回客户端,客户端和目标建立连接。

image-20201114202816067