DNS域名解析整个过程详解
1.分析的大致流程如图
2.详细分析过程
当用户在地址栏中输入内容时,DNS解析大致如下:
1、浏览器首先检查自己的缓存中是否有解析域名对应的IP地址,如果有,则解析完成,同时还可以通过TTL属性设置域名的缓存时间。
2、如果浏览器缓存中没有该域名(专业的说法叫“未命中”),浏览器会去操作系统缓存中查看是否有对应的解析结果。操作系统也有一个域名解析的过程,在浏览器中可以通过C盘中一个叫hosts的文件进行设置,如果在这里指定某个域名对应的IP地址,浏览器会优先使用这个IP地址。
但是这种操作系统级别的域名解析程序也被很多黑客利用,通过修改你的hosts文件内容,把特定的域名解析到他指定的IP地址,造成所谓的域名劫持。所以设置hosts文件就是为了防止被恶意篡改。
3、如果域名还没有被打到,那么就会真正请求本地域名服务器(LDNS)来解析域名。这个服务器一般位于你所在城市的某个角落,距离你不远,而且这个服务器的性能很好,一般会缓存域名解析结果,大约80%的域名解析都是在这里完成的。
4.如果LDNS还是不命中,则直接跳转到Root域名服务器请求解析
5.根域名服务器向LDNS返回所查询域名的主域名服务器(gTLD,国际顶级域名服务器,如.等)的地址
6.此时LDNS向上一步返回的gTLD发送请求
7、接收请求的gTLD查找并返回该域名对应的Name的地址,这个Name就是该网站注册的域名服务器。
8. Name根据映射表找到目标IP地址并返回给LDNS,LDNS缓存该域名和对应的IP地址。
9、LDNS将解析结果返回给用户,用户根据TTL值缓存在本地系统缓存中。域名解析流程至此结束。
简而言之:
浏览器缓存、系统缓存、路由器缓存、ISP服务器缓存、根域名服务器缓存、顶级域名服务器缓存、主域名服务器缓存。
3.DNS使用TCP还是UDP协议?
DNS占用53端口,同时使用TCP和UDP协议。
DNS 在传输区域时使用 TCP 协议,其他时间使用 UDP 协议。
使用 TCP 协议进行 DNS 区域传输
1、辅助域名服务器会定期(一般每3小时一次)向主域名服务器查询数据是否有变化,如果有变化,则进行区域传输,同步数据。区域传输采用TCP,而不是UDP,因为数据同步传输的数据量比一次请求响应的数据量要大得多。
2.TCP是可靠的连接,保证数据的准确性。
解析域名时使用UDP协议
客户端向DNS服务器查询域名时,返回的内容一般不超过512字节,可以使用UDP传输。这样就不需要三次握手,减轻了DNS服务器的负担,响应速度也更快。理论上,客户端在查询DNS服务器时也可以指定TCP,但实际上,很多DNS服务器在配置时只支持UDP查询包。
参考
DNS 使用 TCP 还是 UDP?
扫一扫在手机端查看
-
Tags : 简述dns客户机进行完全合格域名解析的过程
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。