AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 4187
In Process
jdiaz
jdiaz
Asked: 2009-05-05 09:45:49 +0800 CST2009-05-05 09:45:49 +0800 CST 2009-05-05 09:45:49 +0800 CST

升级到千兆网络 - 启用巨型帧

  • 772

我想开始将我的 SOHO 网络升级到千兆位(从 10/100 开始),并在 Jumbo Frames 上有所了解。

在网络上实施巨型帧的最佳方式是什么?据我所知,为了使其正常工作,网络上的所有网络设备都必须支持巨型帧。这是真的?

如果我有无法更新到 GB 以太网的特定设备(例如网络打印机),这会阻止我启用巨型帧吗?

启用巨型帧有哪些注意事项?

jumboframes networking
  • 5 5 个回答
  • 7575 Views

5 个回答

  • Voted
  1. jj33
    2009-05-05T10:30:24+08:002009-05-05T10:30:24+08:00

    首先,最好解释一下巨型帧以太网是什么。以太网是第 2 层网络技术,其协议数据单元 (PDU) 是一个帧。作为参考,一个 L3PDU(IP 层)是一个数据包,一个 L4PDU(tcp/udp)是一个段。

    一个以太网帧(有几种类型的以太网,但我们可以在这里概括)由一个标头(其中包含源 MAC、目标 MAC、802.1q VLAN 标签等)组成帧,以及用于验证帧成功传输的 CRC 校验和。

    原始以太网将帧大小(整个帧中的数据值,包括标头和校验和)指定为 1500 字节(或者可能是 1518,必须查找)。这个数字在一次发送的数据量与传输失败或冲突以及必须重新传输的可能性之间取得了平衡。随着快速全双工 LAN 的出现,人们意识到可以通过增加以太网帧大小来提高性能。巨型帧的传统大小是每帧 9000 字节,尽管这主要是约定俗成的。

    在所有元素都期望接收巨型帧以太网的坚如磐石的全双工 LAN(或 VLAN)上,它实际上确实提高了性能。这种情况的问题是,如果您引入了不期望的网络元素或终端设备。在最好的情况下,它会导致性能下降,因为数据包丢失,因为接收设备在一帧中只期望 1518 字节。

    现在回答您的具体问题:

    在网络上实施巨型帧的最佳方式是什么?

    这是一个主观问题。在我的营业地点,我们选择仅在我们知道我们可以控制所有变量并且我们知道它会有所帮助的情况下实施它。为此,我们在一个特殊的“私有”vlan 中实现了它,只有特定设备才能通过它们的第二个 NIC 进行访问。具体来说,我们将文件服务器和应用程序服务器的第二个 NIC 放入这个新 VLAN,然后将所有引用更改为该 VLAN 中使用的 IP 方案。这使我们能够将目标(没有人将台式机插入此 VLAN)我们知道最能受益的特定区域(我们的基础设施中利用率最高的数据链路)。这样可以最大限度地提高收益,同时最大限度地降低风险。

    更具体地说,在网络端(使用 IOS),我们构建了专用于巨型帧设备的 VLAN,然后将“mtu 9000”添加到它们的 vlan 定义中。将使用此网络的交换机上的每个接口都使用“switchport access vlan 11”之类的内容放入此 vlan。在 linux 机器上(eth0 连接到标准网络,eth1 连接到巨型帧网络),我们将“MTU=9000”添加到 /etc/sysconfig/network-scripts/ifcfg-eth1。因为我们从不路由这些数据包(不直接连接到巨型帧 VLAN 的任何东西都不可能与巨型帧 VLAN 上的 NIC 通信),我们不必担心路由器配置。

    据我所知,为了使其正常工作,网络上的所有网络设备都必须支持巨型帧。这是真的?

    是的,差不多。所有网络“客户端”(我的意思是服务器/台式机/IPKVM/IP 环境监视器等)也必须使用它,或者,如上所述,您将拥有许多半可达机器(它们会 ping,以及任何小于 1500 字节的 L3 或 L4PDU 将成功,这意味着,例如,您的邮件服务器将 ping,您将能够手动发送可能是小的测试消息。但是当您尝试发送真正的邮件(带有 excel 附件的邮件,其帧大小 > 1500 字节)它会神秘地失败)。

    如果我有无法更新到 GB 以太网的特定设备(例如网络打印机),这会阻止我启用巨型帧吗?

    如果是这样的话,这就是我要做的(假设网络设备可以处理这个问题):

    • 构建两个 VLAN,一个带巨型帧,一个不带
    • 将所有网络设备分配给一个 vlan 或另一个
    • 在您的路由器和交换机中,实施巨型帧 vlan 并更改任何网络客户端上的帧大小。

    这意味着您的网络上将不再有扁平的 L2 拓扑。例如,如果您想从启用巨型帧的服务器打印到非巨型帧打印机,则必须路由数据包(通过您的路由器,将帧重写为更常规的大小,然后发送到另一个 VLAN 上的打印机)。这意味着您的巨型帧和非巨型帧机器之间的通信将比以前稍差,但巨型帧 VLAN 上所有设备之间的数据传输速率会更好。这实际上只是一个判断电话。

    启用巨型帧有哪些注意事项?

    希望上面有介绍。祝你好运!

    • 20
  2. Jeffrey
    2009-05-05T09:49:51+08:002009-05-05T09:49:51+08:00

    您可能会发现Jeff Atwood在 Jumbo Frames 上的帖子内容丰富。

    帖子亮点:

    • 20% 性能提升
    • 为了使大框架保持完整,它通过的每个设备都必须支持该框架大小
    • 不支持巨型帧的交换机将丢弃它们
    • 11
  3. Frode Lillerud
    2009-05-05T12:14:55+08:002009-05-05T12:14:55+08:00

    您可以使用 ping.exe 检查数据包的最大大小并将其与您的巨型帧设置进行比较。

    ping -l 4096 -f server
    

    调整 -l 使用的数据包大小,并使用 -f 设置 DO_NOT_FRAGMENT 标志。当您达到最大数据包大小时,您将收到“数据包需要分段但 DF 设置”。

    这将告诉您 Jumbo Frames 是否有效。

    • 5
  4. David
    2009-05-05T10:16:31+08:002009-05-05T10:16:31+08:00

    是的,一切都必须支持巨型帧 - 将其视为在令牌环和以太网之间切换。唯一的区别是某些设备可能会在短时间内或间歇性地工作 - 如果您不跟踪在大型网络上重新配置了哪些设备(即 2 周后您会得到一个一些用户的故障单,他们的隔间后面塞满了“刚刚”停止工作的打印机)。这同样适用于任何新的东西 - 您需要设置一个程序来重新配置任何带有巨型帧的新设备和计算机,以避免在初始启动后无法工作时的支持呼叫。

    • 3
  5. AndreasM
    2010-07-09T23:04:35+08:002010-07-09T23:04:35+08:00

    在 Linux 上,我发现以下方法可以工作: 如果您使用标记的 vlan,请将基本设备(例如 eth1)的 mtu 设置为巨型帧大小。所有支持巨型帧的 vlan 都获得相同的 mtu,不保留原来的 vlan,通常是 1500。

    实际上,启用了 jumbo talkers 和切换的 vlan 将能够发送到本地 vlan 接口,即使该 vlan 上的 mtu 小于基本接口之一。

    同样在 linux 上,要测试的命令是: ping -s 4096 -M do

    -s 是大小,-M do 表示“不要分段”。如果超过本地 mtu,则会出现错误。如果超过远程 mtu,您将一无所获。

    • 1

相关问题

  • 10 Gb 网络:在光纤和双绞线之间做出决定

  • 如何在 Windows Server PPTP VPN 中自动为客户端分配路由?

  • 为什么我的电脑休眠时 VPN 连接会中断?[关闭]

  • 有什么软件可以模拟局域网?

  • 带宽利用工具?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve