DNS解析全过程

浏览器输入一个网址,要访问该网址必须由DNS解析出对应的服务器的IP地址。对于大型网站来说,一个网站对应多台服务器,那么DNS解析出的可能是进行负载均衡的服务器的IP地址。DNS解析过程总体上来说是先查缓存,缓存没有命中然后迭代查询本地(ISP)DNS服务器,由本地DNS服务器递归查询的过程。

整体过程如下图所示:


我们以访问www.example.microsoft.com为例进行说明:

浏览器中输入www.example.microsoft.com访问时,浏览器会首先检查浏览器缓存看是否存在域名到服务器ip的对应关系

如果没有检查操作系统缓存(Windows去检查C:\Windows\System32\drivers\etc\hosts,linux检查/etc/hosts文件)然后检查路由器缓存,如果有本地DNS服务器则去查本地DNS服务器缓存,如果没有,然后检查首选DNS或者备选DNS服务器(ISP DNS服务器)缓存,80%的域名都可以到此步查找到对应的服务器IP地址。

如果本地DNS服务器或者ISP DNS服务器没有对应的记录,则由改服务器递归的进行DNS解析。首先该DNS服务器会向13个根域名服务器发送DNS查询,根域名服务器返回对应的域名DNS服务器(.com)地址 ,DNS服务器向.com域名发送DNS查询报文得到microsoft.com DNS服务器的地址,然后DNS服务器向microsoft.com DNS服务器查询最后得出www.example.microsoft.com对应的ip地址。

DNS解析过程是通过发送或者接受DNS查询和响应报文完成的。DNS报文格式由12字节的首部(必须字段)和4个长度可变的可选字段组成。DNS在区域中传递使用TCP协议,DNS解析过程使用UDP,53端口。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

非典型理科男

1毛钱打赏,让作者更有动力噢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值