赞
踩
DNS协议:域名系统(Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。工作在应用层,DNS协议在传输层使用的协议是UDP,53端口。DNS协议是用来将域名转换为IP地址(也可以将IP地址转换为相应的域名地址)。
hosts文件是一个没有扩展名的系统文件 ,每一台主机里都存在hosts文件。它的作用就是将主机常用的一些网址( 域名) 和它对应的IP地址建立一个关联“数据库”,当用户在 浏览器 中输入一个网址时,系统会首先从 hosts文件 中寻找对应的IP地址,hosts文件在域名解析的时候优先级非常高,一旦在hosts文件种找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS 域名解析服务器进行IP地址的解析。
本机缓存地址:
Windows:C:\Windows\System32\drivers\etc\hosts
linux系统:/etc/hosts
① . 是根域名。根域名服务器的数量有13个
②.com是顶级域名,又叫一级域名。一些顶级域名:
③baidu.com是二级域名。
④www.baidu.com是三级域名。
①因为主机之间通信的时候,使用的是ip地址,但是人记很多ip地址不容易记住,但是记名字更容易。
②DNS协议在实际应用中也有助于保障网络安全。
正向解析:根据域名(主机名称)查找对应的IP地址
反向解析:根据IP地址查找对应的主机域名
以访问www.baidu.com为例:
1、用户在浏览器中输入网址 www.cxuan.vip 并点击回车后,先查看浏览器dns缓存里是否有对应的dns域名解析,以及查看本机dns缓存是否有对应的dns域名解析。
2、查看操作系统缓存
3、客户机查看本机的hosts文件是否有对应的域名
4、如果dns缓存里没有对应的dns域名解析,hosts文件里也没有对应的域名解析记录,就向本地dns服务器(本地的路由器)发起域名解析的请求,本地路由会查看dns缓存表
5、本地dns服务器查看缓存后,如果缓存里存在对应的dns域名解析就将结果直接返回给用户,如果没有就会向根域名服务器发起域名解析的请求(或者向ISP DNS服务器发起请求,如果ISP DNS服务器里也没有域名解析,就会向根域名服务器发起请求)
6、根域名服务器获得本地dns服务器需要查询的域名www.baidu.com后,会告知本地dns域名服务器下一级的域名服务器.com的域名服务器的ip地址,然后我们的本地dns服务器就会向.com服务器发起请求,查询www.baidu.com域名,.com服务器然后查询出baidu.com这个域名对应的dns服务器,然后告诉本地dns服务器,本地dns服务器又去访问baidu.com域名服务器,查询www对应的ip,然后本机的dns服务器获取到www.baidu.com对应的ip后,马上添加到缓存表里,告诉客户www.baidu.com域名的ip地址
7、客户机然后去访问www.baidu.com域名对应的ip地址的服务器
总结:浏览器缓存-》操作系统缓存-》hosts文件-》本地的路由器缓存(无线路由器)-》ISP DNS服务器-》根服务器
注意:
浏览器的缓存有大小和时间限制,通常情况下为几分钟到几小时
如果缓存时间过长:一旦域名被解析到的IP有变化,会导致客户端访问不到服务器
如果缓存时间过短:会导致用户每次访问网站都要重新解析一次域名
(1)从请求主机到本地DNS服务器的查询是递归的——以自己的名义请求获得映射
(2)其余的查询都是迭代的——所有的回答都直接返回给本地DNS服务器
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。