代码之家  ›  专栏  ›  技术社区  ›  w2lame

在没有MTU(最大传输单元)的网络上发送数据

  •  0
  • w2lame  · 技术社区  · 14 年前

    我想发送数据,以便禁用数据碎片。例如在ping中,如果我们写

    ping localhost -M do -s 65507
    

    -s 65507:最大数据包大小

    它给了我一个错误,就像

    From localhost (127.0.0.1) icmp_seq=1 Frag needed and DF set (mtu = 16436)
    

    有没有其他方法可以做到这一点或使用其他软件。最好是Iperf。

    2 回复  |  直到 13 年前
        1
  •  3
  •   Flexo - Save the data dump sunny moon    14 年前

    听起来你在找“不要分段”标志。它在 flags of the IP header . 如果发送的任何内容大于设置了DF的MTU,则将生成ICMP错误消息。如果没有DF set,路由器可能会碎片化并发送。有很多坏掉的系统要么吃掉ICMP错误(疯狂的偏执防火墙),要么表现得很奇怪。

    RFC791

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

        2
  •  0
  •   user207421    14 年前