文章目录
- 解析流程
一,域名系统概述
域名系统dns是互联网使用的命名系统,用来把便于人们使用的机器名字转为IP地址
二,互联网的域名结构
互联网采用了层次树状结构的命名方法。
任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。
域名的结构由标号序列组成,各标号之间用点隔开:
各标号分别代表不同级别的域名。
域名只是个逻辑概念,并不代表计算机所在的物理地点。
变长的域名和使用有助记忆的字符串,是为了便于人来使用。而 IP 地址是定长的 32 位二进制数字则非常便于机器进行处理。
域名中的“点”和点分十进制 IP 地址中的“点”并无一一对应的关系。点分十进制 IP 地址中一定是包含三个“点”,但每一个域名中“点”的数目则不一定正好是三个。
1.顶级域名
顶级域名分为:
- 国家顶级域名
- 通用顶级域名
- 基础结构顶级域名
国家顶级域名
通用顶级域名
基础结构顶级域名
2.域名树状图
三,域名服务器
域名服务器分为:
- 根域名服务器
- 顶级域名服务器
- 权限域名服务器
- 本地域名服务器
1.根域名服务器
根域名服务器是最高层次的域名服务器,也是最重要的域名服务器,所有根域名服务器都知道所有顶级域名服务器的域名和IP地址,所有本地域名服务器只要对互联网上的任何一个域名进行解析,如果自己无法解析(第一次访问)就会求助根域名服务器,如果所有的根域名服务器瘫痪,则整个互联网DNS系统就无法工作
全世界有13个根域名服务器,编号从a.root-servers.net一直到m.root-servers.net。
2.顶级域名服务器(TLD服务器)
顶级域名从服务器负责管理在该顶级域名服务器注册的所有二级域名,当收到DNS请求时,给出相应的回答,可能是最后的查询结果,也可能是下一步要查找的服务器的IP地址
3.权限域名服务器
一个服务器所负责管辖的范围是区,各单位根据具体情况来划分,在一个区中,所有节点是相连通的,每一个区都有一个域名服务器,用来保存区中所有主机域名到IP地址的映射
4.本地域名服务器
本地域名服务器其实不属于域名服务器层次结构,但是是非常重要的,当一个主机发出DNS查询请求时,请求报文会发送给本地域名服务器,再由本地域名器服务器查看当前高速缓存是否有该IP地址域名映射,没有则将报文发给根域名服务器
5.域名解析
递归查询
主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。
迭代查询
本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。
解析流程
- 查看浏览器缓存,本地缓存,host文件。如果有的话,就可以直接使用;
若是没有解析,主机就会在本地网络中发起一个DNS解析请求,并将该请求发送给本地的域名服务器; - 当本地的域名服务器收到这个请求的时候,就会先查看本地的缓存,若是有该项纪录,就直接返回;
- 若是没有该项纪录,本地的域名服务器就会把请求发送给根域名服务器,根域名服务器返回给本地域名服务器一个查询域(子域)的主域名服务器的地址;
- 本地服务器向返回的地址发送请求,然后接受请求的服务器查看自己的缓存,如果没有该项纪录,则返回下级子域的主域名服务器的地址;
- 就这样一直查询,直到解析完毕;
- 本地域名服务器将结果保存在缓存中,以备以后使用