三大操作系统(Windows 10、Mac OS X、群晖DSM6.23)的2.5G/10G网卡开启巨型帧的方法

       一、先来讲解两个名词

       1、MTU:最大传输单元(Maximum Transmission Unit,MTU),是指一种通信协议在某一层上面所能通过的最大数据报大小(以字节为单位),它通常与链路层协议有密切的关系。

       由于以太网传输电气方面的限制,每个以太网帧都有最小的大小64bytes,最大不能超过1518bytes,对于小于或者大于这个限制的以太网帧,我们都可以视之为错误的数据帧。一般的以太网转发设备会丢弃这些数据帧。(注:小于64Bytes的数据帧一般是由于以太网冲突产生的 “碎片”或者线路干扰或者坏的以太网接口产生的,对于大于1518Bytes的数据帧我们一般把它叫做Giant帧,这种一般是由于线路干扰或者坏的以太网口产生)。

       由于以太网EthernetII最大的数据帧是1518Bytes,除去以太网帧的帧头(DMAC目的MAC地址 48bit=6Bytes+SMAC源MAC地址48bit=6Bytes+Type域2bytes)14Bytes和帧尾CRC校验部分4Bytes (这个部份有时候大家也把它叫做FCS),那么剩下承载上层协议的地方也就是Data域最大就只能有1500Bytes,这个值我们就把它称之为MTU。

       这个MTU就是网络层协议非常关心的地方,因为网络层协议比如IP协议会根据这个值来决定是否把上层传下来的数据进行分片。就好比一个盒子没法装下一大块面包,我们需要把面包切成片,装在多个盒子里面一样的道理。当两台远程PC互联的时候,它们的数据需要穿过很多的路由器和各种各样的网络媒介才能到达对端,网络中不同媒介的MTU各不相同,就好比一长段的水管,由不同粗细的水管组成(MTU不同 )通过这段水管最大水量就要由中间最细的水管决定。

       2、巨型帧(Jumbo Frame)
       以太网自从被发明以来的30年来,其帧结构一直就没有发生过大的改变。唯一的改变也就是为了满足VLAN以及优先级的需求,在帧头加了4个字节,除此之外,以太网的帧结构就像金科玉律一样,没有谁试图改变它。
       现在最大帧长的问题提出来了。以太网经过几十年的发展,速度已经从最初的10M被提升到了10G甚至更高,速度提高了1000倍或者以上。在这样高速度的传输数据中,如果还是延续经典以太网的最大帧长不超过1518 字节的限制,那么在每秒中传输的数据包的个数将很大。由于每个数据包都需要网络设备来进行处理,由此带来的额外开销也将很大,而且这个开销随着网络速度的提高而愈加明显。

       于是一些厂商提出了“巨型帧”的概念,大胆地把以太网的最大帧长扩展到了9K,几乎把以前的最大帧长扩展了6倍。加大帧长的好处在于减少了网络中数据包的个数,减轻了网络设备处理包头的额外开销。经过测试,在传统的千兆以太网中,每秒大约有81,000个数据包流经网络,而在使用了巨型帧的网络中,这个数字减少为14,000。在万兆网络中,这个对比更加强烈,标准的网络中帧长为标准1518的帧每秒有812,000个,而采用了巨型帧技术的网络上仅仅只有14,000个。大量减少的帧数目必将带来性能的提高。
       Jumbo Frame这是一种厂商标准的超长帧格式,专门为千兆以太网而设计,目前还没有获得IEEE标准委员会的认可。以太网标准的最大帧长度为1518字节,而Jumbo Frame的长度各厂商有所不同,从9000字节~64000字节不等。采用Jumbo Frame能够令千兆以太网性能充分发挥,使数据传输效率提高50%~100%。在网络存储的应用环境中,Jumbo Frame更具有非同寻常的意义。
       Jumbo Frame需要在相互通讯的2个通讯端口(交换机端口或网卡端口)上同时支持,而且与以前的以太网产品不兼容,因此主要会应用于千兆主干的端口之间以及服务器端口接入到网络主干的链路。交换机把Jumbo Frame格式的数据转发向不兼容Jumbo Frame的端口时应进行帧格式的转换,即把Jumbo Frame帧格式的数据转换成标准以太网的帧格式,从而保证其正常工作。相反,从不兼容Jumbo Frame的端口向支持Jumbo Frame的端口转发数据时,交换机可以把多个标准以太网帧合并成超长Jumbo Frame帧,从而提高传输效率。—-由于Jumbo Frame没有成为国际标准,目前只有部分厂商支持这种帧格式。不过随着以太网向千兆、万兆的发展,必然要诞生1种超长帧格式,因而Jumbo Frame从厂商标准转变为国际标准的可能性非常大。

 

       二、Windows 10 开启巨型帧的方法

       在系统桌面右下角网络图标点鼠标右键,选“网络和internet设置”—“更改适配器选项”,找到你的2.5G或者10G网卡,右键点“属性”—“配置”—“高级”,找到“巨型帧”,选择“9KB MTU”,确定。

 

       三、Mac OS X 开启巨型帧的方法

       网络,选中你的2.5G或者10G网卡,高级,硬件,手动设置 MTU 为 9KB。

 

       四、群晖DSM6.23 开启巨型帧的方法

       1、在群晖“控制面板”—“网络”—“网络界面”,选中你的2.5G或者10G网卡所在的“局域网 X” ,点“编辑”—“手动设置 MTU值” 改为 9000,确定。

 

       2、保存设置后,等待网络重启,一会网页自动刷新后就可以看到状态里已经显示“启动 Jumbo Frame,MTU值 为 9000”。

 

点赞
  1. ss说道:
    Google Chrome Windows 10
    开了巨型帧速度反而降下来才跑150左右,什么原因呢?
    1. 博主说道:
      Google Chrome Windows 10
      这个我也无法解释,我之前有个客户也是这样,群晖是用10G网卡爱快软路由上的10G网卡,群晖只要开了巨帧9000就获取不IP地址,后来只能用默认MTU。
      1. ss说道:
        Google Chrome Windows 10
        那就可能是bug了,看博主开了9k巨型帧用了一段时间2.5g网卡直接跑上下都是290m/s的传输速度,但突然有天就都变成150m/s左右了,怎么都找不到原因,也没特意调过,现在暂时只能都把esxi和黑群晖及电脑的都改回1500mtu了,但速度也只是200而已,网上找了一圈没类似案例,实在无解
        1. ss说道:
          Google Chrome Windows 10
          花了一晚上没找到原因,但重装系统就好了,intel的网卡可以巨型帧跑290,瑞昱的不行,虽然知道重装系统解决,但实在不知道什么原因引起
          1. 博主说道:
            Google Chrome Windows 10
            好的
  2. 今天星期五说道:
    Google Chrome Windows 10
    博主,请教下 ESXI下的群晖,接了8156b 的usb网卡,从主机上传资料到nas可以到280m/s 的速率,但是从nas复制东西出来只有180左右,请问是大概是什么方向的问题
    1. 博主说道:
      Google Chrome Windows 10
      有可能是两边硬盘的读写速度不一致
  3. 小黑说道:
    Google Chrome Windows 10
    博主你好,我在918+黑群里加装了8125B芯片的网卡,用自带网卡驱动的引导正常使用了几天。 今天登录群晖,发现群晖里这块网卡“尚未连接”,插拔网线无效,重启黑裙以后才恢复。 这是驱动掉了么?应该怎么避免呢?谢谢! ps:网卡tp-link NG421,直连电脑2.5G网口。无2.5G交换机
    1. 博主说道:
      Google Chrome Windows 10
      应该不是驱动的原因,如果没有了驱动,你重启群晖也是连不上的,这个现象应该是网卡过热造成失联的。外置的2.5G/10G网卡都有这个毛病,数据量大到一定程度的时候,网卡发热量会加大,此时如果散热不好就会出现降速甚至失联。
      1. 小黑说道:
        Google Chrome Windows 10
        明白了,我贴个散热片试试。 谢谢您~
  4. cm86说道:
    Google Chrome Android 10
    博主,请问千兆网卡需要这样设置吗? openwrt软路由里面的wan和lan口的mtu要怎么设置呢?
    1. 博主说道:
      Google Chrome Windows 10
      千兆不需要特别设置,用默认的(1480)就行。
      1. cm86说道:
        Google Chrome Android 10
        好叭 :tushe:

发表回复