DNS域名系统的其工作原理(应用层)

1.为什么要用DNS域名系统?

  • 因为用户在与互联网上的主机通信时,必须知道对方的 IP 地址。但是每个 IP 地址都是由 32位的二进制组成,互联网有那么多的主机,很难记住每个主机对应的IP地址。
  • 互联网中的主机通常不仅仅只有 IP 地址,还有对应的便于用户记忆的主机名字,比如 www.baidu.com。产生于应用层上的域名系统DNS(Domain Name System)就可以用来把互联网上的主机名转换成 IP 地址。

2.DNS概述

  • 它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。
  • 互联网中的域名系统 DNS 被设计成一个层次树状结构的联机分布式数据库系统,并且采取的是客户服务器的方式。DNS
    使大多数名字都在本地进行解析,只有少量的解析需要在互联网通信,因此效率很高。采取分布式的一个好处是,即使单个计算机出了故障,也不会妨碍 DNS 系统的正常运行。
  • 域名到 IP 地址的解析是通过许多分布在互联网上的域名服务器完成的。
  • DNS解析的主要过程如下:当一个主机中的进程需要把域名解析为 IP 地址时,该进程就会调用解析程序,并成为 DNS 的 一个客户,把待解析的域名放在 DNS 的请求报中,以 UDP用户数据报方式发送给本地域名服务器。本地域名服务器在查找域名后,把对应的 IP 地址放在回答报文中返回。获得 IP地址的后主机即可进行通信。
  • 如果本地域名不能回答该请求,则向其他域名服务器发送查询请求。

3.域名结构

在这里插入图片描述
我们以 www.baidu.com/ 为例,www 是三级域名,baidu 是二级域名,com 是顶级域名,各级域名之间通过 . 相连。
每个互联网上的主机域名都对应一个 IP 地址,并且这个域名在互联网中是唯一的。

4.域名服务器
有四种不同的类型:根域名服务器,顶级域名服务器,权限域名服务器,本地域名服务器
在这里插入图片描述

5.域名解析

域名解析查询的方式有两种:迭代查询与递归查询。

5.1迭代查询

本地域名服务器向根域名服务器的查询方式通常采取迭代查询(iterative query)。迭代查询有以下的特点:当根域名服务器收到本地域名服务器发出的迭代查询请求报时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“我这里没有你要的查询结果,你需要向哪一台域名服务器进行查询”。然后本地域名服务器进行后续的查询(不替代本地域名服务器)。
在这里插入图片描述

5.2递归查询

主机向本地域名服务器的查询一般都采用递归查询(recursive query)。所谓的递归查询就是:如果主机所询问的本地域名服务器不知道被查出来的域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文(替代该主机继续查询),而不是主机自己进行下一步的查询。因此,递归查询返回的结果要么是所查询的 IP 地址,要么报错,表示无法查到所需要的 IP。
在这里插入图片描述

6.DNS记录缓存

  • 针对上面两种方式,我们可以知道不管是递归查询还是迭代查询,都会发送 8 个 UDP 用户数据报的报文。为了提高 DNS的查询效率,减轻根域名服务器的负荷和 DNS 数据报的查询数量,在域名服务器中广泛地使用了高速缓存。高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。
  • 假设我们要查询www.baidu.com域名对应的 IP 地址,如果本地域名服务器上有该域名对应的 IP 地址,那么可以直接从本地域名服务器上获得对应的 IP 地址,而不需要到根域名服务器上进行查询。当本地域名服务器查询不到 IP地址时,本地域名服务器也可以不向根域名服务器发送请求报文,而是直接向顶级域名服务器发送查询请求报文。
  • 不仅在本地域名服务器中有高速缓存,在主机中也有。很多主机在启动的时候从本地域名服务器下载名字和地址的全部数据库,维护存放自己使用的域名的高速缓存,只有在缓存中找不到名字时才使用域名服务器。
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值