DNS小结

域名解析系统(DNS Domain Name
System)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息。在Unix主机中该解析器主要是通过两个库函数gethostbuname()和gethostbyaddr()来访问的。解析器通过一个或多个域名服务器来完成这种相互转换。在一个应用程序请求打开一个TCP连接或用UDP发送一个数据前,必须将一个主机名转换为一个IP地址。

  1. DNS工作原理:

    当某个用户上主机上的一个浏览器使用HTTP请求www.plaust.edu.cn页面是,用户主机首先要用UDP的53端口将该web服务器的名字发送到DNS服务器进行解析获得该主机对应的IP地址如58.193.152.3,再将HTTP请求报文发送到IP为58.193.152.3的主机的80端口才能获得最终请求的页面,过程如图所示
    DNS服务器将域名转换 为IP地址的过程

  2. DNS的工作过程如下:

    (1) 若某应用进程请求将主机名解析为IP地址,则该应用进程将待解析的域名放入DNS请求报文中,以UDP报文段方式发给本地DNS服务器。
    (2) 本地域名服务器再查找域名映射对后,把对应的IP地址放在应答报文中返回;应用进程获得目的主机的IP地址后即可进行通信。
    (3) 若本地DNS服务器在查找不到相关信息,则此DNS服务器会成为DNS中的一台客户机,并向上级DNS服务器发出查询请求。这种过程一直持续到找到具有相关信息的DNS服务器为止。

  3. DNS的层次:

    首先来看张DNS层次结构图
    层次结构域名实例
    DNS为网络对象实现了一个层次化的命名空间,一管理一个庞大的名字集合。因特网使用了这种命名方法,任何一个主机或资源都有一个唯一层次结构的名字,即域名。每个域可划分为子域如二级三级域等。

  4. DNS服务器的解析过程

    DNS服务器交互及解析过程
    如图所示,如果主机想知道主机名为zjl.columbia.edu的IP地址,主机lijun.plaust.edu.cn首先向他的本地DNS服务器dns.plaust.edu.cn发送一个查询报文。该查询报文含有被转换的主机名zjl.columbia.edu。本地服务器无法解析而将报文转发到根DNS服务器。根DNS服务器注意到其具有edu前缀并向本地DNS服务器返回负责edu的顶级域名的IP地址列表。该本地DNS服务器则向这些顶级DNS服务器发送查询报文。顶级DNS服务器注意到Columbia.edu前缀,并用相应的权威DNS服务器的IP地址进行响应,该权威DNS服务器dns.columbia.edu负责此域名,最后本地DNS服务器直接向dns.columbia.edu发起查询报文并获取对应的IP地址。这样就完成了一次域名解析服务。
    在此例子中使用里递归查询和迭代查询,从主机到dns.plaust.edu.cn发出的查询是递归查询,因为该查询是以自己的名义获得的映射;而后的查询是迭代查询。

  5. DNS使用的协议:
    DNS服务器使用的端口无论对于UDP还是TCP都是53端口。这意味着DNS均支持UDP和TCP的访问,但是我们使用抓包工具获得的DNS解析用的基本都是UDP协议。那么这两种协议都在什么情况下使用呢?
    当DNS解析器发出一个查询请求,并且返回响应中的TC(删减标志)比特被设置为1时,它就意味着响应长度超过了512字节,而且仅返回前512字节(UDP数据包的最大长度为512)。既然TCP能将用户数据流分为一些报文段,它就能用多个报文段来传送任意大小的数据。
    当一个域的辅助DNS服务器(DNS划分若干区域进行管理,每个区域由一个或多个域名服务器负责解析工作。如果采用单独的DNS服务器而这个服务器没有响应,那么这个区域的域名解析就会失败。因此每个区域建议使用多个DNS服务器,可以提供域名解析容错功能,对于存在多个域名服务器的区域,必须选择一台主域名服务器(master),保存并管理整个区域的信息,其他服务器称为辅助域名服务器(slave))启动时,将从该主DNS服务器执行区传送。区域的数据传送使用TCP,因为这里的数据远比一个查询或相应多得多。因而DNS服务器主要使用UDP协议,在主服务器和辅助服务器之间的数据传送使用TCP。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值