【网络协议分析】利用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:查看全部接口的配置

相关推荐
听风说雨的人儿32 分钟前
HTTP 1.1长连接问题
网络·网络协议·http
全马必破三33 分钟前
http知识点
服务器·网络协议·http
前端 贾公子1 小时前
Mac 设置静态IP的方法 和 Mac 设置静态IP后 无法联网
tcp/ip·macos·智能路由器
JackHuan_code2 小时前
vmware_unbantu刷新IP
服务器·网络·tcp/ip
色的归属感2 小时前
Flutter完整开发实战详解(三、 打包与填坑篇)
websocket·网络协议·tcp/ip·http·网络安全·https·udp
By爱分享4 小时前
HTTPS通信的加密问题
网络·网络协议·https
hoypte4 小时前
Https安全
网络协议·安全·https
格格Code5 小时前
Tcp——客户端服务器
服务器·网络协议·tcp/ip
ALe要立志成为web糕手5 小时前
用Python实现TCP代理
网络·python·网络协议·tcp/ip·安全·web安全