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

相关推荐
清酒伴风(面试准备中......)5 分钟前
计算机网络HTTP——针对实习面试
java·笔记·网络协议·计算机网络·http·面试·实习
前端李易安10 分钟前
HTTP常见的状态码有哪些,都代表什么意思
网络·网络协议·http
软件技术员10 分钟前
ZeroSSL HTTPS SSL证书ACMESSL申请3个月证书
网络协议·http·https
MetaverseMan42 分钟前
WebRTC 和 WebSocket
websocket·网络协议·webrtc
pumpkin8451411 小时前
客户端发送http请求进行流量控制
python·网络协议·http
可可爱爱的你吖13 小时前
webSocket的使用文档
网络·websocket·网络协议
小田_13 小时前
macOS 设置固定IP
mac·ip·dhcp·固定
熊明才13 小时前
Ubuntu 22.04.4 LTS + certbot 做自动续签SSL证书(2024-11-14亲测)
数据库·网络协议·ssl
码农研究僧14 小时前
详细分析ip addr show 查看网络配置的命令
linux·tcp/ip·ip addr show
写bug的小屁孩15 小时前
websocket身份验证
开发语言·网络·c++·qt·websocket·网络协议·qt6.3