当前课程知识点:计算机网络 > 第六章 应用层 > 6.2 DNS > DNS
这一节我们来学习
域名解析协议DNS相关的内容
我们首先粗略的了解一下
域名解析协议的大致内容
比如人有很多身份标识
如身份证号、姓名等
同时互联网范围内的主机和路由
也有很多身份标识
如IP地址(32bit)、域名等
那么域名和IP地址之间是如何映射的呢
这里就提出了DNS
首先 域名系统DNS并不是
直接和用户打交道的网络应用
相反
DNS为其他各种网络应用提供一种核心服务
即名字服务
用来把计算机的名字
转换为对应的IP地址
其次 名字到 IP 地址的解析
是由若干个域名服务器程序完成
域名服务器程序在专设的结点上运行
运行该程序的机器称为域名服务器
为什么互联网中的主机或者域名
同时需要名称和IP地址呢
我们以中南民族大学域名以及IP地址为例
Name:www.scuec.edu.cn
IP地址:210.42.144.60
如例子所示
是固定长度的数字
不方便记忆
而域名方便记忆且灵活
且具有以下特点
第一 可变长度
第二 单个IP地址有多个名称
第三 更改地址并不意味着更改名称.
第四 iPv6 地址有128位 更难记忆
下面我们来介绍正向解析
反向解析以及区域的概念
正向解析是指域名到IP地址的解析过程
我们经常提到的域名解析是指正向解析
而反向解析是从IP地址到域名的解析过程
一般反向解析的作用为服务器的身份验证
而区域则是DNS名称空间的一部分
其包含了一组
存储在DNS服务器上的资源记录
使用区域的概念
DNS服务器回答关于自己区域中主机的查询
每个区域都有自己的授权服务器
客户端查询edu.cn提供的
DNS服务的解决方案
多层命名服务器构成的分布式数据库
为什么不使用集中式的DNS呢
单点失败问题
流量问题
距离问题
维护性问题
客户端想要查询www.scuec.edu.cn的IP地址
客户端查询根服务器
找到cn域名解析服务器
客户端查询cn域名解析服务器
找到edu.cn域名解析服务器
域名解析服务器
获得scuec.edu.cn域名服务器
客户端查询scuec.edu.cn域名解析服务器
获得www.scuec.edu.cn的IP地址
接下来介绍因特网的域名结构
由于因特网的用户数量较多
所以因特网在命名时采用的是
层次树状结构的命名方法
任何一个连接在因特网上的主机或路由器
都有一个唯一的层次结构的名字
即域名(domain name)
DNS规定
域名的标号有很详细的规则设定
级别最低的域名写在最左边
而级别最高的字符写在最右边
由多个标号组成的完整域名
总共不超过255个字符
DNS的种种设计可使每一个域名
在整个互联网范围内是唯一的
并且也容易设计出一种查找域名的机制
如ppt所示
mail.cctv.com是中央电视台用于
收发电子邮件的设计的计算机域名
它由三个标号组成
其中标号com是顶级域名
标号cctv是二级域名
标号mail是三级域名
下面给出域名的范围
国家顶级域名nTLD
采用ISO3166的规定
如 cn代表中国
uk代表英国 等等
国家域名又常记为ccTLD
cc表示国家代码contry-code
二 通用顶级域名gTLD
最常见的通用顶级域名有7个
即com(公司企业)
net(网络服务机构)
org(非营利机构)
int(国际组织)
gov(美国的政府部门)
mil(美国的军事部门)
三 基础结构域名(infrastructure domain)
这种顶级域名只有一个 即arpa
用于反向域名解析
因此称为反向域名
四 权威(Authoritative)域名服务器
组织的域名解析服务器
提供组织内部服务器的解析服务
组织负责维护
服务提供商负责维护
如果采用上述的树状结构
每一个节点都采用一个域名服务器
这样会使得域名服务器的数量太多
使域名服务器系统的运行效率降低
所以在DNS中
采用划分区的方法来解决
一个服务器所负责管辖或有权限的
范围叫做区(zone)
各单位根据具体情况来划分自己管辖范围的区
但在一个区中的所有节点必须是能够连通的
每一个区设置的相应的权限域名服务器
用来保存该区中的所有主机
到域名IP地址的映射
总之 DNS服务器的管辖范围
不是以域为单位
而是以区为单位
区是DNS服务器实际管辖的范围
区小于等于域
如图 给出了公司abc域名服务器树状结构图
这种DNS域名服务器树状结构图
可以更准确地反映出DNS的分布式结构
图中 每一个域名服务器都能够进行
部分域名到IP地址的解析
当某个DNS服务器不能进行
域名到IP地址的转换时
它就没办法找到互联网上
别的域名服务器进行解析
接下来我们介绍DNS 的首部地址
并不是所有DNS报文都有
如图所示的各个部分的
图中标示的12字节为DNS首部
这部分肯定都会有
回答 授权和额外信息部分是只出现在
DNS应答报文中的
这三部分又都是采用资源记录的相同格式
标识是由客户程序设置并由服务器返回结果
即DNS报文的ID
对于相关联的请求报文和应答报文
这个字段是相同的
由此可以区分DNS应答报文
是哪个请求报文的响应
如图 可以看到各个标识的分布
QR(1比特) 查询/响应的标志位
1为响应 0为查询
opcode(4比特) 定义查询或响应的类型
若为0则表示是标准的
若为1则是反向的
若为2则是服务器状态请求
AA(1比特) 授权回答的标志位
1表示名字服务器是权限服务器
TC(1比特) 截断标志位
1表示响应已超过512字节并已被截断
RD(1比特)
该位为1表示客户端希望得到递归回答
RA(1比特) 只能在响应报文中置为1
表示可以得到递归响应
zero(3比特) 不说也知道都是0了 保留字段
rcode(4比特) 返回码 表示响应的差错状态
通常为0和3
问题数、资源记录数、授权资源记录数和
额外资源记录数
这四个字段都是两字节
分别对应下面的查询问题、回答、授权和
额外信息部分的数量
一般问题数都为1
DNS查询报文中
资源记录数、授权资源记录数和
额外资源记录数都为0
由图所示
我们使用wireshark抓包软件进行了一次
简单的抓包分析
我们可以看到抓包以后各个参数的显示
其中有日期、时间、字节长度等等
下面讨论一下域名的解析过程以及查询方式
DNS的查询方式主要有两种
一 递归查询
递归查询是一种DNS服务器的查询模式
在该模式下DNS服务器接收到客户机请求
必须使用一个准确的查询结果回复客户机
如DNS服务器本地没有存储(即缓存)
查询的DNS信息
那么该服务器会询问其他服务器
并将返回的查询结果提交给客户机
二 迭代查询
DNS服务器另外一种查询方式为迭代查询
当客户机发送查询请求时
DNS服务器并不直接回复查询结果
而是告诉客户机另一台DNS服务器的地址
客户机再向这台DNS服务器提交请求
依次循环直到返回查询的结果为止
现在有一个任务
web.scuec.edu.cn主机想获得
www.ccnu.edu.cn的主机
递归查询解决方案将域名解析的任务
交给所联系的服务器
由域名服务器之间深度查询从而获得结果
迭代查询解决方案
被查询服务器返回域名解析服务器的名字
表达的含义是我不认识这个域名
但是你可以询问这个域名服务器
看它是否知道
域名解析总体过程如下
第一 输入域名后
先查找自己主机对应的域名服务器
域名服务器先查找自己的数据库中的数据
二 如果没有
就向上级域名服务器进行查找
依次类推
三 最多回溯到根域名服务器,
肯定能找到这个域名的IP地址
域名服务器自身也会进行一些缓存
把曾经访问过的域名和对应的IP地址缓存起来
可以加速查找过程
如图为DNS查询的一个实例
计算机pepper要访问www.baidu.cn
过程如下
第一向DNS服务器查询IP地址
由于scuec的DNS 服务器并不知道
www.baidu.cn的IP地址是什么
它向根域名服务器请求查询
三 由于根域名服务器知道www.baidu.cn的IP地址
因此将地址返回
四 向baidu.cn域名服务器查询www.baidu.cn的IP地址
五 将查询到的IP地址返回给客户端
六 pepper开始与www.baidu.cn 进行直接通信
-1.1 计算机网络的发展历程及其在信息时代中的作用
-1.2 互联网的组成
--互联网的组成
-1.3 电路交换和分组交换
-1.4 计算机网络的性能
--计算机网络的性能
-1.5 计算机网络体系结构和层次划分
-第一章
-2.1 数据通信系统模型
--数据通信系统模型
-2.2 导向型传输媒体
--导向型传输媒体
-2.3 光导纤维
--光导纤维
-2.4 非导向型传输媒体
--非导向型传输媒体
-2.5 信道的极限容量
--信道的极限容量
-2.6 信道复用技术
--信道复用技术
-2.7 ADSL
--ADSL
-第二章
-3.1 数据链路层的三个基本问题
-3.2 CSMA/CD协议
-3.3 虚拟局域网
--虚拟局域网
-3.4 扩展的以太网
--扩展的以太网
-3.5 高速以太网
--高速以太网
-第三章
-4.1 分类的IP地址-划分子网
-4.2 无分类编址-构造超网
-4.3 ICMP协议
--ICMP协议
-4.4 路由器结构
--路由器结构
-4.5 RIP协议
--RIP协议
-4.6 IP多播
--IP多播
-第四章
-5.1 用户数据报协议UDP
-5.2 TCP报文段首部格式
-5.3 可靠传输工作原理
--可靠传输工作原理
-5.4 字节为单位的滑动窗口实现
-第五章
-6.1 网络应用层
--网络应用层
-6.2 DNS
--DNS
-6.3 FTP
--FTP
-6.4 HTTP
--HTTP
-6.5 P2P
--P2P
-6.6 计算机网络面临的安全性威胁
-6.7 防火墙
--防火墙
--第六章
-7.1 交换机基本配置
--交换机基本配置
-7.2 路由器基本配置
--路由器基本配置
-7.3 交换机端口隔离
--交换机端口隔离
-7.4 跨交换机实现相同VLAN通信
-7.5 动态路由
--动态路由
-7.6 静态路由
--静态路由