增加 3G/LTE 网络的 MTU 大小

网络工程 ip 移动的
2021-07-13 20:16:00

在 RAN(3g、LTE)和 RNC/SGW 之间设置更高的 MTU 大小是否合理?比如说,我们有带有 GTP 封装的 S1-U 接口,这导致移动用户的数据量减少。数据大小可以由 SGW 本身为 TCP 调整(MSS 操作),但有可能将 MTU 从默认的 1500 值增加到 1600,以便用户可以使用更大的 TCP 段大小,而其他 L4 协议不会被碎片化在任何级别。这真的有助于提高性能和用户体验,还是会存在一些无法解释的因素使整个计划毫无意义?

谢谢。

3个回答

我认为允许最终用户流量使用 1500 的 MTU 总是最好的。因此,在封装时,覆盖网络必须通过封装域中更大的 MTU 大小或通过分段/重组技术来满足这一点。由于在软件中执行分段时计算成本很高,我认为服务提供商应该在封装流量的域中定义和使用 MTU,足以在用户级别允许 1500 并避免任何分段,例如您所说的 1600。

这不会显着提高稳态下的 TCP 性能,但会避免并发症。

作为服务提供商,您应该能够为客户定义网络的 MTU,如果您将其定义为 1500,则没有人可以抱怨,并且您将减少潜在问题,例如 PMTUD 因任何原因无法正常工作或者调整缓慢或稳定到 TCP 最小值。

缺点是您需要确保沿途的每个以太网端口都定义了适当的 MTU。某些设备可能默认丢弃巨型(或迷你巨型,如果您愿意)。如果你不这样做,那么交通可能会在路线上的某个地方出现黑洞。

最糟糕的情况当然是服务提供商只是将所有内容保留为默认值,并且实际上并没有真正定义服务产品的 MTU。

我会警告说我从来没有在无线电网络上工作过,所以我不知道那里是否有任何帧或小区结构可以引导您使用不同的最终用户 MTU 以提高带宽效率。

我已经用不同的 MTU 值做了一些测试。所有测试均针对移动数据进行,未影响或测试语音。

结果如下:

  1. LTE网络中增加的MTU允许eNodeB和EPC之间更有效的交换,例如S1-U中1600的MTU值足以传输1500字节的用户数据,以及不分片的移动网络开销(GTP + UDP +新IP头)。
  2. 在 2g/3g 网络中增加 MTU 没有或几乎没有利润。位于基站和数据包核心以及移动设备和基站之间的底层协议仍然会导致传输小数据包。最终几乎没有任何东西达到 MTU 大小。这是由基站的调度机制引起的。

另一个注意事项:具有 DF(不分段)位的数据包可以在底层成功分段,并在保留 DF 位的数据包核心重新组装。例如,可以使用 DF 位设置和 ICMP 有效载荷 1472 ping 某些主机,但是基站和移动分组核心之间的分组仍然很小。

从技术上讲,这是一件合理的事情,但我认为这不会有助于改善用户体验,这实际上是移动网络中唯一重要的事情。那么,何必呢?

考虑到语音 (rtp) 被打包成小块,通常为 20 毫秒。这转化为许多小数据包,而不是一些大数据包,这可能会从更大的 MTU 中受益。SIP(信令协议)可能会这样做,因为在 IMS 网络中消息非常大,但这并没有真正影响用户对其体验的感知。

数据流是另一种情况,例如视频或电子邮件,但同样,视频是短数据包,而电子邮件(通常是真正的 https)对时间和延迟不敏感,而弄乱 MTU 会有所帮助。