当前位置: 首页 > 知识库问答 >
问题:

MTU 1500:1472字节后的碎片数据包

金正阳
2023-03-14

我有两个虚拟机在Openstack上运行。我在交换机中分配了一个数据网络网关,MTU=1500,其中VMs必须运行。

同样在OpenStack中,我设置了网络的默认MTU=1500。

我试图ping从VM到网关(或同一网络上的任何IP)的交换机与1500封装大小,它的去碎片分组。

localhost:~# ping -M do -s 1500 10.4.14.18 
PING 10.4.14.18 (10.4.14.18) 1500(1528) bytes of data.
From 10.4.14.17 icmp_seq=1 Frag needed and DF set (mtu = 1500)
From 10.4.14.17 icmp_seq=1 Frag needed and DF set (mtu = 1500)
From 10.4.14.17 icmp_seq=1 Frag needed and DF set (mtu = 1500)
From 10.4.14.17 icmp_seq=1 Frag needed and DF set (mtu = 1500)
From 10.4.14.17 icmp_seq=1 Frag needed and DF set (mtu = 1500)
From 10.4.14.17 icmp_seq=1 Frag needed and DF set (mtu = 1500)
From 10.4.14.17 icmp_seq=1 Frag needed and DF set (mtu = 1500)
From 10.4.14.17 icmp_seq=1 Frag needed and DF set (mtu = 1500

相反,如果我用更小的mtu(1472)发送数据包,它会工作,

localhost:~# ping -M do -s 1472 10.4.14.18
PING 10.4.14.18 (10.4.14.18) 1472(1500) bytes of data.
1480 bytes from 10.4.14.18: icmp_seq=1 ttl=64 time=0.965 ms
1480 bytes from 10.4.14.18: icmp_seq=2 ttl=64 time=0.515 ms
^C
--- 10.4.14.18 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1875ms
rtt min/avg/max/mdev = 0.515/0.740/0.965/0.225 ms

我能看到28个字节的差异,我不明白,这28个字节在哪里被使用?

共有2个答案

燕涵容
2023-03-14

Ping将添加28字节的头,然后发送它。

因此,如果要发送-s1500,实际大小是150028=1528字节。

左丘积厚
2023-03-14

1500字节的MTU适用于网络层的标准以太网。换句话说:1500字节可以在以太网帧中传输,而不会被分片。然而,以太网之上的其他协议当然会切入最大有效负载。

在您的情况下(ping的情况),附加协议是IP和ICMP。它们都有长度分别为20字节和8字节的标题。

这意味着你最多可以传送

1500 bytes (Ethernet mtu) - 20 byte (IP header) - 8 byte (ICMP header) 
= 1472 byte

另见关于UDP的MTU的问题。

 类似资料:
  • 我有一个片段,在这里我调用自定义视图类(Dragger) 并且我有另一个片段与和适配器,在其中我调用方法通过主机的活动的。 我发现在中旋转后会获得新的引用,但当我从适配器调用时-为空。 我真的不明白为什么字段得到引用,然后又丢失了它) 有人知道这有什么不对吗? 提前谢谢! P. S.:主机活动

  • #数据人的面试交流地#闲言少叙,书归正文。今天来聊一聊数据的面经。我投的岗位主要是以数据为核心的岗位,数据分析、数据开发,还有一些基于数据分析的游戏用户分析等岗位。除此之外还有些AI相关的岗位,但与我们今天的数据主题不太相符,故暂按下不表。 在这里先分享一下我的面试思路,不一定对,只是个人观点。如有不妥之处,欢迎诸位看官在评论区批评指正,共同学习进步。 首先,我们明确一点,我们面的是数据相关岗位,

  • #数据人的面试交流地#今天来更一些具体的面试题目 为了方便看,我按照题目的类型整理了一下,主要可以分成四大类:1.统计学相关(不知道和我的统计背景有没有关系)2.SQL相关 3. Python相关 4. ML&DL相关 1.统计学相关 在BYD和阿里88的面试中,统计学相关的问题被问到的是最多的,这两个面试也是时间比较长的,均超过1小时,阿里二面更是面了一个半小时,把我电脑活生生面到关机(吐槽一下

  • 我可以使用一个片段作为一个活动吗?我已经创建了一个片段,但我希望它有像活动一样的功能,所以我使用片段扩展碎片活动。然而,我有一个带有碎片的导航抽屉。当我更改为“扩展碎片活动”时,我的代码有问题?请给我指路。

  • 当我将一个片段(它是带有背景的全屏)显示在另一个片段(我们称之为main)上时,我的main片段仍然会对单击做出反应(即使我们没有看到按钮,我们也可以单击它)。 问题:如何防止点击第一(主)片段?

  • 本文向大家介绍ANTLR 碎片,包括了ANTLR 碎片的使用技巧和注意事项,需要的朋友参考一下 示例 片段是lexer规则的可重用部分,它们本身无法匹配-需要从lexer规则中引用它们。