PCHardwarePro » 硬件 » 如何在您的网卡和整个网络中启用巨型帧
巨型帧将 MTU 增加到 1500 字节以上,以减少开销并提高千兆和 10 GbE 网络的性能。
路径上的所有元素(网卡、交换机、路由器、NAS 和操作系统)必须支持并共享相同的 MTU,以避免错误和碎片化。
它非常适合用于持续大量传输的环境(备份、虚拟化、视频编辑),但在混合场景或游戏场景中可能会产生不利影响。
配置过程中应始终进行大 ping 测试、错误监控和实际速度测量。
如果你曾经尝试过 在您的网卡上启用巨型帧 如果您遇到过奇怪的错误、ping 不连续或 MTU 设置“未生效”等问题,请不要担心:您并非孤例。巨型帧的概念听起来很简单,但实际上,您需要仔细协调网卡、交换机、路由器、NAS 设备和操作系统,才能确保一切顺利运行。
本文将以通俗易懂的语言,详细阐述…… 巨型帧究竟是什么?何时启用巨型帧才合适?网络中需要满足哪些要求?以及如何正确配置巨型帧? 适用于不同的设备(Windows、Linux、NAS、思科交换机、家用路由器等),以及如何测试一切是否正常工作,以及您可能会遇到的典型问题。
什么是巨型帧?它们与 MTU 有什么关系?
在以太网中,每个通过电缆传输的数据包都被封装在一个帧中,帧的最大大小由以下因素决定: MTU(最大传输单元)几乎所有以太网网络出厂时都使用 1500 字节的有效载荷 MTU,这相当于包含报头和 FCS 在内的帧大小约为 1518-1522 字节。
当你谈论 巨型帧我们指的是有效载荷大于标准 1500 字节的以太网帧。千兆及更高比特率的网络通常使用以下帧大小: MTU接近9000字节虽然实际上有些设备支持稍多一些(最多约 12000 字节),而另一些设备支持稍少一些(8000、8200 等),具体取决于制造商。
除了“经典”的巨型情节之外,还有以下概念: 巨型婴儿或小型巨型地块这些数据包比标准 MTU(例如 1600 字节)略大,用于添加额外的协议头(例如 VLAN 802.1Q 或 MPLS),而不想陷入数据包分片。
自 1500 字节标准确立以来, 网络速度和处理器功率 它已经大幅增长。如今,在专业环境中,千兆、10GbE、40GbE 甚至 100GbE 交换机非常普遍,在这样的速度下,如果我们想要最大限度地发挥性能,1500 字节就显得有些不足了。
这就是为什么许多现代设备(网卡、交换机、路由器和NAS)都支持的原因 MTU 最大可达 9000 字节 即使没有严格的标准,9000 字节也已成为巨型帧的“事实上的”标准值。当帧大小超过 9000 字节时,我们称之为超级巨型帧,尽管它们的实际用途相当有限。
启用巨型帧的优势和劣势
巨型相框存在的主要原因是 降低处理开销并提高有效性能 在网络环境中,大量数据会在频繁“交谈”的设备之间传输。
当您发送 MTU 为 1500 的大文件时,该文件将被分割成许多小数据包。 如果增加帧的大小,发送相同数量的数据所需的包就会减少。这意味着更少的报头、更少的处理器中断,以及更少的网络设备队列工作。
这一点在以下任务中尤为明显: 数据库备份、大型视频或音频流传输、网络视频或照片编辑以及虚拟化环境在这些情况下,数据包通常很大,并且会持续很长时间,因此巨型帧有助于提高传输速度并降低 CPU 消耗。
在虚拟化网络中,巨型帧也允许 减少中断次数 这样一来,就能将更多资源集中于数据本身的处理,而不是管理成千上万个小型头部信息。这就是为什么它们在 iSCSI 网络、共享存储和许多数据中心中非常常见的原因。
然而,并非全是优势:在它们被处理的环境中 许多小包裹或非常分散的来源 (例如,BitTorrent、eMule 或类似网络的 P2P 流量较高),使用巨型帧通常不会增加任何性能,甚至会因为在同一链路上混合大小数据包而损害性能。
RITE 2021 是什么?什么时候适合使用巨型帧,什么时候不适合使用巨型帧?
在您急于更改整个网络的 MTU 值之前,值得考虑一下这样做是否值得。最明智的建议是: 测试和测量但要牢记一些实用规则。
如果您的工作环境中需要传输巨型帧,那么启用巨型帧是一个好主意。 几个组织明确的团队之间传输的超大文件,例如:
数据库备份 或者服务器和 NAS 之间的虚拟机。
高质量视频或音频流 从媒体服务器到一个或多个固定客户端。
视频或图像编辑 直接通过共享网络资源。
虚拟化环境 采用网络存储(iSCSI、NFS over 10 GbE 等)。
但是,在以下网络中不建议启用巨型帧: 许多不同的设备、中间路由器或互联网连接同时存在。 你无法控制的流量,或者流量非常多样化且充满小数据包的流量:
与网络 许多家庭或办公客户 混合型,操作系统不同,硬件老旧。
将本地高流量与以下因素结合起来的连接 网络游戏或互联网流媒体.
场景 大量的P2P连接、来自多个IP地址的下载以及高度可变的包大小.
一个非常明显的例子是一些高端 WiFi Mesh 路由器和系统(及其 路由器的操作系统和固件也就是说,默认情况下, 9K分辨率下启用巨型帧 为了优化局域网流量,他们必须将这些 9000 字节的帧分割成 1500 字节,才能发送到互联网广域网。这种分割过程可能会 增加延迟并引入抖动尤其是在网络游戏中,这非常令人恼火。
在游戏主机上,通常无法调整 MTU 或巨型帧,但在 PC 上可以,因此在以游戏为导向的场景中,他们通常建议…… 禁用巨型帧 避免造成不必要的延误。
巨型相框正常运行的基本要求
为了确保一切正常运转,至关重要的是: 数据包路径中涉及的所有设备都支持相同的 MTU 大小,并且都配置了相同的 MTU 大小。如果链路中的某个环节无法处理大帧,就会出现数据碎片、速度下降甚至丢包的情况。
这包括仔细审查:
所有设备的网卡PC、服务器、虚拟机和 NAS 设备必须支持巨型帧,并且配置为相同的大小(例如,MTU 9000)。
交换机和路由器它们必须声明支持巨型帧,或者至少在流量将要经过的端口上声明支持迷你巨型帧。有些设备只允许全局 MTU 配置,而有些设备则允许按端口配置。
任何中继链路(802.1Q VLAN、MPLS、隧道等)添加额外的头部会使帧的总大小变大,因此交换机必须准备好接受这些额外的字节,否则它们将被视为过大。
例如,如果您将 NAS 配置为: 9000 MTU 如果将其连接到仅支持标准 1500 帧大小的交换机,或连接到未启用巨型帧的 PC,最好的情况是所有内容都会被重新协商为 1500 帧,您将失去预期的优势。在更糟糕的情况下,您会看到 碎片错误、丢包或性能不稳定.
黄金法则非常明确:在触摸任何东西之前,请确保…… 数据路径中的所有元素都与相同的帧大小兼容。如果您不确定或者网络非常异构,最好将 MTU 设置为 1500。
在 Windows 和其他系统中启用巨型帧时常见的问题
一个相当常见的情况是,Windows 用户 他们在网卡属性中启用巨型数据包选项。 (例如,9014 字节)但是,当使用系统工具检查实际 MTU 时,他们发现它仍然是 1500,并且使用大数据包进行 ping 操作会失败。
想象一下基于以下技术的 10 GbE 网卡: 英特尔 82599EN 芯片用户使用 SFP+ 端口连接到已配置为 MTU 9000 的交换机。用户访问 Windows 11 属性,依次选择“以太网 2 > 属性 > 配置 > 高级”,并将“巨型帧”设置为 9014 字节。但是,当在终端中运行以下命令时:
netsh interface ipv4 show subinterface «Ethernet 2»
MTU 仍然显示为 1500。如果您尝试使用以下命令强制更改:
什么是 CD 和 DVD?netsh interface ipv4 set subinterface «Ethernet 2» mtu=9000 store=persistent
该命令返回“参数不正确。“而且调整根本无法应用。带有大帧的 Ping(ping IP -f -l 8972)回复经典消息,表示数据包需要分片,但 DF 标志已设置。
在这种情况下,问题通常出在…… 网卡驱动程序、Windows IPv4 协议栈以及系统公开 MTU 的方式之间存在特定的交互。有些网卡在内部管理巨型数据包大小,但不会直接在 netsh 输出中显示为 MTU 9000;而另一些网卡则需要特定的驱动程序版本或额外的注册表配置。
通常情况下,如果命令 netsh 拒绝特定的 MTU “参数错误”消息表明 Windows 或驱动程序认为该值对于该接口无效。在这种情况下,建议检查:
网卡驱动程序是 已更新至最新稳定版本.
制造商的文档 支持的巨型帧值 (有时是 4088、8192、9014 等)。
如果真有这么一个 系统施加的限制 (例如,网络策略、特定版本的 Windows 或与硬件卸载的组合)。
如何在 Windows、Linux、NAS 和网络设备上启用巨型帧
为了使环境能够协调运作,两者都需要 终端设备的操作系统 就像网络上的设备一样。基本流程始终相同:检查兼容性,设置一致的 MTU 值,并验证其是否真正有效。
在 Windows 系统中,通常的操作步骤是:以管理员权限打开控制台,然后使用以下命令:
netsh interface ipv4 show subinterface 列出接口并查看每个接口的当前 MTU。
netsh interface ipv4 set subinterface mtu=XXXX store=persistent 要设置所需的 MTU,请将 XXXX 替换为所选大小(例如,9000),并将索引/名称替换为要修改的接口的索引/名称。
建议此 MTU 值与配置中的值相匹配。 由巨型包裹司机所有 以及网络段上的其他设备。在某些情况下,可能需要重启系统才能使更改完全生效。
在 Linux 系统中,这非常简单:只需找到接口名称(eth0、ens33、enp3s0 等),然后运行类似这样的命令:
sudo ifconfig mtu XXXX
如果我们希望该设置在重启后仍然有效,我们需要添加 mtu XXXX 在相应的网络配置文件中(例如, /etc/network/interfaces 在许多经典发行版中)或使用系统推荐的方法(NetworkManager、systemd-networkd 等)。然后,重启网络服务以应用配置。
在 Synology 或 QNAP 等 NAS 设备中,图形界面通常提供一系列功能。 可配置的 MTU,最大可达 9000 字节 可以按网络接口或链路聚合组进行设置。更改后,建议检查所连接的交换机是否支持该 MTU 值,并确保与 NAS 通信的设备使用相同的 MTU 值,以避免造成瓶颈。
在家用交换机和路由器中,例如某些华硕型号,通常会有一个用于“开关控制或者,您也可以在类似设置中启用巨型帧功能,有时还可以启用 NAT 加速选项。选中巨型帧后,您必须应用更改,如有必要,请重新启动。制造商通常会发出警告: 所有连接的设备都必须支持巨型帧。 以避免出现问题。
在思科 Catalyst 交换机上配置巨型帧
在采用思科 Catalyst 交换机的专业环境中,这个问题会变得更加复杂,因为 并非所有型号或软件版本都支持相同的框架尺寸。此外,有些软件只允许全局调整 MTU,而有些软件则允许按端口调整 MTU。
例如,在 Catalyst 6000/6500 和 Cisco 7600 OSR 系列交换机中,从某些版本(CatOS 6.1(1) 和 Cisco IOS 12.1(1)E 的原生模式)开始,可以启用巨型帧。启用巨型帧支持后的默认帧大小通常约为 9216 字节 MTU然而,由于 ASIC 的限制,某些基于 10/100 的线路卡会设定较低的限制(例如,8092 字节)。
在这些设备上,MTU 是按接口配置的,类似于这样:
千兆以太网1/1接口
mtu 9216
然后使用以下类型的命令进行检查 显示接口 gigabitEthernet 1/1配置的 MTU 应显示在此处。可以看到计数器输出。 rxOversizePkts这对应于大于 1548 字节但小于巨型 MTU 的帧;如果这些值与 ifInErrors 一起上升,则表明大于支持的帧正在进入某些路径。
拍卖的底价是多少?在 Catalyst 3750/3560 系列中,所有千兆以太网接口均支持高达 1000 帧的帧 9000字节快速以太网的 MTU 限制在 1998 字节左右。在这种情况下,MTU 不能按接口单独更改;而是通过以下方式实现…… 全球 需要重启交换机才能使更改生效。
典型的命令如下:
系统 MTU 1546 调整 10/100 接口的 MTU。
MTU Jumbo 9000 系统 用于千兆以太网接口。
然后是 重载 并且已通过以下方式验证 显示系统 MTU图中同时显示了普通 MTU 和巨型帧 MTU。需要注意的是,如果巨型帧通过千兆端口进入,而必须通过 MTU 较低的 10/100 端口输出, 将被排除在外.
在 3550、2970 和 2960 系列的某些型号中,支持的最大 MTU 值有所不同。 1546、1998 或 2000 字节 快速以太网最高可达 9000,千兆以太网最高可达 9000,同样可以通过全局修改进行调整。 系统 MTU o MTU巨型系统这种更改通常需要重启,而且交换机的 CPU 可以处理的大小略低于接口可以转发的最大大小。
其他设备,例如 Catalyst 2950/2955、2940、Express 500 或 2948G-L3/4908G-L3,都具有此功能。 更严格的限制 很多情况下,它们不允许配置 MTU,或者 MTU 值被限制在很小的范围内(例如 1530 字节)。在这种情况下,如果您尝试配置更大的 MTU,系统会发出警告,提示该接口不支持可调节的 MTU,或者直接忽略更改。
检查和测试巨型帧配置
当你觉得一切都设置妥当后,接下来要处理关键部分: 确认是否确实使用了巨型帧,并且网络没有出现任何压力。有几种方法可以实现这一点,将命令行工具与监控实用程序相结合。
最经典的测试方法是使用 使用大数据包和“不分片”标志进行 ping 操作. 在 Windows 上,例如:
ping 192.168.0.1 -l 8000 -f -t
如果一切正常且整个路径都支持所选的 MTU,您将看到类似“来自 192.168.0.1 的回复:字节数=8000,时间<1ms,TTL=255”的响应,不会出现丢包或错误信息。如果路径上的任何设备不支持这些大小,则会显示消息“数据包需要分片,但 DF 设置“你不会得到任何答案。”
在 Linux 和其他系统上,可以使用以下命令执行类似的测试: ping -M do -s 8972 ip 或者尝试不同的方法,调整有效载荷大小,直到找到网络在不发生分片的情况下可接受的最大值。由此,您就能知道实际可以使用的 MTU 值。
除了 ping 命令之外,使用分析器也非常有用,例如 Wireshark的 捕获两个据称使用巨型帧的点之间的流量,并检查 以太网帧的实际大小 正在发送和接收的数据。如果您发现所有数据的大小仍然在 1518 字节左右,则说明配置存在问题。
另一个非常实用的测试方法很简单 测量大文件的传输时间 例如,在两台启用和未启用巨型帧的计算机之间传输数GB的数据。如果配置正确且环境合适,您应该会注意到持续传输速度有所提高,并且偶尔会在复制过程中CPU负载略有下降。
最后,这的确是个好习惯。 定期监控网络 尤其是在更改 MTU 之后,应检查交换机和路由器上的错误、冲突或超大帧计数器。如果出现超大帧、巨型帧或传入错误计数器,则网络的某些部分可能与配置的帧大小不匹配。
综上所述,很明显,巨型边框是一个非常强大的工具,可以用于…… 在几个明确定义的点之间传输大量数据时,如何最大限度地利用千兆和万兆以太网?但它们也需要一些关注:检查兼容性、在所有相关设备上统一 MTU 值、进行高延迟测试、测量实际速度,以及在处理在线游戏等敏感流量时监控延迟。如果规划和测试得当,它们可以带来显著的性能提升;如果配置不当,只会增加麻烦并造成性能损失。
相关文章:路由器操作系统和固件完整指南