IPv6:使用大于默认路由 MTU 的链路 MTU

Jon*_*ney 5 ipv6 mtu radvd

配置 IPv6 LAN 时,可能需要使用路由器通告来宣布标准 1500 字节或更大的链路 MTU,以启用巨型(也许是 9000)。这将允许 LAN 上的主机之间的通信使用最大的框架可能。如果到 IPv6 互联网的默认路由必须经过6in4隧道类型,则在使用 PPPoE 时,MTU 通常为 1480 或 1472。

LAN 主机之间的通信应不间断,但沿默认路由的正常流量事件链的行为会有所不同。在大多数连接的握手期间,包含大量数据的第一个数据包几乎总是大于默认路由的 MTU,从而促使路由器丢弃该数据包并发送 ICMPv6 数据包太大消息(类型 2 。我认为大多数操作系统都会通过目标地址缓存路径 MTU 发现的结果,因此几乎所有默认路由连接都会发生这种交互。此交换最多只需要几十毫秒,因此我预计它不会导致严重的性能问题。

问题是:这种类型的配置是否被视为最佳实践?是否首选使用等于(或小于)默认路由路径 MTU 的链路 MTU?有这方面的文档吗?

                    LAN          WAN

hostA -----\                     v4 WAN Link / 6in4 tunnel
            \  MTU 9000            MTU 1500     MTU 1480
             |---------- router ------------------------  -  -  -
            /                    IPv4 Internet, 6in4 endpoint -->
hostB -----/

          <<< router adv
                  prefix
                   RDNSS
                MTU 9000
                     etc

Example TCP connection:

TCP(SYN, 94 bytes)-------------------------------------------->
<----------------------------------------TCP(SYN/ACK, 86 bytes)
TCP(ACK/PSH, 1635 bytes)---X
<--------ICMP(too big, MTU=1480)
TCP(ACK/PSH, 1480 bytes)-------------------------------------->
...
Run Code Online (Sandbox Code Playgroud)

San*_*ann 3

我认为这样的设置非常有意义。客户端和默认网关之间会有许多数据包太大 (PTB) 消息,但是当您在 LAN 上使用巨型 MTU 时,您可能会这样做,因为 LAN 上无论如何都有大量流量可以从中受益。一些额外的数据包甚至不会被注意到。

我所看到的是,一些消费者 CPE 在路由器通告中发送 MTU 大小为 1480(或 1472 等)。对 LAN 流量的影响不会那么大(最大为 1.9%),并且至少会阻止默认网关和客户端之间的 PTB 消息,尽管它们可能仍然来自 Internet 上更远的链接,甚至更小。我想这取决于你的优先事项。

我个人总是会优化网络,根本不用担心 PTB 消息。