2010-5-13 1
计算机网络
Computer Networks
第九讲 网络应用(二)
DNS:域名系统
2010-5-13 2
域名系统
2010-5-13 3
名字服务系统
? 32 bits的 IP地址难于记忆,对于用户而
言,主机的名字比主机的 IP地址更易于
记忆。
? 人, 身份证号码 姓名
? 主机,IP地址 主机名
? 早期的名字服务主要依靠 hosts文件来实

2010-5-13 4
名字服务系统
? Hosts文件保存每台主机连接 Internet的
有关信息,包括主机的 IP地址和名字
? 文件是平面结构,没有任何分类等级,
要求分配给主机的名字是唯一的
? 主要问题:
? 名字冲突
? 不易管理
2010-5-13 5
? 使用简单的文件 hosts.txt,罗列出所有的主机
域名和它们的 IP地址。在当今网络中,已经
连接了成百上千的主机,这种静态的文件就太
大了。域名系统 DNS(Domain Name System)就
是完成域名地址和 IP地址之间相互转换的程序。
? 域名系统 DNS是典型的客户 /服务器模式。域
名系统 DNS的核心是分级的、基于域的命名机
制以及为了实行这个命名机制的分布式数据库
系统。
域名系统
2010-5-13 6
DNS (域名系统)
? 层次型命名机制
? 例如,student.comp.gzu.edu.cn,说明该
主机位于中国教育网中贵州大学计算机系
网络中,主机名为 student。
gzu edu.cn
DNS ARP210.40.0.33 04 002 A00E037
IP 物理地址
DNS的作用是将主机名字转换成二进制 IP地址
2010-5-13 7
域名的名字空间
? 域名的定义域名是层次化的,形成一棵倒挂
的树。树状结构为:
? 根
? 在根下的顶级 (top)域名
? 3字符域,generic
? 2字符域,country
? 在某个顶级域名下的第二级域名
? 在某个第二级域名下的第三级域名
? 叶:主机域名
2010-5-13 8
域名的名字空间
? Internet被分成了几百个顶层域,每个
域又被划分成子域。顶层域中分成两个
大类:一般的 (3个字符 )和国家的 (2个字
符 )。几乎所有的美国组织都处于一般域
中,非美国组织都列在自己所在国家的
域下。
2010-5-13 9
gzupku
cn edujp comorg,..ukca,..

edu comorg,.,mit cmu...
zju
ee emcomp,..
mail www
www cs
ftp
顶层
第二层
第三层
第四层
第五层
域名的树状结构图
2010-5-13 10
常见的顶级域名
域名 含义 域名 国家
c om 商业部门 jp 日本
ed u 教育部门 de 德国
ne t 大型网络 ca 加拿大
mi l 军事部门 uk 英国
go v 政府部门 a u 澳大利亚
or g 组织机构 c n 中国
2010-5-13 11
域名的命名机制
? 主机域名
? 主机名,最低级域名, ……, 最高级域名
? 例如,主机 student.comp.gzu.edu.cn
路径 ftp.gzu.edu.cn/incoming/
? 一个域名按照从自身向上至顶层域的路径命
名,中间用圆点分隔。其中最重要的顶级域
在右边,最左边是主机名,中间为子域名。
? 域名对大小写不敏感,每个子域名最多不能
超过 63个字符,路径全名不能超过 255个字符。
2010-5-13 12
域名的区域划分
? 区域 (zone)将域名树划分成互不交叉的
子树,一棵子树形成一个区域。每个区
域可以划分成更小的区域。
? 每个域能够控制如何分配它下面的子域,
要创建一个新的域必须征得它所属域的
同意。
2010-5-13 13
域名的区域划分
? 区域的权威代表网络信息中心 NIC,它对域名
的管理职能包括:
? 申请和分配 IP地址
? 提供域名注册服务
? 提供域名 /地址解析服务( DNS服务)
? 与上级管理域和其他域共同维护 DNS信息
? 主要的 NIC机构有
? 国外,InterNIC(北美及其地区 ),RIPENIC(欧洲 ),
APNIC(亚洲 )
? 国内,CNNIC,CERNET
2010-5-13 14
域名服务器
? 根域名服务器
? 记录所有第二级域名的 DNS信息
? 分布在网络的不同地方,具有公开的 IP地址
? 域名服务器的功能
? 记录本域的域名注册信息
? 提供 IP地址 /域名的解析服务
? 域内服务:直接解析
? 域外服务:可以提交给根域名服务器,可以与其他服务
器即时交换全网的 DNS信息。
? 提供域名信息查询服务
? 域名服务器的配置
域名服务器至少由两台独立的主机构成,一
台 (primary)记录原始数据,一台 (secondary)
做 备份用。
2010-5-13 15
? DNS定义在 RFC 1035中。在 DNS的数据库中用资源记录来表示
主机和子域的信息,当应用程序进行域名解析时,得到的便是
域名所对应的资源记录。
? 资源记录是一个五元式:
? 域名 Domain Name
? 生存时间 TTL:以秒为单位
? 类型 Type:主要有 8种
? 类别 Class,IN
? 值 Value:对应于类型描述
域名 生存时间 记录类型 网络类型 值
ns.edu.cn 86400 A IN 202.112.1.1
pku.edu.cn 86400 NS IN 202.113.1.1
www.edu.cn 86400 CNAME IN ns.edu.cn
域名的资源记录
2010-5-13 16
资源记录中的类型
Type Description Value
SOA Start of authority 该区的参数
A 一个主机的 IP 地址 32bits
MX 邮件交换 优先权,该域愿意接收的电子邮件
NS 名字服务器 本域的服务器名
CNAME 规范名 域名
PTR 指针 IP 地址的别名
HINFO 主机描述 以 ASCII 码表示的 CPU 和 OS
TXT 文本 未解释的 ASCII 文本
2010-5-13 17
域名解析
? 递归解析
? 反复解析
2010-5-13 18
本地 DNS
服务器
本地主机
应用程序 解析器
根 DNS
服务器远程二级DNS服务器远程三级DNS服务器
? ?
?
??
? ?
?
??
请求域名解析 管辖 edu.cn
返回解析结果 管辖 mit.edu
管辖 cs.mit.edu
保存了 ftp.cs.mit.edu的 IP地址
域名解析方法 1:递归解析
? 递归解析 (Recursive resolution)
? 一次域名服务请求即可自动完成域名 /IP地址之间
的转换,由 DNS服务器软件连锁完成,不适于频
繁的域名解析应用。
2010-5-13 19
远程二级
DNS服务器
本地 DNS
服务器
本地主机
应用程序 解析器
根 DNS
服务器
远程三级
DNS服务器
? ?
? ????
??
请求域名解析 管辖 edu.cn
返回解析结果
管辖 mit.edu管辖 cs.mit.edu
保存了 ftp.cs.mit.edu的 IP地址
?
不能解析,
告知下一
个 DNS
不能解析,
告知下
一个 DNS
域名解析方法 2:反复解析
? 反复解析 (iterative resolution)
? 需要向不同 DNS服务器依次发送请求
? 加重本地 DNS服务器的负担
2010-5-13 20
域名解析算法
开 始
结 束
构造 DNS报文
发往指定服务器
从数据库中取出相应的地址
将结果返回求解方给出可用的服务器地址 递归求解
可以解析
那种方式?
YESNO
递归反复
求解方完成
服务器完成
2010-5-13 21
域名解析的实现
? 当某个应用程序 A需要进行域名解析时(从域
名到 IP地址),A就是域名系统的一个客户方。
? 域名解析的过程:
? 一个区域内的机器上的应用程序进行域名解析时,
首先向该区域的域名服务器发出解析请求,若查
找到,则返回域名对应的资源记录。
? 若找不到,该域名服务器向所查找域名的顶级域
的域名服务器发出解析请求。
? 顶级域的域名服务器通过向下的层次查询得到对
应的资源记录,返回给该域名服务器。
? 最后资源记录被返回给发起域名解析的机器,并
在该区域的域名服务器中做缓存。
2010-5-13 22
.edu顶级
域名服务器
域名管理原则:
每一个域名服务器
都只对域名体系中
的一部分进行管辖
edu com
abc xyz
“树根”
.com顶级域
名服务器
abc
x y
u v w
w
xyz
m
Internet
① 作为 DNS的一个客户
先向本地域名服务器发
送查询,
IP(w.x.abc.com)=?
② 本地 DNS不知道所查
的域名,向顶级查询?
IP(w.x.abc.com)=?
③,com顶级并不知道,
但返回 abc.com
授权服务器的 IP
2010-5-13 23
abc.com
授权服务

edu com
abc xyz
“树根”
.com顶级域
名服务器
abc
x y
u v w
w
xyz
m
Internet
x
④ 根据返回的 IP地址
又向 abc.com授权服
务器查询。
IP(w.x.abc.com)=?
⑥ xyz本地服
务器将此 IP返
回给 DNS客户
⑤ 返回域名为:
w.x.abc.com
的 IP
2010-5-13 24
DNS性能的优化
? 阅读 193页 13.2.4节,回答以下问题:
? 如何优化 DNS的性能?
? DNS服务器使用两种性能优化技术:
? 复制
? 存在多个根服务器的复本,配置根服务器列表,
选择响应最快的根服务器
? 缓存
? 每个服务器都有一个域名缓存,用于记录已知
的域名和 IP地址的绑定