前置知识:三层DNS服务器是什么?
1.根域名服务器(.root)
根域名服务器一共有13种,a~m.root,但是总数有上千个,分布在世界各地,以任播的形式工作
root表示:根域名
2.顶级域名服务器(TLD)
顶级域名服务器较为常见的就是gtld
gtld表示:通用顶级域名(generic top level donamain)
internet address后面的是:IPv4地址
has AAAA address后面的是:IPv6地址
3.权限域名服务器
DNS解析过程:
注意:DNS一般都是用UDP进行传输的
(图片取自b站up技术蛋老师)
1.流程:
1.浏览器携带URL(www .juejin.cn)向DNS客户端(解析器)发送解析请求
2.DNS客户端向本地DNS服务器转发解析请求,注意:若本地DNS服务器有缓存,则直接返还IP地址
3.本地DNS服务器查询有哪些根域名服务器【发送 .】 然后本地DNS服务器向其中一个根域名服务器(.)询问IP地址【发送 .cn】
4.根域名服务器(.)返还顶级域名服务器的(.cn)地址
5.本地DNS服务器向顶级域名服务器(.cn)询问IP地址【发送 juejin.cn】
6.顶级域名服务器(.cn)返还权限域名服务器(juejin.cn)的地址
7.本地DNS服务器向权限域名服务器(juejin.cn)询问IP地址【发送 www .juejin.cn】
8.权限域名服务器(juejin.cn)返还IP地址
9.本地DNS服务器缓存IP地址,并发送给DNS客户端
10.DNS客户端将IP地址发送给浏览器
2.递归:
解析器与本地DNS服务器采用的是递归的方式——解析器传递请求,本地DNS服务器归还结果
传递——即以上过程的第2步
归还——即以上过程的第9步
3.迭代:
本地DNS服务器与三层域名服务器采用的是迭代的方式——按顺序一步一步获得IP地址,即以上过程的第3-8步