域名服务(DNS)
《计算机网络实验》实验报告实验名称: 域名服务(DNS)年 级: 2010级专 业: 软件工程班 级: 2班姓 名:学 号:成 绩:指导教师: 卢
《计算机网络实验》实验报告
实验名称: 域名服务(DNS)
年 级: 2010级
专 业: 软件工程
班 级: 2班
姓 名:
学 号:
成 绩:
指导教师: 卢 正 添
提交报告时间: 2013年月 20日 5
,一、实验目的
1. 掌握DNS 的报文格式
2. 掌握DNS 的工作原理
3. 掌握DNS 域名空间的分类
4. 理解DNS 高速缓存的作用
二、实验环境
该实验采用网络结构一

注:我是主机B
三、实验步骤与实验结果
练习名称
DNS 正向查询
练习内容
本练习将主机A 和B 作为一组,主机C 和D 作为一组,主机E 和F 作为一组。现仅以主机A 、B 所在组为例,其它组的操作参考主机A 、B 所在组的操作。
【说明】
,● 本练习中要求每台主机配置DNS 服务器,(DNS 服务器的IP 地址即服务器的IP 地址)其IP 地址以172.16.0.253为例。
● 各组主机IP 地址配置如下:
第一组六台主机IP 地址依次为172.16.0.11,172.16.0.12 „„ 172.16.0.16; 第二组六台主机IP 地址依次为172.16.0.21,172.16.0.22 „„ 172.16.0.26; 其它各组以此类推。
1. 在主机B 上执行命令“nslookup 主机B 的IP ”获取主机B 的域名,并告知主机A 。

2. 主机A 启动协议编辑器,编写一个DNS 正向查询报文。其中:
MAC 层:
源MAC 地址:本机MAC 地址
目的MAC 地址:服务器的MAC 地址
IP 层:
源IP 地址:本机IP 地址
目的IP 地址:服务器的IP 地址(默认为172.16.0.253)
总长度:IP 层及其上层协议总长度
校验和:IP 层字段全部编辑完成后,计算IP 层校验和
UDP 层:
源端口:大于1024的端口
目的端口:53
有效负载长度:UDP 层及其上层协议总长度
校验和:所有字段编辑完成后,计算校验和
,DNS 层:
标志:0100
问题记录数:1
域名循环体:选中第一个“域名循环体”项,点击右边按钮[B]来追加域名块。按格式要求填写步骤1获取的主机B 的域名。
例如:设步骤1中获取的域名为host12.Netlab ,则追加2块。选中“域名循环体”下的“长度”项,修改长度值;出现“域标记”项,选中“域标记”项,点击右边按钮[E]输入相应的值。最后一块“长度”字段为0。
查询类型:1
查询类别:1
设置如图所示:

图11-19 DNS 帧的编辑
3. 主机B 启动协议分析器开始捕获数据,并设置过滤条件(提取DNS 协议)。
4. 主机A 发送已编辑好的报文。
5. 主机B 停止捕获数据。在捕获到的数据中查找DNS 响应报文。
● 在响应报文中提取主机B 的IP 地址。

思考问题
1. 域名的IP 地址是否只有一个?
答:一个域名可以对应多个IP 地址,不止一个。
2. 域名服务协议的主要功能是什么?域名服务协议中的根服务器和授权服务器有何区别?授权服务器与管辖区有何关系?
答 : 域名系统的主要功能:将域名解析为主机能识别的 IP 地址。
因特网上的域名服务器系统也是按照域名的层次来安排的。每一个域名服务器都只对域名体系中的一部分进行管辖。共有三种不同类型的域名服务器。即本地域名服务器、根域名服务器、授权域名服务器。当一个本地域名服务器不能立即回答某个主机的查询时,该本地域名服务器就以 DNS 客户的身份向某一个根域名服务器查询。若根域名服务器有被查询主机的信息,就发送 DNS 回答报文给本地域名服务器,然后本地域名服务器再回答发起查询的主机。但当根域名服务器没有被查询的主机的信息时,它一定知道某个保存有被查询的主机名字映射的授权域名服务器的 IP 地址。通常根域名服务器用来管辖顶级域。根域名服务器并不直接对顶级域下面所属的所有的域名进行转换,但它一定能够找到下面的所有二级域名的域名服务器。每一个主机都必须在授权域名服务器处注册登记。通常,一个主机的授权域名服务器就是它的主机 ISP 的一个域名服务器。授权域名服务器总是能够将其管辖的主机名转换为该主机的 IP 地址。
因特网允许各个单位根据本单位的具体情况将本域名划分为若干个域名服务器管辖区。一般就在各管辖区中设置相应的授权域名服务器。
练习名称
DNS 反向查询
练习内容
本练习将主机A 和B 作为一组,主机C 和D 作为一组,主机E 和F 作为一组。现仅以主机A 、B 所在组为例,其它组的操作参考主机A 、B 所在组的操作。
1. 该练习中,DNS 服务器及各主机IP 地址配置同练习二。
2. 主机A 启动协议编辑器,编写一个DNS 反向查询报文。其中:
MAC 层:
源MAC 地址:本机MAC 地址
目的MAC 地址: 服务器的MAC 地址
IP 层:
源IP 地址:本机IP 地址
目的IP 地址:服务器的IP 地址(默认为172.16.0.253)
总长度:IP 层及其上层协议总长度
校验和:IP 层字段全部编辑完成后,计算IP 层校验和
UDP 层:
源端口:大于1024的合法端口号
目的端口:53
有效负载长度:UDP 层及其上层协议总长度
,校验和:所有字段编辑完成后,计算校验和
DNS 层:
标志:0100
问题记录数:1
域名循环体:选中“域名循环体”项,点击右边按钮[B]来追加域名块。按格式要求填写主机B 反向域域名(反转IP .in-addr.arpa)。例如:设主机B 的IP 地址为172.16.0.12,则它的反向域为12.1.16.172.in-addr.arpa ,这需要追加6个块,其中最后一个块“长度”字段为0,如图所示:
图11-20 DNS 帧的编辑

查询类型:12
查询类别:1
3. 主机B 启动协议分析器开始数据捕获,设置过滤条件(提取DNS 协议)。
4. 主机A 发送已编辑好的报文。
5. 主机B 停止捕获数据。在捕获到的数据中查找DNS 响应报文。
,
● 在响应报文中提取主机B 的域名地址。
练习名称
DNS 的应用及高速缓存
练习内容
本练习将主机A 和B 作为一组,主机C 和D 作为一组,主机E 和F 作为一组。现仅以主机A 、B 所在组为例,其它组的操作参考主机A 、B 所在组的操作。
1. 该练习中,DNS 服务器及各主机IP 地址配置同练习二。
2. 主机A 在命令行下执行“ipconfig /flushdns”命令来清空DNS 高速缓存。
3. 主机B 启动协议分析器开始捕获数据并设置过滤条件(提取DNS 协议和ICMP 协议)。
4. 主机A 在命令行下执行“ping 主机B 的域名”命令,然后执行“ipconfig /displaydns”命令来显示DNS 高速缓存。在缓存中找到主机B 的域名所对应的记录。
5. 主机A 在命令行下再次执行“ping 主机B 的域名”命令。
6. 主机B 停止捕获,分析其捕获的数据及主机A 的DNS 高速缓存中的内容,
,

回答问题:
● 简述在使用域名完成的通信中,DNS 协议所起到的作用。
答:将域名解析为IP 地址。
● 简述DNS 高速缓存的作用。
答:可大大减轻根域名服务器的负荷, 使因特网上的 DNS 查询请求和回答报文的数量大为减少。
● 参考主机B “会话分析”视图的显示结果,绘制此次访问过程的报文交互图(包括ICMP 协议)。
7. 恢复网络环境,将“首选DNS 服务器”清空。