首页 理论教育 TCP/IP协议集中的域名系统(DNS)及其命名规则

TCP/IP协议集中的域名系统(DNS)及其命名规则

时间:2023-11-23 理论教育 版权反馈
【摘要】:1.域名结构及其命名规则在TCP/IP 协议集中,IP 地址是网络中主机的唯一标识。分级命名系统又称为域名系统,采用DNS 协议。每一级域名长度不超过63 个字符,总长度不超过255 个字符。只有顶级域名是严格规定的。域名解析是依靠一系列域名服务器完成的,这些域名服务器构成了域名系统DNS。解析器将用户指定的域名字符串作为参数放在一个DNS 客户请求报文中,并使用UDP 发送给已知的域名服务器,然后等待域名服务器的回答。

TCP/IP协议集中的域名系统(DNS)及其命名规则

1.域名结构及其命名规则

在TCP/IP 协议集中,IP 地址是网络中主机的唯一标识。TCP/IP 网络上的计算机都是通过IP 地址进行识别并通信的。虽然用IP 地址对数据报标识源和目标很有效,但用户总希望用易于记忆的有意义的符号名字来标识互联网上的每个主机。为了达到这一目的,引入了主机名。用一个有意义的名字来指明互联网上的主机,并提供一个组织名字的命名系统来管理名字到IP 地址的映射,这样用户就可以使用有意义的名字。

TCP/IP 网络的命名系统分线性和分级两种。线性命名方法比较简单,主机名由一个字符串组成且一般由主机自己管理。TCP/IP 网络上每台主机都有一个文件(如Hosts 文件),Hosts文件中的数据是名字与IP 地址的对应关系。主机通过查找Hosts 文件的记录数据获得通信目的主机的地址。但Hosts 文件存在着很多缺陷:一是因为名字空间是平面的,主机不能重名;二是随着主机数的增加文件规模越来越大,解析效率也越来越低,使用这种方式的每台主机都要从一个固定位置下载这个文件,造成占用网络带宽的问题。另外,Hosts 文件不易维护和更新。但是这种方法对主机不太多的互联网是比较有效的。Windows TCP/IP 系统仍然保留了这种解析方式。随着互联网上主机数目的增加,维护这些文件的负担将变得越来越重,于是采用分级管理的方法。

分级命名系统又称为域名系统(Domain Name System,DNS),采用DNS 协议。与线性命名方法不同,它不要求每台主机都维护一个主机表文件,而是把互联网上的一台或几台主机选作名字服务器,由名字服务器将符号名字转换成对应的IP 地址。域名系统在结构上类似于操作系统中的文件系统。具体来说,首先,名字空间按树型的层次结构进行划分,每一个划分称为“域”,最高层对应树的根结点,为顶级域,下面依次为二级域、三级域……其次,每一级有相应的管理机构,被授权管理下一级子域的域名,顶级域名由Internet 中心管理机构管理,每一级负责其管理域名的唯一性,这样就保证了所有域名的唯一性,主机则组织在域或子域之中;另外,DNS 还规定了这种层次域名的语法结构,即一个完整域名由各级域名按低级到高级从左到右排列,中间用“.”分隔,如“主机名.本地子域名.根域名”的形式。每一级域名长度不超过63 个字符,总长度不超过255 个字符。

同一个主机可以有多个IP 地址,一个主机也可以拥有多个域名。实际上,多个域名可以被映射到同一个IP 地址。与IP 地址相同,域名与主机的物理位置无关,而且单从域名也判断不出它代表的是一台主机还是一个网络。

域名树的结构有两种基本构成方式:一种是按组织机构,称之为机构域;另一种是按地理位置,称之为地区域。只有顶级域名是严格规定的。下级域名由各授权机构自行规定,可以按机构,也可以按地区,或两者的混合。由于美国是Internet 的发源地,因此美国的顶级域名是以组织模式划分的。对于其他国家,它们的顶级域名是以地理模式划分的,每个申请接入Internet 的国家都以一个顶级域名出现。例如,cn 代表中国,jp 代表日本,fr 代表法国,uk 代表英国,ca 代表加拿大,au 代表澳大利亚等,如表5-10所示。

表5-10 顶级域名分配

所有的域形成一个树形结构称为域树,根域和顶级域名由Internet 的管理组织进行管理,二级域由顶级域的组织进行管理,二级以下的子域由各企业、大学等部门自行管理。

相关知识:当书写域名时,顶级域在最右侧,主机名在最左侧,其余的在两者之间。例如:www.sina.com.cn。其中,cn 是顶级域名,com 是商业域名,sina 是公司域名,www 是公司的主机名。

2.域名解析

1)域名服务器(www.xing528.com)

由于Internet 用户发送和接收数据必须使用IP 地址进行路由选择,因此必须将标识主机的域名转换为IP 地址,这个转换过程称为域名解析。域名解析包括正向解析(域名到IP 地址)和反向解析(IP 地址到域名)。域名解析是依靠一系列域名服务器完成的,这些域名服务器构成了域名系统DNS。实际上整个域名系统可以看成一个庞大的分布式联机数据库,终端用户与域名服务器之间、域名服务器之间都采用客户机/服务器方式工作。

域名服务器与域名系统的层次结构是相关的,但并不完全对等。每一个域名服务器的本地数据库存储一部分主机域名到IP 地址的映射,同时保存到其他域名服务器的链接。最高层域名服务器是一个根服务器,它管理到各个顶级域名服务器的链接。例如:中国教育科研网edu.cn 的域名服务器管理所有后缀为edu.cn 的域名到IP 地址的映射,同时也保存到上一层(.cn)域名服务器和下一层各大学(hit.edu.cn,hrbeu.edu.cn 等)域名服务器的链接。一般比较小的网络可以将它下辖所有主机域名到IP 地址的映射放在一个域名服务器上,大一些的网络则可以采用几个域名服务器来进行域名管理。

总之,通过某一后缀的域名服务器一定能够找到所有具有这个后缀的域名到其IP 地址的映射。需要注意的是,域名服务器可以置于网络的任意位置,这与域名系统的逻辑结构无关。

2)域名解析的过程

一个用户主机至少应知道一台域名服务器的IP 地址。当用户需要查询某域名的IP 地址时,就调用一个称为解析器的系统调用,许多操作系统都提供这种解析器软件。解析器将用户指定的域名字符串作为参数放在一个DNS 客户请求报文中,并使用UDP 发送给已知的域名服务器,然后等待域名服务器的回答。域名服务器接收到请求报文后,首先查找本地的数据库,如果找到就向客户主机发回查找结果。如果待查域名不属于该域名服务器的管辖范围(如管辖域名后缀为zjgsu_edu.cn 的服务器收到对.com 后缀的域名的查找请求),也就是说域名服务器不能完全解析域名,可以有递归和迭代两种处理方式(由客户机请求报文指明)。

(1)递归方式。服务器作为客户与能够解析待查域名的服务器的联系,这个过程可能延续下去,直到查找到需要的IP 地址,最后沿原路返回给客户机。具体过程可以沿着域名树向上搜索到根服务器,再由根服务器向下搜索;也可以直接向根服务器提出请求。在上面的例子中,如果知道.com 域名服务器的地址,甚至可以直接向.com 域名服务器提出查询请求。

(2)迭代方式。服务器将能够解析待查域名的服务器地址通知客户主机,客户再与另一域名服务器联系。在这种方式下,客户可能需要进行多次与不同域名服务器的联系才会找到需要的IP 地址。

把域名转换成 IP 地址的过程称为域名解析。域名解析通过域名服务(Domain Name Service,DNS)系统完成。DNS 是TCP/IP 应用层协议,底层协议采用UDP,DNS 按照客户机/服务器模式工作。请求域名解析服务的软件称为解析器,负责域名解析的软件称为域名服务器,运行服务器程序的计算机称为DNS 服务器。DNS 服务器是一个联机数据库,数据库中存放着主机域名与IP 地址对照关系的记录。DNS 系统是一个分布处理的数据库。在不同的域中运行着大量的DNS 服务器。这不仅为了减轻DNS 服务器的负担,满足了以最高效率进行解析的要求,同时也提高了DNS 系统的容错能力。

3)高效率的域名解析

为了提高查询速度,在每一个DNS 服务器中可以设置一个高速文件缓冲区。存放最近经它解析过的域名到IP 地址的映射,以及这个映射的最终服务器地址。每当客户机进行查询时,DNS 先查找这个文件缓冲区。从别的服务器查询得到的数据除了返回给客户机以外,在缓冲区中也存放一份,以便下次DNS 客户机要查询相同的数据时可以从高速缓存中获得。当然,存储的信息可能会因映射关系改变而变得不正确,解决这个问题可以对缓存的每一个域名信息附加生命期限制,过时的信息将不再予以保留。数据在高速缓冲区中存放的时间是用TTL(Time To Live)参数进行设置的。当数据存储在高速缓冲区以后,TTL 开始递减,当TTL 减为0 时,该数据将从缓冲区中释放掉。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈