计算机网络—DNS协议

一、DNS协议介绍
✳DNS协议是什么?

        DNS协议:域名系统(Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。工作在应用层,DNS协议在传输层使用的协议是UDP,53端口。DNS协议是用来将域名转换为IP地址(也可以将IP地址转换为相应的域名地址)。

✳DNS数据包类型
  •     dns query 查询/询问数据包       
  •     dns response  响应数据包     
✳hosts文件是什么?        

        hosts文件是一个没有扩展名的系统文件 ,每一台主机里都存在hosts文件。它的作用就是将主机常用的一些网址( 域名) 和它对应的IP地址建立一个关联“数据库”,当用户在 浏览器 中输入一个网址时,系统会首先从 hosts文件 中寻找对应的IP地址,hosts文件在域名解析的时候优先级非常高,一旦在hosts文件种找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS 域名解析服务器进行IP地址的解析。

       本机缓存地址:

         Windows:C:\Windows\System32\drivers\etc\hosts
         linux系统:/etc/hosts

域名级别

        

① . 是根域名。根域名服务器的数量有13个

②.com是顶级域名,又叫一级域名。一些顶级域名:

  • 表示用途的:com:商业的,edu:教育的,org:非营利组织,gov:政府的,mil:军队,net:组织 network。
  • 表示地域的:cn china,    hk 香港,    ko 韩国,    jp 日本,    us 美国,    au 澳大利亚,    tw 台湾    。

③baidu.com是二级域名。

④www.baidu.com是三级域名。

✳为什么需要域名解析?

①因为主机之间通信的时候,使用的是ip地址,但是人记很多ip地址不容易记住,但是记名字更容易。

②DNS协议在实际应用中也有助于保障网络安全。

✳DNS的作用:

正向解析:根据域名(主机名称)查找对应的IP地址
反向解析:根据IP地址查找对应的主机域名 

二、DNS解析过程

✳具体过程

以访问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有变化,会导致客户端访问不到服务器
如果缓存时间过短:会导致用户每次访问网站都要重新解析一次域名

✳DNS的迭代与递归查询

(1)从请求主机到本地DNS服务器的查询是递归的——以自己的名义请求获得映射
(2)其余的查询都是迭代的——所有的回答都直接返回给本地DNS服务器

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值