DNS解析过程详解

一、基本概念
     DNS是域名系统DomainNameSystem 的缩写,是因特网一项核心的服务。他作为可以将域名和ip地址互相映射的一个分布式数据库,能够使人更加方便的访问互联网。

域名解析

域名对应ip

www.baidu.com 这个域名对应ip ----183.232.231.174

    递归查询:是指DNS服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。如果DNS服务器本地没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结果提交给用户。( 根服务器不会开递归查询。会开迭代查询)

    迭代查询:是指DNS服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台DNS服务器的地址,用户再向这台DNS服务器提交请求,这样依次反复,直到返回查询结果。

   TLD Server :英文全称Top-level domains Server,指顶级域名服务器。

   TTL:英文全称Time To Live ,这个值是告诉本地域名服务器,域名解析结果可缓存的最长时间,缓存时间到期后本地域名服务器则会删除该解析记录的数据,删除之后,如有用户请求域名,则会重新进行递归查询/迭代查询的过程。

二、域名分层结构
域名是分层结构,域名DNS服务器也是对应的层级结构。有了域名结构,还需要有域名DNS服务器去解析域名,且是需要由遍及全世界的域名DNS服务器去解析,域名DNS服务器实际上就是装有域名系统的主机。域名解析过程涉及4个DNS服务器,分别如下:

比如:www.aliyun.com.
 
-  DNS里面顶层是: "." 表示根域 ( 一共有十三台根服务器)
- “.com”是顶级域名;分类:职能:com域,.org域(非营利机构),edu域名(教育)国家:.cn ,.us ,
- “aliyun.com”是主域名(二级域),主要指企页名;
- “example.aliyun.com”是子域名(也可称为托管三级域名);
- “www.example.aliyun.com”是子域名的子域(也可称为托管四级域名)。


三、DNS解析过程

1.用户在web浏览器输入“www.baidu.com”,浏览器会先检查自身缓存中有没有解析过这个域名对应的ip地址,如果有,解析结束,如果浏览器中没有缓存,那就检查操作系统hosts文件,称为本地解析(windows在C:\Windows\System32\drivers\etc\hosts,linux在/etc/hosts文件),如果命中,域名解析结束,如果没有命中,浏览器会向本地的DNS服务器(DNS Resolver )查询,如果命中域名解析就此结束。

2.如果本地DNS服务器没有命中域名解析,本地DNS服务器采用递归查询的方法,向根域名服务器(Root Server )进行查询。

3.根域名服务器开启迭代查询告诉本地域名服务器,下一步应该查询顶级域名服务器.com TLD的IP地址

4.本地域名向顶级域命服务器.com TLD进行查询

5. .com TLD服务器告诉本地域名服务器,下一步查询example.com权威域名服务器的ip地址

6.本地域名服务区向example.com权威域名服务器发送查询

7.example.com 权威域名服务器告诉本地域名服务器查询主机IP的地址

8.本地域名服务器最后把查询的ip地址响应给web浏览器 

9.浏览器向IP地址发出HTTP请求

10.该IP处的web服务器返回要在浏览器中呈现的网页

1.浏览器在本地缓存中查找;
2.去本地域名服务器中查找;C:\windows\system32\drivers\etc\hosts
/etc/hosts
3.本地域名服务器开启递归查询去,去根域查询
4.根域开启迭代查询,去顶级域查询; .com .cn
5.顶级域开启迭代查询,去权威域查询  baidu.com
6.将域名解析的IP返回给本地域名服务器
7.本地域名服务器将IP返回给浏览器
8.浏览器与IP对应的网站建立连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值