现在的位置: 首页 > 综合 > 正文

(14)DNS:域名系统

2019年07月30日 ⁄ 综合 ⁄ 共 700字 ⁄ 字号 评论关闭

一、简介

  域名系统(DNS)是一种用于TCP/IP应用程序的分布式数据库,他提供主机名字和IP地址间的转换及有关电子邮件的选路信息。从应用角度上看,DNS的访问是通过一个地址解析器(resolver)来完成的。在Unix主机中,该解析器主要通过库函数gethostbyname和gethostbyaddr来访问。前者接收主机名返回IP地址,后者接收IP地址来寻找主机名。解析器通过一个活多个名字服务器完成这种相互转换。

二、DNS基础

  DNS层次组织如下所示:

DNS层次组织

  感觉就像是维护一个trial树一样,命名标识中一律不区分大小写。

  每个名字服务器必须知道如何同根的名字服务器联系。DNS的一个基本特性是使用超高速缓存。

三、DNS报文格式

  DNS报文格式如下所示:

DNS报文

四、指针查询

  DNS中的指针查询方式,即给定一个IP第一,返回与该地址对应的域名。DNS树中通过独立的分支arpa下的in-addr域来处理这种地址名字的转换。

五、高速缓存

  为了减少Internet上DNS的通信量,所有的名字服务器均使用高速缓存。

六、用UDP还是用TCP

  DNS名字服务器使用的熟知端口号无论对UDP还是TCP都是53。这意味着DNS均支持TCP和UDP访问。

  当名字解析器发送一个查询请求,而响应长度超过512字节时,使用TCP重发原来的查询请求。传送大量数据时也使用TCP。

  DNS主要还是使用UDP的,无论是名字解析器还是名字服务器都必须自己处理超时和重传。DNS查询和响应通常需经过广域网,分组丢失率和往返时间的不确定性相对局域网更大。

  另外通过P57页的例子可以对DNS特性做一个综合性的回顾。

抱歉!评论已关闭.