我想发送数据,以便禁用数据碎片。例如在ping中,如果我们写
ping localhost -M do -s 65507
-M do:禁用碎片 -s 65507:最大数据包大小
它给我一个像
这样的错误From localhost (127.0.0.1) icmp_seq=1 Frag needed and DF set (mtu = 16436)
是否有其他方法可以执行此操作或使用其他软件。最好是Iperf。
答案 0 :(得分:3)
听起来你正在寻找Do not Fragment(DF)标志。它在flags of the IP header中基于每个数据包进行设置。发送大于MTU且DF设置的任何内容都将导致生成ICMP错误消息。如果没有DF设置,路由器可能会分段并发送。有很多破碎的系统,要么吃ICMP错误(疯狂的偏执防火墙),要么表现得很奇怪。
RFC791提供了有关分段IP数据报的规则的详细信息。
典型的MTU是1500字节。 IPv4的最小MTU为576,而IPv6为1280.千兆以太网和其他链路通常支持更大的MTU。
答案 1 :(得分:0)
以太网的MTU是1500字节,包括标头。你不能忽视这一点。你没办法发送一个没有碎片的大包。