域名系统DNS总结

来源:互联网 发布:iyst是什么预算软件 编辑:程序博客网 时间:2024/06/04 19:52

域名系统DNS 总结


阅读目录:

一、 域名系统DNS概念

二、 因特网的树状结构

三、 域名服务器

四、 域名解析过程

五、 DNS系统的其他机制


一、域名系统DNS概念:

  域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字(如淘宝、百度、腾讯等)转换为IP地址。域名系统很明确地指明这种系统是用在因特网中。
  用户与因特网中某个主机通信时,必须要知道对方的IP地址。然而用户很难记住长达32位二进制主机地址,在应用层为了便于用户记忆各种网络应用,更多使用主机名字。

附:为什么机器在处理IP数据报时要使用IP地址,而不是使用域名呢?
因为IP地址的长度固定式32位(如果是IPV6,那是128位,也是定长的),而域名的长度并不是固定的,机器处理起来较为困难。


二、因特网的树状结构:

  从理论上讲,整个因特网可以只使用一个域名服务器,使它装入因特网上所有主机名,并回答对所有IP地址的查询。但随着因特网用户规模加大,这样的域名服务器会因过负荷而无法工作,而且一旦域名服务器出现故障,整个因特网会处于瘫痪状态。因此,早在1983年因特网就开始采用树状结构的命名方法,并采用分布式的域名系统DNS。

  采用层次树状的命名方法,任何一台连接在因特网上的主机或者路由器,都有一个唯一的层次结构的名字,即域名(domain name)。这里域(domain)是名字空间中一个可被管理的划分,域可以被划分为子域,子域还可继续划分为子域的子域,这样就形成了顶级域、二级域、三级域、等等。如map.baidu.com中依次为三级域名.二级域名.顶级域名。域名解析是一个从右向左,由大向小的的过程。
域名系统的树状结构

域名树状结构规则:

1、 语法:每一个域名都是由标号(label)序列组成的,各个标号之间用点.隔开。标号由英文字母和数字组成,标号中除连字符_外不能使用其他字符。每一个标号不超过63个字符(最好不要超过12个),不区分大小写字母
2、 级别:级别最低的域名在最左面,级别最高的顶级域名写在最右面。由多个标号组成的完整域名总共不超过255个字符。
3、DNS既不规定一个域名需要包含多少个下级域名,也不规定每一级域名代表什么含义。各级域名由其上一级域名管理机构管理,而最高的顶级域名则由ICANN进行管理。

类似个人地址信息:河北省承德市丰宁县xxx乡xx村xx号,域名系统只是右向左解析的逻辑概念而已。

了解部分顶级域名:

(1) 国家顶级域名 nTLD:如: .cn 表示中国,.us 表示美国,.uk 表示英国,等等。 (2) 通用顶级域名
gTLD:最早的顶级域名是:
.com (公司和企业)
.net (网络服务机构)
.org (非赢利性组织)
.edu (美国专用的教育机构)
.gov (美国专用的政府部门)
.mil (美国专用的军事部门) .int (国际组织)


三、域名服务器:
  上面讲的域名体系是抽象的,具体实现域名系统则是使用分布在各地的域名服务器。理论上讲,可以让每一级的域名都有一个相对应的域名服务器,使所有的域名服务器构成和树状结构相对应的“域名服务器树”结构。但这样做会使域名服务器的数量太多,使域名系统运行效率降低。DNS采用划分区来解决这个问题。

   一个服务器所负责管辖的(或有权限的)范围叫做区(zone)。各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。DNS 服务器的管辖范围不是以“域”为单位,而是以“区”为单位。

这里写图片描述

  上图是区的不同的划分方法的举例,a中域abc.com只设了一个区abc.com,b中划分了两个区abc.com和y.abc.com,这两个区都隶属于域abc.com,都各自设置了相应的权限域名服务器。不难看出,区是域的子集。以此为例,给出DNS域名服务器树状结构图。

这里写图片描述

  因特网上的DNS服务器也是按照层次安排的,每一个域名服务器都只对域名体系的一部分进行管辖。

根据域名服务器的作用,可以把域名服务器划分为四种类型:

(1) 根域名服务器
根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。 它们知道所有顶级域名服务器的域名和 IP
地址。在很多情况下,根域名服务器并不直接把待查询的域名转换成IP地址,而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。
(2) 顶级域名服务器
(TLD top-level domain name) 这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。
当收到 DNS 查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的 IP 地址)。
(3) 权限域名服务器
这就是负责一个区的域名服务器。 当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的 DNS
(4) 本地域名服务器
本地域名服务器对域名系统非常重要。 当一个主机发出 DNS
查询请求时,这个查询请求报文就发送给本地域名服务器。每一个因特网服务提供者 ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器,这种域名服务器有时也称为默认域名服务器。


四、域名的解析过程:

   DNS域名系统,为了方便用户,降低难度。类似一个电话本,是名字和电话号码对应,通常名字更容易记忆。同样DNS解析过程,也是类似一个查找电话号码的过程。比如我们想联系阿里巴巴集团主席马云,首先会查找手机通讯录(本地域名服务器),通常情况是没有,转向114(根域名服务器),获得阿里巴巴总部(顶级域名服务器)的联系方式,既而获得市场部(权限域名服务器)联系方式,最后或者得到马云联系方式,或者报错。对于常用联系人,通常我们手机通讯录就可以解决问题啦。

DNS域名解析过程:

1、 主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以
DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。
2、 本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。

这里写图片描述

这里写图片描述


五、 DNS系统其他机制:

5.1、根域名服务器任播(anycast)技术

  任播的IP数据报的终点是一组在不同地点的主机,但具有相同的IP地址。IP数据报交付离原点最近的一台主机。这样做不仅加快了DNS的查询过程,也更加合理的利用了因特网的资源。

这里写图片描述
根域名服务器f分布在49个地点(2012年)

5.2、域名服务器中的高速缓存

  由于名字到地址的映射并不经常改变,每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。这样可以减轻根域名服务器的负荷,使因特网上的DNS 查询请求和回答报文的数量大为减少。
  为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器,并处理超过合理时间的项(例如,每个项目只存放两天)。权限域名服务器回答一个查询请求时,在响应中都指明绑定有效存在的时间值。增加此时间值可减少网络开销,而减少此时间值可提高域名转换的准确性。

5.3、提高域名服务器的可靠性

   DNS 域名服务器都把数据复制到几个域名服务器来保存,其中的一个是主域名服务器,其他的是辅助域名服务器。当主域名服务器出故障时,辅助域名服务器可以保证 DNS 的查询工作不会中断。
  主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性。