哈尔滨工程大学
《网络实验》
实验报告本
2013~20##学年第二学期
计算机与技术学院
20##年 06 月
第二篇:实验三网络层协议分析
实验三 网络层协议分析
一、实验目的
1、掌握 ping 和 tracert 命令的使用方法,了解 ICMP 协议报文类型及作用。
2、理解IP协议报文类型和格式,掌握IP V4 地址的编址方法。
3、分析 ARP 协议的报文格式,理解 ARP 协议的解析过程。
二、实验方式
每两位同学为一小组,每小组各自独立完成实验。
三、实验内容
1、ICMP协议分析实验
执行 ping 和 tracert 命令,分别截获报文,分析截获的 ICMP 报文类型和 ICMP 报文格式,理解 ICMP 协议的作用。
目前网络中常用的基于 ICMP 的应用程序主要有 ping 命令和 tracert 命令。
(1)ping 命令
Ping 命令是调试网络常用的工具之一。它通过发出 ICMP Echo 请求报文并监听其回应来
检测网络的连通性。图 1 显示了 Ethereal 捕获的 ICMP Echo 请求报文和应答报文。
图 1 ICMP Echo 请求报文和应答报文
Ping 命令只有在安装了 TCP/IP 协议之后才可以使用,其命令格式如下:
ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count]
[[-j host-list] | [-k host-list]] [-w timeout] target_name
这里对实验中可能用到的参数解释如下:
-t :用户所在主机不断向目标主机发送回送请求报文 ,直到用户中断;
-n count: 指定要 Ping 多少次,具体次数由后面的 count 来指定 ,缺省值为 4;
-l size: 指定发送到目标主机的数据包的大小 ,默认为 32 字节,最大值是 65,527;
-w timeout:指定超时间隔,单位为毫秒;
target_name:指定要 ping 的远程计算机。
(2)Traceroute 命令
Traceroute 命令用来获得从本地计算机到目的主机的路径信息。在 MS Windows 中该命
令为 Tracert,而 UNIX 系统中为 Traceroute。
Tracert 先发送 TTL 为 1 的回显请求报文,并在随后的每次发送过程将 TTL 递增 1,直
到目标响应或 TTL 达到最大值,从而确定路由。它所返回的信息要比 ping 命令详细得多,
它把您送出的到某一站点的请求包,所走的全部路由均告诉您,并且告诉您通过该路由的 IP
是多少,通过该 IP 的时延是多少。
Tracert 命令同样要在安装了 TCP/IP 协议之后才可以使用,其命令格式为:
tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name
参数含义为:
-d:不解析目标主机的名称;
-h:指定搜索到目标地址的最大跳跃数;
-j:按照主机列表中的地址释放源路由;
-w:指定超时时间间隔,程序默认的时间单位是毫秒。
2、IP协议分析实验
使用 Ping 命令在两台计算机之间发送数据报,用 Ethereal 截获数据报,分析 IP 数据报的格式,理解 IP V4 地址的编址方法,加深对 IP 协议的理解。
3、IP 数据报分片实验
我们已经从前边的实验中看到,IP 报文要交给数据链路层封装后才能发送。理想情况下,每个 IP 报文正好能放在同一个物理帧中发送。但在实际应用中,每种网络技术所支持的最大帧长各不相同。例如:以太网的帧中最多可容纳 1500 字节的数据;FDDI帧最多可容纳 4470 字节的数据。这个上限被称为物理网络的最大传输单元(MTU,MaxiumTransfer Unit)。
TCP/IP 协议在发送 IP 数据报文时,一般选择一个合适的初始长度。当这个报文要从一个 MTU 大的子网发送到一个 MTU 小的网络时,IP 协议就把这个报文的数据部分分割成能被目的子网所容纳的较小数据分片,组成较小的报文发送。每个较小的报文被称为一个分片(Fragment)。每个分片都有一个 IP 报文头,分片后的数据报的 IP 报头和原始 IP 报头除分片偏移、MF 标志位和校验字段不同外,其他都一样。图 5.2 显示了 Ethereal 捕获的 IP 数据报分片的分析情况,可参考。
图 5.2 IP 数据报分片示例
重组是分片的逆过程,分片只有到达目的主机时才进行重组。当目的主机收到 IP 报文时,根据其片偏移和标志 MF 位判断其是否一个分片。若 MF 为 0,片偏移为 0,则表明它是一个完整的报文;否则,则表明它是一个分片。当一个报文的全部分片都到达目的主机时,IP 就根据报头中的标识符和片偏移将它们重新组成一个完整的报文交给上层协议处理。
4、ARP协议分析实验
Arp 命令简介
本次实验使用的Windows自带的Arp命令提供了显示和修改地址解析协议所使用的地址
映射表的功能。
Arp 命令的格式要求如下:
ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr]
其中:
-s:在 ARP 缓存中添加表项:将 IP 地址 inet_addr 和物理地址 ether_addr 关联,物理
地址由以连字符分隔的 6 个十六进制数给定,使用点分十进制标记指定 IP 地址,添加
项是永久性的;
-d:删除由 inet_addr 指定的表项;
-a:显示当前 ARP 表,如果指定了 inet_addr 则只显示指定计算机的 IP 和物理地址;
inet_addr:以点分十进制标记指定 IP 地址;
-N:显示由 if_addr 指定的 ARP 表项;
if_addr:指定需要选择或修改其地址映射表接口的 IP 地址;
ether_addr:指定物理地址;
四、实验步骤
1、ICMP协议分析
步骤1:分别在 PC1 和 PC2 上运行 Ethereal,开始截获报文,为了只截获和实验内容有
关的报文,将 Ethereal 的 Captrue Filter 设置为“No Broadcast and no Multicast”;
步骤2:在 PC1 以 PC2 为目标主机,在命令行窗口执行 Ping 命令;
请写出执行的命令:_____________________________________________________
步骤3:停止截获报文,将截获的结果保存为 ICMP-1-学号,分析截获的结果,回答下
列问题:
1)您截获几个 ICMP 报文?分别属于那种类型?
___________________________________________________________________________
_______________________________________________________________________________
2)分析截获的 ICMP 报文,查看表 5.1 中要求的字段值,填入表中。
表 5.1 ICMP报文分析
分析在上表中哪个字段保证了回送请求报文和回送应答报文的一一对应,仔细体会Ping 命令的作用。
___________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
步骤4:在 PC1 上运行 Ethereal 开始截获报文;
步骤5:在PC1上执行Tracert命令,向一个本网络中不存在的主机发送数据报,如:Tracert
172.16.20.200;
步骤6:停止截获报文,将截获的结果保存为 ICMP-2-学号,分析截获的报文,回答下
列问题:
1)截获了报文中哪几种 ICMP 报文?其类型码和代码各为多少?
________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
2)在截获的报文中,超时报告报文的源地址是多少?这个源地址指定设备和 PC1 有何
关系?
___________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
3)通过对两次截获的 ICMP 报文进行综合分析,仔细体会 ICMP 协议在网络中的作用。
___________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
2、IP协议分析
步骤1:截获 PC1 上 ping PC2 的报文,结果保存为 IP-学号;
步骤4:任取一个数据报,分析 IP 协议的报文格式,完成下列各题:
1)分析 IP 数据报头的格式,完成表 5.2;
表 5.2 IP协议
2)查看该数据报的源 IP 地址和目的 IP 地址,他们分别是哪类地址?体会 IP 地址的编
址方法。
___________________________________________________________________________
_______________________________________________________________________________
3、IP数据报分片实验
步骤1:在 PC1、PC2 两台计算机上运行 Ethereal,为了只截获和实验有关的数据报,设
置 Ethereal 的截获条件为对方主机的 IP 地址,开始截获报文;
步骤2:在 PC1 上执行如下 Ping 命令,向主机 PC2 发送 4500B 的数据报文:
Ping –l 4500 –n 2 PC2的IP地址
步骤3:停止截获报文,分析截获的报文,回答下列问题:
1)以太网的 MTU 是多少?
A)对截获的报文分析,将属于同一ICMP 请求报文的分片找出来,主机 PC1 向主机 PC2
发送的 ICMP 请求报文分成了几个分片?
B)若要让主机PC1向主机PC2发送的数据分为 3 个分片,则 Ping 命令中的报文长度应为多大?为什么?
___________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
4)将第二个 ICMP 请求报文的分片信息填入表 5.3:
表 5.3 ICMP请求报文分片信息
4、ARP协议分析实验
步骤1:在 PC1、PC2 两台计算机上执行如下命令,清除 ARP 缓存:
ARP –d
步骤2:在 PC1、PC2 两台计算机上执行如下命令,查看高速缓存中的 ARP 地址映射表
的内容:
ARP –a
步骤3:在 PC1 和 PC2 上运行 Ethereal 截获报文,为了截获和实验内容有关的报文,
Ethereal 的 Captrue Filter 设置为默认方式;
步骤4:在主机 PC1 上执行 Ping 命令向 PC2 发送数据报;
步骤5:执行完毕,保存截获的报文并命名为 arp-1-学号;
步骤6:在 PC1、PC2 两台计算机上再次执行 ARP –a 命令,查看高速缓存中的 ARP 地
址映射表的内容:
1)这次看到的内容和步骤 3 的内容相同吗?结合两次看到的结果,理解 ARP 高速缓存
的作用。
___________________________________________________________________________
_______________________________________________________________________________
2)把这次看到到的高速缓存中的 ARP 地址映射表写出来。
___________________________________________________________________________
_______________________________________________________________________________
步骤7:重复步骤 4—5,将此结果保存为 arp-2-学号;
步骤8:打开 arp-1-学号,完成以下各题:
)在截获的报文中由几个 ARP 报文?在以太帧中,ARP 协议类型的代码值是什么?
___________________________________________________________________________
_______________________________________________________________________________
)打开 arp-2-学号,比较两次截获的报文有何区别?分析其原因。
___________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
a) 分析 arp-1 中 ARP 报文的结构,完成表 5.4。
表 5.4 ARP报文分析