应用层 DNS Domain Name System 域名解析系统

在internet上域名与IP地址之间是一一对应关系的,
域名虽然便于记忆,但是机器之间只能相互认识IP地址,
他们之间的转换工作称为域名解析,
域名解析是需要专门的域名解析服务器来完成,DNS就是进行解析的服务器

 

浏览器DNS解析过程

浏览器解析域名一般包含以下步骤。

1.浏览器查询自身的DNS缓存。没找到继续。
2.浏览器向本机查询域名对应ip地址。windows操作系统的域名和IP的映射关系存在host文件中。没找到继续。
3.本机向本地的DNS服务器请求解析。本地的服务器一般指城市、公司,学校或者运营商的DNS。没找到继续。
4.本地的DNS服务器向根服务器发起解析请求,返回顶级国际域名服务器解析地址。继续。
5.本地的DNS服务器向顶级域名服务器地址请求解析,返回域名服务商的解析地址。继续。
6.本地的DNS服务器向域名服务商请求解析,得到对应的ip,告知浏览器。

 

DNS解析的递归查询和迭代查询:

客户端-本地dns服务端:这部分属于递归查询。
本地dns服务端---外网:这部分属于迭代查询。

解析DNS查询过程

假设www.abc.com的主机要查询www.xyz.abc.com的服务器ip地址。
知识点
1、hosts文件:以静态映射的方式提供IP地址与主机名的对照表,类似ARP表
2、域:abc.com是一个域,它可以划分为多个区域,如 abc.comxyz.abc.com
步骤

递归查询
第一步:在hosts静态文件、DNS解析器缓存中查找某主机的ip地址
第二步:上一步无法找到,去DNS本地服务器(即域服务器)查找,其本质是去区域服务器、服务器缓存中查找
第三步:本地DNS服务器查不到就根据‘根提示文件’向负责顶级域‘.com’的DNS服务器查询
第四步:‘根DNS服务器’根据查询域名中的‘xyz.com’,再向xyz.com的区域服务器查询
第五步:www.xyz.abc.com的DNS服务器直接解析该域名,将查询到的ip再原路返回给请求查询的主机

迭代查询

第一步:在hosts静态文件、DNS解析器缓存中查找某主机的ip地址
第二步:上一步无法找到,在DNS本地服务器(即域服务器)查找所有本层次的区域服务器
第三步:本地DNS服务器查不到就查询上一层次的所有区域服务器,以此类推直至根域名DNS服务器‘.’
第四步:到达根域名服务器后又向下查询,直至查到结果为止。
迭代查询与递归查询结合

递归查询需要经过逐层查询才能获得查询结果,当查询具有许多层次的DNS结构时效率很低,所以一般采用两者相结合的查询方式。

第一步:在hosts静态文件、DNS解析器缓存中查找某主机的ip地址
第二步:上一步无法找到,去DNS本地服务器(即域服务器)查找,其本质是去区域服务器、服务器缓存中查找
第三步:本地DNS服务器查不到就根据‘根提示文件’向负责顶级域‘.com’的根DNS服务器查询
第四步:根DNS服务器直接将其区域DNS服务器的ip地址返回给本地服务器,而不用再向xyz.com的区域服务器查询。
第五步:本地DNS服务器将结果返回给请求的主机