IP协议及IP分片

步骤

执行前几篇文章的脚本3.1,3.2,3.3,创建拓扑,创建虚拟路由,关闭网卡offload
在路由器RA上修改tapRA_RB的MTU为1000byte(Maximum Transmission Unit网络上传送的最大数据包)

ip netns exec RA ifconfig tapRA_RB mtu 1000

在路由器RB上修改tapRB_RA的MTU为1000byte

ip netns exec RB ifconfig tapRB_RA mtu 1000

打开两个终端,分别模拟ns56A和ns57C

ip netns exec ns56A bash
ip netns exec ns57C bash

新起两个个shell,在RB上面启动wireshark,分别在tapRB_56A和tapRB_RA间抓包

ip netns exec RB wireshark &

然后在ns57c中4499端口打开UDP服务程序

nc -lvu 4499

在ns56A中封装1400字节UDPbyte的UDP数据,客户的端口号为40321,然后发送给ns57c

nping --udp -p4499 -g40321 -c1 --data-length 1400 192.168.57.254

停止抓包

IP协议

在tapRB_56A上截获了UDP,ARP,ARP。在UDP中有IP封装,所以只抓获一个数据报
在这里插入图片描述
在tapRB_RA上截获了两个IP,有一个是UDP封装
在这里插入图片描述
在这里插入图片描述
分析tapRB_56A中的UDP
在这里插入图片描述
在这里插入图片描述

路由器对IP分片

总长度:1400(data)+ 8UDP首部+20ipheaders = 1428 byte
在这里插入图片描述
在RB发给另一个路由器RA时却分成了两个,两个标识号一样,也和RB_56A上的一样
在这里插入图片描述
在这里插入图片描述
可以看到,第一个数据段中没有UDP,也就是data976+20ipherder = 996在这里插入图片描述
允许分片,同时表示有更多分片,片偏移为0
第二个数据段

在这里插入图片描述
数据帧只有432个字节
在这里插入图片描述
没有更多分片,片偏移原本是007a经过转计算成976,就是之前第一个数据报的data大小
但是之前设置的最大传送数据报大小是1000,这里是996,因为是8字节对齐的
总结得
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值