第 4 章 提高大量连续数据流的吞吐量
根据 IEEE 802.3 标准,没有 Virtual Local Area Network (VLAN)标签的默认以太网帧有1518 字节的最大大小。这些帧的每一个都包含一个 18 字节标头,给有效负载保留 1500 字节。因此,对于服务器通过网络传输的每个 1500 字节数据,18 字节(1.2%)以太网帧标头是开销,且也会被传输。第 3 层和 4 协议中的标头进一步增加了每个数据包的开销。
如果您网络上的主机经常发送大量连续的数据流,如备份服务器或存有大量巨大文件的文件服务器,则请考虑使用巨型帧来节省开销。巨型帧是非标准化的帧,其最大传输单位(MTU)比 1500 字节的标准以太网有效负载大小大。例如,如果您使用最大允许的 9000 字节有效负载配置 MTU 巨型帧,则每个帧的开销减少到 0.2%。
根据网络和服务,仅在网络的特定部分(如集群的存储后端)中启用巨型帧会很有帮助。这可避免数据包碎片。
4.1. 配置巨型帧前的注意事项
根据您网络中的硬件、应用程序和服务,巨型帧可能有不同的影响。仔细决定启用巨型帧是否能在您的场景中提供好处。
巨型帧的先决条件:
传输路径上的所有网络设备都必须支持巨型帧,并使用相同的最大传输单元(MTU)大小。相反,您可能遇到以下问题:
- 丢弃的数据包。
- 由于碎片数据包,导致更高的延迟。
- 增加了碎片导致的数据包丢失的风险。例如,如果路由器将一个 9000 字节帧划分为六个 1500 字节帧,且任何一个 1500 字节帧丢失了,则整个帧都丢失了,因为它无法重新组装。
在下图中,如果来自网络 A 的主机向网络 C 中的一个主机发送了一个数据包,则这三个子网中的所有主机都必须使用相同的 MTU:

巨型帧的好处:
- 较高的吞吐量:每个帧包含更多的用户数据,而协议开销是固定的。
- 较低的 CPU 使用率:巨型帧导致较少的中断,因此节省了 CPU 周期。
巨型帧的缺陷:
- 较高的延迟:大型帧延迟后面的数据包。
- 增加了内存缓冲区使用率:大型帧可以更快地填充缓冲区队列内存。