【网络协议分析】利用Wireshark分析IP分片

一、实验目的

利用Wireshark软件抓包分析IP分片,了解IP分片的工作原理。

二、实验过程

1 、网络拓扑

|--------|----------------|----------------|---------|
| 设备 | IP 地址 | 设备接口 | MTU |
| AR1 | 172.30.132.164 | Ethernet 0/0/0 | 700 |
| AR2 | 172.30.132.165 | Ethernet 0/0/0 | 1200 |

2 、实验过程

(1)在eNSP中按网络拓扑搭建网络,并配置好IP地址、子网掩码等。

(2)分别修改AR1和AR2各自E0/0/0口的MTU值为700和1200,并且查看修改后的效果。

(3)在AR1的E0/0/0口启动wireshark,抓取数据包。wireshark启动后,在AR1路由器E0/0/0口运行ping命令

3 、结果分析

根据源地址和目的地址可以看出,源为172.30.132.164发出的包有两个,分别为一个IP数据包、一个ICMP数据包,源为172.30.132.165回复的包也有两个,一个IP数据包、一个ICMP数据包.

  • 第一个报文
  • 第二个报文

可以看到,第一个包的MF字段被设置成1,说明还有其他分片,而最后一个包的MF字段为0,标志着这是最后一个分片。

汇总信息如图框中部分:

在第二个(也就是最后一个包)在汇总信息中可以看到2个分片(Frame)中的有效载荷(payload)分别为680B、528B,总的有效载荷为680+528=1208B。

回答下列问题:

  • 为什么分片的有效载荷最大为680B?

我们在实验开始时,设置了最大传输单元限制MTU为700/1200,通信时取小的一个作为限制,即MTU为700。去掉每帧的报文头20B,即最大还剩680B有效载荷

  • 为什么有效载荷总量为1208B?

分片大小分别为700B和548B,每个帧包括一个20B的报文头,两个帧共40B的报文头,有效载荷总量为总大小-报文头=1248B-40B=1208B。

  • 一个ICMP报文的首部出现在哪些分片中?

分别对两个分片进行分析,可知,ICMP报文的首部在第一个分片中,第二个报文中只包括剩余的ICMP数据。

三、思考和总结

总结:

本次实验主要为利用Wireshark和eNSP软件进行分析IP分片,了解分片的过程。

如果当传输数据量超过设置的MTU时,IP就会将数据报进行分片,将一个超过MTU的数据报分为多个不大于MTU的数据报进行发送。接收端收到后再进行组装,形成完整的数据报。在进行分片时,IP通过设置MF标志位为1作为标识是否为最后一个分片。

使用到的新命令:

mtu <数值>:设置当前接口的最大传输单元限制MTU

display current-configuration interface:查看全部接口的配置

相关推荐
树码小子18 小时前
Java网络编程:(socket API编程:TCP协议的 socket API -- 回显程序的服务器端程序的编写)
java·网络·tcp/ip
FPGA_Linuxer20 小时前
FPGA 40 DAC线缆和光模块带光纤实现40G UDP差异
网络协议·fpga开发·udp
real 120 小时前
传输层协议UDP
网络·网络协议·udp
路由侠内网穿透21 小时前
本地部署 GPS 跟踪系统 Traccar 并实现外部访问
运维·服务器·网络·windows·tcp/ip
酷飞飞1 天前
Python网络与多任务编程:TCP/UDP实战指南
网络·python·tcp/ip
hsjkdhs1 天前
网络编程之UDP广播与粘包问题
网络·网络协议·udp
yzx9910131 天前
接口协议全解析:从HTTP到gRPC,如何选择适合你的通信方案?
网络·人工智能·网络协议·flask·pygame
风_峰1 天前
【ZYNQ开发篇】Petalinux和电脑端的静态ip地址配置
网络·嵌入式硬件·tcp/ip·ubuntu·fpga开发
板鸭〈小号〉1 天前
UDP-Server(3)chat聊天室
网络·网络协议·udp
weixin_456904272 天前
使用HTTPS 服务在浏览器端使用摄像头的方式解析
网络协议·http·https