数据分片,组成较小的报文发送。每个较小的报文被称为一个分片(Fragment)。每个分片都有一个 IP 报文头,分片后的数据报的 IP 报头和原始 IP 报头除分片偏移、MF 标志位和校验字段不同外,其他都一样。图 5.2 显示了 Ethereal 捕获的 IP 数据报分片的分析情况,可参考。
图 5.2 IP 数据报分片示例
重组是分片的逆过程,分片只有到达目的主机时才进行重组。当目的主机收到 IP 报文时,根据其片偏移和标志 MF 位判断其是否一个分片。若 MF 为 0,片偏移为 0,则表明它是一个完整的报文;否则,则表明它是一个分片。当一个报文的全部分片都到达目的主机时,IP 就根据报头中的标识符和片偏移将它们重新组成一个完整的报文交给上层协议处理。
3、ARP协议分析实验 Arp 命令简介
本次实验使用的Windows自带的Arp命令提供了显示和修改地址解析协议所使用的地址
11
映射表的功能。
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、IP协议分析
步骤1:截获 PC1 上 ping PC2 的报文,结果保存为 IP-学号; 步骤4:任取一个数据报,分析 IP 协议的报文格式,完成下列各题:
12
1)分析 IP 数据报头的格式,完成表 3.1; 表 3.1 IP协议 字段 版本 头长 服务类型 总长度 标识 标志 片偏移 生存周期 协议 校验和 源地址 目的地址 2)查看该数据报的源 IP 地址和目的 IP 地址,他们分别是哪类地址?体会 IP 地址的编址方法。
__________________________________________________________________________________________________________________________________________________________
2、IP数据报分片实验
步骤1:在 PC1、PC2 两台计算机上运行 Ethereal,为了只截获和实
13
报文信息 说明
验有关的数据报,设置 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 请求报文的分片信息填入表 3.2: 表 3.2 ICMP请求报文分片信息 分片序号 3、ARP协议分析实验
步骤1:在 PC1、PC2 两台计算机上执行如下命令,清除 ARP 缓存: ARP –d
14
标识标志片偏移数据长度 (Identification) (Flag) (Fragment
步骤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-学号,比较两次截获的报文有何区别?分析其原因。
15