博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DNS解析过程
阅读量:6428 次
发布时间:2019-06-23

本文共 762 字,大约阅读时间需要 2 分钟。

hot3.png

DNS解析过程是重点也是难点,下面我按自己的理解一步步来解释,可能有错误之处,欢迎指正。以下步骤中,将DNS缓存中存在域名对应IP则DNS解析成功,用户计算机将直接访问服务器,若DNS服务器缓存中不存在域名对应IP,则自动进入下一步。

1.浏览器缓存 

  当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的IP地址 (如曾经访问过该域名并且没有清空缓存便存在); 
2.系统缓存 
  当浏览器缓存中无域名对应IP则会自动检查用户计算机系统Hosts文件DNS缓存是否有该域名对应IP;  
3.路由器缓存 
  当浏览器及系统缓存中均无域名对应IP则进入路由器缓存中检查,以上三步均为客服端的DNS缓存;一般是家用的ADSL路由器。 
4.ISP(互联网服务提供商)DNS缓存 
当在用户客户端查找不到域名对应IP地址,则将进入ISP DNS缓存中进行查询。比如你用的是网通的网络,则会进入网通的DNS缓存服务器中进行查找; 如北京网通的:202.106.0.20   
5.根域名服务器 
  当以上均未完成,则进入根服务器进行查询。全球仅有13台根域名服务器,1个主根域名服务器,其余12为辅根域名服务器。根域名收到请求后会查看区域文件记录,若无则将其管辖范围内顶级域名(如.com)服务器IP告诉本地DNS服务器; 
6.顶级域名服务器 
  顶级域名服务器收到请求后查看区域文件记录,若无则将其管辖范围内主域名服务器的IP地址告诉本地DNS服务器; 
7.主域名服务器 
  主域名服务器接受到请求后查询自己的缓存,如果没有则进入下一级域名服务器进行查找,并重复该步骤直至找到正确纪录;通常正常的域名直接就会返回结果。 
8.保存结果至缓存 

转载于:https://my.oschina.net/xishuixixia/blog/145056

你可能感兴趣的文章
关于异常的捕获与异常的抛出的详细例子
查看>>
Bandwidth Splitter For TMG2010
查看>>
“拼接”linq查询
查看>>
[Cocos2d-x]视差滚屏效果的实现
查看>>
[脚本]Unity3D一些基本功能的脚本
查看>>
MyBatis的association示例——MyBatis学习笔记之三
查看>>
开源Mysql热备份工具Xtrabackup详细学习手册
查看>>
【如何在Eclipse中导入JavaDoc】
查看>>
your out of office settings cannot be displayed
查看>>
病毒行为分析初探(一)
查看>>
百度等分享代码微信分享到朋友圈只分享正文部分的方法
查看>>
虚拟化如何做实?详解戴尔2.0版解决方案
查看>>
cacti扩展开发
查看>>
软件工程概论课程总结
查看>>
云场景实践研究第38期:video++
查看>>
MySQL-MMM高可用配置过程
查看>>
Windows测试环境管理系统
查看>>
自己制作Chrome绿色版本。
查看>>
java13 InputStream,Reader
查看>>
nj03---阻塞和线程
查看>>