0

我想发送数据以禁用数据碎片。例如在 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。

4

2 回答 2

3

听起来您正在寻找不要碎片(DF)标志。它在 IP 标头的标志中以每个数据包为基础进行设置。发送大于设置了 DF 的 MTU 的任何内容都将导致生成 ICMP 错误消息。如果没有设置 DF,路由器可能会分段并发送。那里有很多损坏的系统,它们要么吃掉 ICMP 错误(疯狂的偏执防火墙),要么表现得很奇怪。

RFC791提供了有关 IP 数据报分段规则的详细信息。

典型的 MTU 为 1500 字节。IPv4 的最小 MTU 为 576,而 IPv6 为 1280。千兆以太网和其他链路通常支持更大的 MTU。

于 2010-10-29T11:13:55.187 回答
0

以太网的 MTU 为 1500 字节,包括标头。你不能忽视这一点。您无法在没有碎片的情况下发送这么大的数据包。

于 2010-10-29T11:12:59.953 回答