DNS解析流程

DNS 层次结构如下:

  • 根 DNS 服务器 :返回顶级域 DNS 服务器的 IP 地址
  • 顶级域 DNS 服务器:返回权威 DNS 服务器的 IP 地址
  • 权威 DNS 服务器 :返回相应主机的 IP 地址

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

1、电脑客户端会发出一个 DNS 请求,问 www.163.com 的 IP 是啥啊,并发给本地域名服务器 (本地 DNS)。那本地域名服务器 (本地 DNS) 是什么呢?如果是通过 DHCP 配置,本地 DNS 由你的网络服务商(ISP),如电信、移动等自动分配,它通常就在你网络服务商的某个机房。

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 地址 X.X.X.X 告诉本地 DNS。

8、本地 DNS 再将 IP 地址返回客户端,客户端和目标建立连接。

此文章为9月Day18学习笔记,内容来源于极客时间《趣谈网络协议》,推荐该课程。

相关推荐
s090713611 小时前
ZYNQ DMA to UDP 数据传输系统设计文档
网络协议·fpga开发·udp
hazy1k13 小时前
ESP32基础-Socket通信 (TCP/UDP)
c语言·单片机·嵌入式硬件·网络协议·tcp/ip·udp·esp32
xinxinhenmeihao14 小时前
爬虫为什么要用动态ip?动态IP在爬虫中起到哪些作用?
爬虫·网络协议·tcp/ip
特种加菲猫16 小时前
用户数据报协议(UDP)详解
网络·网络协议·udp
cccyi716 小时前
HTTP 协议详解:从基础到核心特性
网络协议·http·应用层
渡我白衣17 小时前
五种IO模型与非阻塞IO
运维·服务器·网络·c++·网络协议·tcp/ip·信息与通信
重启的码农18 小时前
enet源码解析(7): 跨平台套接字调用抽象层
c++·网络协议
特种加菲猫18 小时前
HTTP协议核心机制解析
网络·网络协议·http
zt1985q1 天前
外部访问 Python 搭建的 HTTP 服务器
运维·服务器·网络·windows·网络协议·http
熙客1 天前
HTTP Client介绍
网络·网络协议·http