1、 实验内容:网络层IP/ARP协议分析 一、实验目的 1、理解IP协议报文类型和格式,掌握IP V4 地址的编址方法。 2、分析 ARP 协议的报文格式,理解 ARP 协议的解析过程。 二、实验方式 每两位同学为一小组,每小组各自独立完成实验。 三、实验内容 1、IP协议分析实验 使用 Ping 命令在两台计算机之间发送数据报,用 Ethereal 截获数据报,分析 IP 数据报的格式,理解 IP V4 地址的编址方法,加深对 IP 协议的理解。 2、IP 数据报分片实验 我们已经从前边的实验中看到,IP 报文要交给数据链路层封装后才能发送。理想情况下,每个 I
2、P 报文正好能放在同一个物理帧中发送。但在实际应用中,每种网络技术所支持的最大帧长各不相同。例如:以太网的帧中最多可容纳 1500 字节的数据;FDDI帧最多可容纳 4470 字节的数据。这个上限被称为物理网络的最大传输单元(MTU,MaxiumTransfer Unit)。 TCP/IP 协议在发送 IP 数据报文时,一般选择一个合适的初始长度。当这个报文要从一个 MTU 大的子网发送到一个 MTU 小的网络时,IP 协议就把这个报文的数据部分分割成能被目的子网所容纳的较小数据分片,组成较小的报文发送。每个较小的报文被称为一个分片(Fragment)。每个分片都有一个 IP 报文头,分片后
3、的数据报的 IP 报头和原始 IP 报头除分片偏移、MF 标志位和校验字段不同外,其他都一样。图 5.2 显示了 Ethereal 捕获的 IP 数据报分片的分析情况,可参考。 图 5.2 IP 数据报分片示例 重组是分片的逆过程,分片只有到达目的主机时才进行重组。当目的主机收到 IP 报文时,根据其片偏移和标志 MF 位判断其是否一个分片。若 MF 为 0,片偏移为 0,则表明它是一个完整的报文;否则,则表明它是一个分片。当一个报文的全部分片都到达目的主机时,IP 就根据报头中的标识符和片偏移将它们重新组成一个完整的报文交给上层协议处理。 3、ARP协议分析实验 Arp 命令
4、简介 本次实验使用的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:删除由 ine
5、t_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 协议的报文格式,完成下列各题: 1)分析 IP 数据报头的格式,完成表
6、 5.2; 表 5.2 IP协议 字段 报文信息 说明 版本 4 头长 20bytes 服务类型 0xoo DSCP 0x00:Default;ECN:0x00 总长度 60 标识 0x062d 1581 标志 0x00 片偏移 0 生存周期 128 协议 ICMP 0x01 校验和 0xb001 correct 源地址 192.168.1.164 目的地址 192.168.1.158 2)查看该数据报的源 IP 地址和目的 IP 地址,他们分别是哪类地址?体会 IP 地址的编 址方法。
7、 答:他们是C类地址;IP地址编址方法:把IP地址划分为三个类别,各种网络的差异很大,有的网络拥有很多主机,而有的网络上的主机则很少。把IP地址划分为A类、B类、C类是为了更好地满足不同用户的要求。当某个单位申请到一个IP地址时,实际上时获得了具有同样网络号的一块地址。其中具体的各个主机号则由该单位自行分配,只要做到在该单位管辖的范围内无重复的的主机号即可。 2、IP数据报分片实验 步骤1:在 PC1、PC2 两台计算机上运行 Ethereal,为了只截获和实验有关的数据报,设 置 Ethereal 的截获条件为对方主机的 IP 地址,开始截获报文; 步骤2:在 PC1 上执行如
8、下 Ping 命令,向主机 PC2 发送 4500B 的数据报文: Ping –l 4500 –n 2 PC2的IP地址 步骤3:停止截获报文,分析截获的报文,回答下列问题: 1)以太网的 MTU 是多少? 2)对截获的报文分析,将属于同一ICMP 请求报文的分片找出来,主机 PC1 向主机 PC2 发送的 ICMP 请求报文分成了几个分片? 3)若要让主机PC1向主机PC2发送的数据分为 3 个分片,则 Ping 命令中的报文长度应为多大?为什么? 答:1)以太网的 MTU 是1500字节; 2)主机 PC1 向主机 PC2发送的 ICMP 请求报文分成了4个分片; 3)
9、若要让主机PC1向主机PC2发送的数据分为 3 个分片,则 Ping 命令中的报文长度应为4432字节,因为每个以太网帧中能够装载1480个字节,最后一个报文分片中还包括ICMP的报头,有8个字节,所以1480*3-8=4432(字节)。 4)将第二个 ICMP 请求报文的分片信息填入表 5.3: 表 5.3 ICMP请求报文分片信息 分片序号 标识(Identification) 标志(Flag) 片偏移(Fragment 数据长度 7 0x0dd5(3541) 0x02 0 1480 8 0x0dd5(3541) 0x02 1480 1480 9 0x
10、0dd5(3541) 0x02 2960 1480 3、ARP协议分析实验 步骤1:在 PC1、PC2 两台计算机上执行如下命令,清除 ARP 缓存: ARP –d 步骤2:在 PC1、PC2 两台计算机上执行如下命令,查看高速缓存中的 ARP 地址映射表 的内容: ARP –a 查看结果: 192.168.1.159 00-13-20-a5-a5-fd dynamic 192.168.1.170 00-13-20-a5-a6-f5 dynamic 步骤3:在 PC1 和 PC2 上运行 Ethereal 截获报文,为了
11、截获和实验内容有关的报文, Ethereal 的 Captrue Filter 设置为默认方式; 步骤4:在主机 PC1 上执行 Ping 命令向 PC2 发送数据报; 步骤5:执行完毕,保存截获的报文并命名为 arp-1-学号; 步骤6:在 PC1、PC2 两台计算机上再次执行 ARP –a 命令,查看高速缓存中的 ARP 地 址映射表的内容: 查看结果: 192.168.1.158 00-13-20-aa-f3-2a dynamic 1)这次看到的内容和步骤 3 的内容相同吗?结合两次看到的结果,理解 ARP 高速缓存 的作用。 答:内容结果不相同。ARP高速缓存
12、是动态的,每当发送一个指定地点的数据报且高速缓存中不存在当前项目时,ARP便会自动添加该项目。计算机进行路由选择时首先在ARP高速缓存中查找,如果没有找到,再通过广播请求消息来查找。 2)把这次看到到的高速缓存中的 ARP 地址映射表写出来。 答:192.168.1.158 00-13-20-aa-f3-2a dynamic 步骤7:重复步骤 4—5,将此结果保存为 arp-2-学号; 步骤8:打开 arp-1-学号,完成以下各题: )在截获的报文中有几个 ARP 报文?在以太帧中,ARP 协议类型的代码值是什么? 答:在截获的报文中有2个 ARP 报文;在以太帧中,ARP
13、协议类型的代码值是IP(0x0800)。 )打开 arp-2-学号,比较两次截获的报文有何区别?分析其原因。 答:在arp-2中没有ARP报文,这是因为在第一次操作时,已经将路由信息存入ARP高速缓存中,不用通过ARP广播请求消息来获得路由信息。 a) 分析 arp-1 中 ARP 报文的结构,完成表 5.4。 表 5.4 ARP报文分析 ARP请求报文 ARP应答报文 字段 报文信息及参数 字段 报文信息及参数 硬件类型 Ethernet(0x0001) 硬件类型 Ether net(0x0001) 协议类型 IP(0x0800) 协议类型 IP(0x0800) 硬件地址长度 6 硬件地址长度 6 协议地址长度 4 协议地址长度 4 操作 Request(0x0001) 操作 Reply(0x0002) 源站物理地址 00:13:20:a5:a8:71 源站物理地址 00:13:20:aa:f3:2a 源站IP地址 192.168.1.164 源站IP地址 192.168.1.158 目的站物理地址 00:00:00:00:00:00 目的站物理地址 00:13:20:a5:a8:71 目的站IP地址 192.168.1.158 目的站IP地址 192.168.1.164






