实验五网络层协议分析
一、实验目的
1. 分析IP协议报文格式,掌握IPv4 地址的编址方法;
2. 分析 ARP 协议的报文格式,理解 ARP 协议的解析过程。
二、实验内容
1. 学习IP协议的通信过程;
2. 分析IP协议和ARP报文格式;
3. 分析IP数据报的分片过程。
三、实验原理
IP实现两个基本功能:寻址和分段。IP可以根据数据报头部中包括的IP目的地址将数据报传送到目的地址,在此过程中IP负责选择传送的路径,称为路由功能。如果有些网络内只能传送小数据报,IP可以将数据报重新组装并在报头域内注明。IP模块中包括这些基本功能,这些模块存在于网络中的每台主机和网关上,而且这些模块(特别在网关上)有路由选择和其它服务功能。
IP数据报格式:
IP不提供可靠的传输服务,它不提供端到端的或(路由)结点到(路由)结点的确认,
对数据没有差错控制,它只使用头部检验和,它不提供重发和流量控制。如果出错可以通过ICMP报告,ICMP在IP模块中实现。
四、实验步骤
1. IP数据报分析
启动Wireshark软件,开始报文捕获,并过滤得到IP报文。
根据捕获的数据包,分析IP的报文结构,将IP协议中各字段名,字段长度,字段信息填入表5-1。
表5-1 IP报文结构
通过分析实验结果,查看该数据报的源 IP 地址和目的 IP 地址,他们分别是哪类地址?
2. IP数据报分片实验(选做)
我们已经从前边的实验中看到,IP 报文要交给数据链路层封装后才能发送。理想情况下,每个IP报文正好能放在同一个物理帧中发送。但在实际应用中,每种网络技术所支持的最大帧长各不相同。例如:以太网的帧中最多可容纳 1500 字节的数据;FDDI帧最多可容纳 4470 字节的数据。这个上限被称为物理网络的最大传输单元(MTU,MaxiumTransfer Unit)。
TCP/IP 协议在发送 IP 数据报文时,一般选择一个合适的初始长度。当这个报文要从一个 MTU 大的子网发送到一个 MTU 小的网络时,IP 协议就把这个报文的数据部分分割成能被目的子网所容纳的较小数据分片,组成较小的报文发送。每个较小的报文被称为一个分片(Fragment)。每个分片都有一个 IP 报文头,分片后的数据报的 IP 报头和原始 IP 报头除分片偏移、MF 标志位和校验字段不同外,其他都一样。图 5-1 显示了 Wireshark捕获的 IP 数据报分片的分析情况。
图5-1 IP 数据报分片示例
重组是分片的逆过程,分片只有到达目的主机时才进行重组。当目的主机收到 IP 报文时,根据其片偏移和标志 MF 位判断其是否一个分片。若 MF 为 0,片偏移为 0,则表明它是一个完整的报文;否则,则表明它是一个分片。当一个报文的全部分片都到达目的主机时,IP 就根据报头中的标识符和片偏移将它们重新组成一个完整的报文交给上层协议处理。
步骤1:在 PC1、PC2 两台计算机上运行 Wireshark,为了只截获和实验有关的数据报,设置 Wireshark的截获条件为对方主机的 IP 地址,开始截获报文;
步骤2:在 PC1 上执行如下 Ping 命令,向主机 PC2 发送 4500B 的数据报文:
ping –l 4500 –n 6 PC2的IP地址
ping命令参数
步骤3:停止截获报文,分析截获的报文,回答下列问题:
(1)以太网的 MTU 是多少?
(2)对截获的报文分析,将属于同一报文的分片找出来,主机 PC1 向主机 PC2发送的报文分成了几个分片?
(3)若要让主机PC1向主机PC2发送的数据分为 3 个分片,则 Ping 命令中的报文长度应为多大范围?为什么?
(4)将你捕获到报文的分片信息填入表5-2。
表5-2 报文分片信息
3. ARP协议分析实验
本次实验使用的Windows自带的Arp命令提供了显示和修改地址解析协议所使用的地址映射表的功能。
在命令提示符下,输入“arp -a”就可以查看ARP缓存表中的内容了,type为dynamic代表该表项是动态学习到的,如图5-2所示。
图5-2 查看ARP缓存表中的内容
用“arp -d”命令可以删除ARP表中所有的内容;用“arp -d +空格+ <指定ip地址>” 可以删除指定ip所在行的内容;
用“arp -s”可以手动在ARP表中指定IP地址与MAC地址的对应关系:
图5-3 指定IP地址与MAC地址的对应关系
用“arp -s”绑定之后,arp –a显示的相应条目的type变为static(静态),表示是静态绑定的,
此项存在硬盘中,而不是缓存表,计算机重新启动后仍然存在,且遵循静态优于动态的原则。
图5-4重新查看ARP缓存表中的内容
步骤1:在PC1、PC2 两台计算机上执行如下命令,清除ARP 缓存:
ARP –d
步骤2:在PC1、PC2 两台计算机上执行如下命令,查看高速缓存中的ARP 地址映射表的内容:
ARP –a
步骤3:在PC1 和PC2 上运行Wireshark 截获报文;
步骤4:在主机PC1 上执行Ping 命令向PC2 发送数据报;
步骤5:执行完毕,保存截获的报文;
步骤6:在PC1、PC2 两台计算机上再次执行ARP –a 命令,查看高速缓存中的ARP 地址映射表的内容;
(1) 这次看到的内容和步骤2的内容相同吗?结合两次看到的结果,理解ARP 高速缓存的作用。
(2) 把这次看到到的高速缓存中的ARP 地址映射表写出来(截图);
(3) 分析ARP 报文的结构,完成表5-3。