域名系统DNS
域名系统DNS(Domai NameSystem)是因特网使用的命名系统,用于把便于人们使用的机器名字转换为IP地址。
许多应用层软件经常直接使用域名系统,但计算机的用户只是间接而不是直接使用域名系统。
域名结构
因特网采用了层次树状结构的命名方法。
任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。
域名的结构由标号序列组成,各标号之间用点隔开:
… . 三级域名 . 二级域名 . 顶级域名
DNS规定,域名中的标号有英文字母和数字组成,不区分大小写。标号中除了连字符(-)外不能使用其它标点符号。级别最低的域名写在最左边,而级别最高的的顶级域名则写在最右边。
各级域名由其上一级的域名管理机构管理,而最高的顶级域名则由ICANN进行管理,这种方法可使每一个域名在整个因特网范围内是唯一的。
顶级域名可分为以下三类:
(1)国家顶级域名,如:“.cn”表示中国,“.us”表示美国,“.uk”表示英国,等等。
(2)通用顶级域名,如:
.com (公司和企业)
.net (网络服务机构)
.org (非赢利性组织)
.edu (教育机构)
.gov (政府部门)
.mil (军事部门)
.int (国际组织)
(3)基础结构域名,这种顶级域名只有一个,即 arpa,用于反向域名解析,因此又称为反向域名。如:
.aero (航空运输企业)
.biz (公司和企业)
.cat (加泰隆人的语言和文化团体)
.coop (合作团体)
.info (各种情况)
.jobs (人力资源管理者)
.mobi (移动产品与服务的用户和提供者)
.museum (博物馆)
.name (个人)
.pro (有证书的专业人员)
.travel (旅游业)
域名服务器
因特网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS。名字到 IP 地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。
一个服务器所负责管辖的(或有权限的)范围叫做区(zone)。各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。
因特网上的DNS域名服务器也是按照层次安排的。每一个域名服务器都只对域名体系中的一部分进行管辖。
域名服务器有以下四种类型:
(1)根域名服务器是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址。不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器。
(2)顶级域名服务器(TLD服务器,Top LevelDomain)负责管理在该顶级域名服务器注册的所有二级域名。
(3)权限域名服务器不能给出最后的查询回答时,就会告诉发出查询请求的 DNS 客户,下一步应当找哪一个权限域名服务器。
(4)本地域名服务器对域名系统非常重要。当一个主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器。每一个因特网服务提供者 ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器,这种域名服务器有时也称为默认域名服务器。
DNS 域名服务器都把数据复制到几个域名服务器来保存,其中的一个是主域名服务器,其他的是辅助域名服务器。当主域名服务器出故障时,辅助域名服务器可以保证 DNS 的查询工作不会中断。主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性。
每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录,可大大减轻根域名服务器的负荷,使因特网上的 DNS 查询请求和回答报文的数量大为减少。为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器,并处理超过合理时间的项(例如,每个项目只存放两天)。