LACP MTU(或其他链路级 MTU)是否需要匹配?

网络工程 VLAN 以太网 IEEE-802.1ax
2021-07-28 03:51:05

在 LACP 绑定的主机端设置自定义 MTU 是否还需要在交换机端自定义 MTU?

1个回答

在 LACP 绑定的主机端设置自定义 MTU 是否还需要在交换机端自定义 MTU?

您的数据链路 MTU:

  • 在服务器上,数据链路应始终在同一广播域或 vlan 内的服务器之间匹配由于 TCP MSS 协商,这对 TCP 服务并不重要,但 UDP 服务如果发送大数据包则需要匹配的 MTU。
  • 面向服务器的交换机接口,数据链路 MTU 必须至少与该 vlan 中的主机/路由器 MTU 一样大
  • 在要切换/切换到路由器链路的其他交换机上,数据链路 MTU 必须至少足够您的服务器 MTU + 路由器添加的任何其他服务(例如 IPSec、MPLS 等)。举例来说,如果您的中转交换 MTU 不够大,可能会导致网络文件系统正常工作的奇怪问题
  • 在路由器到路由器的链接上
    • 路由器的数据链路 MTU 应该与您的其他路由器匹配,否则您可能会遇到奇怪的 IGP 对等问题。
    • 路由接口上的 IP MTU 应与必须传输它们的服务器 IP MTU 的大小相同。

如果所有这些看起来都是胡言乱语,那么就做简单的事情并确保您的网络中的所有数据链路 MTU 都相同;但是,如果您需要巨型帧或婴儿巨型帧,除非您限制巨型帧的位置,否则这会很快变得复杂。部署巨型帧的最大挑战之一是各种网络设备对巨型帧的支持不一致;然而,大多数体面的企业交换机都将支持小巨型交换机(例如,足够大的 MTU 可以让 MPLS 标签堆栈两层深)。

检测 MTU 问题

Ping 同一 vlan 中的某些内容(在 IP 标头中设置 DF)以测试这些主机之间的 MTU 配置。

Linux 示例,具有 1500 字节的 MTU...

如果你有 linux 使用:ping -M do -s <icmp-payload-size> <some pingable ip address in the same vlan>...这是成功的,在同一个 vlan 中 ping 一些东西...

[mpenning@tsunami ~]$ ifbrief
eth0      Link encap:Ethernet  HWaddr 80:ee:de:ad:be:ef
          inet addr:172.16.1.5  Bcast:172.16.1.255  Mask:255.255.255.0

[mpenning@tsunami ~]$ ping -M do -s 1472 -c 1 172.16.1.1
                                 ^^^^^^^
PING 172.16.1.1 (172.16.1.1) 1472(1500) bytes of data.
1480 bytes from 172.16.1.1: icmp_req=1 ttl=255 time=1.30 ms

--- 172.16.1.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms <------
rtt min/avg/max/mdev = 1.305/1.305/1.305/0.000 ms
[mpenning@tsunami ~]$

这是失败,因为我们超过了 MTU 一个字节......

[mpenning@tsunami ~]$ ping -M do -s 1473 -c 1 172.16.1.1
                                 ^^^^^^^
PING 172.16.1.1 (172.16.1.1) 1473(1501) bytes of data.
From 172.16.1.5 icmp_seq=1 Frag needed and DF set (mtu = 1500) <--------

--- 172.16.1.1 ping statistics ---
0 packets transmitted, 0 received, +1 errors

[mpenning@tsunami ~]$

Windows 示例,具有 1300 字节的 MTU...

Ping-windows-DF

查看您的 windows mtusnetsh interface ipv4 show subinterfaces和修改netsh interface ipv4 set subinterface "[windows-intf-name]" mtu=[MTU-size] store=persistent