在现代计算机网络中,最大传输单元(MTU)扮演着至关重要的角色。 MTU 是指在一次网络层交易中可以传送的最大协议数据单元的大小。 MTU 与 Ethernet 等数据链路层的最大帧大小相关,但并不完全相同。合适的 MTU 设定不仅能提高数据传输效率,还能帮助减少重传次数与数据丢失的情况。
MTU 的适当配置可以显著影响网络性能,尤其是在大量数据传输情境中。
MTU 的大小取决于底层网络的能力,通常需要手动或自动调整,以不超过这些能力。例如,以以太网为例,其最大帧大小为 1518 字节,其中 18 字节为开销,导致其 MTU 为 1500 字节。这样的固定标准使得通过不同网络进行传输时,结构的合法性得以保持。
选择更大的 MTU 可以提高数据传输的效率,因为每个网络数据包携带的有效数据量更大,而协议的开销仍然是固定的。然而,更大的 MTU 也会引入一些问题,例如可能造成更长的传输延迟,尤其对于后续的数据包来说。这样的延迟如果不加以管理,可能会对整个网络环境造成影响。
在某些情况下,大数据包的传输可能导致更高的丢包率,如果某一位元组损坏,那么整个数据包都将被重新传送,这将浪费宝贵的带宽。
此外,大数据包传输在出现通信错误的情况下尤为不理想。如果使用的系统无法进行前向错误纠正,则一个位元组的损坏就会导致整个数据包被丢弃,这样的后果在高丢包率的网络环境中尤其常见。
Internet 协议(IP)被设计为能够在多种不同的网络技术上运行,这些技术可能支持不同大小的数据包。当一个主机会察觉到其自己的 MTU 及潜在的对等主机 MTU 时,它并不会立刻知道沿着至其他对等主机的链接的最小 MTU 是多少。这就带来了潜在的问题,尤其是当高层协议创建的数据包大小超过了当地链接的支持范围时。
IP 协议允许对数据包进行分段,将数据报分成几个较小的部分,以适应特定 MTU 的限制。
这个分段过程发生在 Internet 层级,分段的数据包会被标记,以便目标主机的 IP 层知道应重新组装回原始数据报。然而,如果网络丢失了任何一个分段,整个数据包就会被视为丢失。这种情况下,当需要分段的数据包数量或其内容过多时,将会导致不合理或不必要的开销。
MTU 发现技术被用于探索任何一个互联网传输路径的最小 MTU。通过向路径中的设备发送带有不分段选项的数据包,若设备的 MTU 小于该数据包,将会丢弃数据包并返回 ICMP 说明信息。这样的过程会重复直至找到足够小的 MTU。
但随着越来越多的网络阻止 ICMP 流量,MTU 发现技术的功能受到限制,这导致网络在处理数据传输时可能会出现未预期的障碍。
解决此问题的一种方式是调整 TCP 连接中的最大段大小(MSS),以便最大程度地提高传输数据的效率。这对于提升在不规范的网络环境中数据传输的流畅性将十分重要。
随着网络技术的不断演进,MTU 的设置与管理变得越来越复杂。如何有效地配置和优化 MTU,以提高数据传输的稳定性与效率,成为了一个值得深思的问题?