详解DNS域名解析系统(域名、域名服务器、域名解析过程)
文章目录
1.DNS系统
-
域名系统(Domain Name System, DNS)
是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名(如www.baidu.com)转换为便于机器处理的IP地址
-
相对于IP地址,人们更喜欢使用具有特定含义的字符串来标识因特网上的计算机
-
DNS系统采用客户/服务器模型,其协议运行在
UDP
之上,使用53号端口
-
从概念上可将DNS分为3部分:
层次域名空间、域名服务器和解析器
-
某台主机访问网站www.baidu.cn网站为例,DNS的大致流程
2.域名
因特网采用层次树状结构的命名方法
。采用这种命名方法,任何一个连接到因特网的主机或路由器,都有一个唯一的层次结构名称,即域名(Domain Name)域(Domain)
是名字空间中一个可被管理的划分- 域还可以划分为子域,而子域还可以继续划分为子域的子域,这样就形成了顶级域、二级域、三级域等
在域名系统中,每个域分别由不同的组织进行管理。每个组织都可以将它的域再分成一定数目的子域,并将这些子域委托给其他组织去管理
- 例如,管理CN域的中国将EDU.CN子域授权给中国教育和科研计算机网(CERNET)来管理
- 比如百度域名baidu.cn是一个二级域名,我可以任意分配三级域名,比如1001.baidu.cn和1002.baidu.cn,这两个网址是可以访问的
关于域名中的标号有以下几点需要注意:
- 标号中的英文
不区分大小写
- 标号中除连字符(-) 外不能使用其他的标点符号
- 每个标号不超过63个字符,多标号组成的完整域名最长不超过255个字符
- 级别最低的域名写在最左边,级别最高的顶级域名写在最右边
顶级域名(Top Level Domain, TLD)
分为如下三大类:
- 国家顶级域名(nTLD)。国家和某些地区的域名,如“.cn”表示中国,“.us”表示美国,.uk”表示英国
- 通用顶级域名(gTLD)。 常见的有“.com” (公司)、“.net" (网络服务机构)、“.org”(非营利性组织)和“.gov" (国家或政府部门)等
- 基础结构域名。这种顶级域名只有一个,即arpa,用于反向域名解析,因此又称反向域名。反向域名解析与通常的正向域名解析相反,提供IP地址到域名的对应,反向域名格式如:X.X.X.in-addr.arpa。很多网络服务提供商要求访问的IP地址具有反向域名解析的结果,否则不提供服务
国家顶级域名下注册的二级域名均由该国家自行确定
3.域名服务器
因特网的域名系统被设计成一个联机分布式的数据库系统,并采用客户/服务器模型
域名到IP地址的解析是由运行在域名服务器上的程序完成的,一个服务器所负责管辖的(或有权限的)范围称为区(不以“域”为单位),各单位根据具体情况来划分自己管辖范围的区,但在一个区中的所有结点必须是能够连通的,每个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射
每个域名服务器不但能够进行一些域名到IP地址的解析,而且还必须具有连向其他域名服务器的信息。当自己不能进行域名到IP地址的转换时,能够知道到什么地方去找其他域名服务器
DNS使用了大量的域名服务器,它们以层次方式组织。没有一台域名服务器具有因特网上所有主机的映射,相反,该映射分布在所有的DNS上
采用分布式设计的DNS,是一个在因特网上实现分布式数据库的精彩范例。主要有4种类型的域名服务器
3.1 根域名服务器
3.2 顶级域名服务器
3.3 授权域名服务器(权限域名服务器)
3.4 本地域名服务器
4.域名解析过程
域名解析是指把域名映射成为IP地址或把IP地址映射成域名的过程。前者称为正向解析,后者称为反向解析
- 当客户端需要域名解析时,通过本机的DNS客户端构造一个
DNS请求报文
,以UDP数据报
方式发往本地域名服务器
- 域名解析有两种方式:
递归查询
和递归与迭代
相结合的查询
4.1 递归查询方式
4.2 常用递归与递归相结合的查询方式
- 为了提高DNS的查询效率,并减少因特网上的DNS查询报文数量,在域名服务器中广泛地使用了高速缓存
- 当一个DNS服务器接收到DNS查询结果时,它能将该DNS信息缓存在高速缓存中。这样,当另一个相同的域名查询到达该DNS服务器时,该服务器就能够直接提供所要求的IP地址,而不需要再去向其他DNS服务器询问
报文数量,在域名服务器中广泛地使用了高速缓存**- 当一个DNS服务器接收到DNS查询结果时,它能将该DNS信息缓存在高速缓存中。这样,当另一个相同的域名查询到达该DNS服务器时,该服务器就能够直接提供所要求的IP地址,而不需要再去向其他DNS服务器询问
- 因为主机名和IP地址之间的映射不是永久的,所以DNS服务器将在一段时间后丢弃高速缓存中的信息