1500bytes 不包含18字節(14+4CRC)
2. 產生原因:提高網絡的吞吐率和效率(小的數據報文封裝二層信息時,效率不高),同時減少設備CPU的負擔(對於小的報文,CPU花費大量的時間來分片和重組報文)
3. 定義:Jumbo frames 是指比標准Ethernet Frames長的frame,即比1518/1522 bytes大的frames
1) Jumbo frame的大小是每個設備廠商規定的,不屬於IEEE標准
2) Jumbo frame 在full-duplex 的Ethernet網絡上運行
3) Jumbo frame定義了一個“link negotiation”協議,來和對端的設備協商,
是否對端設備支持使用Jumbo frames
4) 標准的以太網IP報文大小是:1500 bytes,不包含以太網頭和FCS的18 bytes(6+6+2+4),
如果包含以太網頭和FCS,則為1518 bytes
5) Jumbo frame 一般指的是二層封裝三層IP報文的值大於9000bytes的報文
4. Cisco 在Gigabit Ethernet上采用的是Supervisor III/IV(引擎),所以支持Jumbo Frames,但是在Ethernet/Fast Ethernet由於采用的Supervisor I/II,所以不支持Jumbo Frame.---因為一般的Cisco設備Supervisor I/II 都是采用的是ASIC的芯片,沒有辦法支持
5. 配置:
在接口上配置
sup3(config)#interface gigabitEthernet 1/1
sup3(config?if)#mtu ?
<1500?9198> MTU size in bytes
sup3(config?if)#mtu 9198
全局配置:
Use the system mtu command to change the MTU for all 10/100 interfaces. This command only effects 10/100 interfaces.
使用system mtu(僅對10/100M接口起作用)命令來改變10/100M接口的MTU:
3750(config)# system mtu 1546
3750(config)# exit
3750# reload
使用system mtu jumbo(僅對GE接口起作用) 命令來改變Gigabit Ethernet 接口的MTU:
3750(config)# system mtu jumbo 9000
3750(config)# exit
3750# reload
6. 為什么是最大為9000 bytes:
1) 4 bytes的CRC最大支持12000 bytes大小的字節,超過了就沒有辦法檢查了
2) 其它的因數可能和NFS等有關系
7. Cisco的 Jumbo Frames
1) Cisco的 Supervisor III and IV 引擎能夠支持最大9198 bytes的Jumbo Frame
2) 9198 bytes包含802.1q tag or ISL VLAN tag,但是不包含Ethernet header 和CRC,
所以在Cisco的設備上,最大的Ethernet frame size 為:9198+18= 9216 bytes
3) Catalyst 4000s 和 Catalyst 6000s 系列指的Jumbo frames 幀的大小是不一樣的,
在Catalyst 6000s,9216 不包含Ethernet header 和CRC,所以支持的最大Ethernet Frame
大小為9216+18= 9234
在 Catalyst 4000s上,9216 已經包含了Ethernet header 和CRC
8. Jumbo Frame Support in Supervisor III/IV(引擎):
Protocol/Application |
Number of Header Bytes |
Total Frame size |
Command |
802.1q trunking |
4 |
1500 + 4 + 18 = 1522 |
No MTU commands required. |
QinQ pass-through (802.1q inside 802.1q, useful for ISPs to segregate customer traffic) |
4 + 4 |
1500 + 8 + 18 = 1526 |
system mtu 1504 |
MPLS VPN pass-through (two 4-byte labels) |
4 + 4 |
1500 + 8 + 18 = 1526 |
system mtu 1508 |
UTI/L2TPV3 pass-through (encapsulate one Ethernet packet in another Ethernet packet with a tunneling header. Useful to transport any payload such as IP/IPX and so on over an IP backbone). |
18+ 20+12 |
1500 + 50 + 18 = 1568 |
system mtu 1550 |
########################################################################################
frame 大小為 64bytes ~ 1518bytes(依據 data 大小來決定大小).這 data 大小定義是在10幾年前了,到目前網路環境已經從 10/100M 到 1G/10 G 的環境下,這樣的資料大小實在不符合效益.因為資料最大只能裝 1500 bytes.如果一筆 9000 bytes 大小的資料需要封裝成 6 個 frame.這樣就浪費了 18(frame 大小不包括 data) * 5(需多封裝 5 個 frame) = 90 bytes 的資料.時間長久下來資料就會浪費更多.
也因此 Jumbo frame 出現了!!它的資料最大可以到 9000 bytes 在 Linux 用 #ifconfig 就可以看到目前的最大資料量是多少!!
[root@benjr ]# ifconfig eth2 eth2 Link encap:Ethernet HWaddr 00:1A:64:22:04:83 inet addr:192.8.1.55 Bcast:192.8.1.255 Mask:255.255.255.0 inet6 addr: fe80::21a:64ff:fe22:483/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1440102 errors:0 dropped:0 overruns:0 frame:0 TX packets:269896 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:188856502 (180.1 MiB) TX bytes:18973940 (18.0 MiB) Interrupt:177 |
MTU:1500 (Maximum Transmission Unit )的縮寫,就是目前系統預設的最大資料量.可以直接透過 #ifconfig 設定!!目前最大支援到 9000 bytes.
[root@benjr ]# ifconfig eth2 mtu 9000 [root@benjr ]# ifconfig eth2 eth2 Link encap:Ethernet HWaddr 00:1A:64:22:04:83 inet addr:192.8.1.55 Bcast:192.8.1.255 Mask:255.255.255.0 inet6 addr: fe80::21a:64ff:fe22:483/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:9000 Metric:1 RX packets:1440102 errors:0 dropped:0 overruns:0 frame:0 TX packets:269896 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:188856502 (180.1 MiB) TX bytes:18973940 (18.0 MiB) Interrupt:177 |
#ifconfig 是暫時生效的如果要讓 MTU 在開機時就設定好還是需要修改設定檔 /etc/sysconfig/network-scripts/ifcfg-ethx.
[root@benjr ]# vi /etc/sysconfig/network-scripts/ifcfg-eth2 # Please read /usr/share/doc/initscripts-*/sysconfig.txt # for the documentation of these parameters. TYPE=Ethernet DEVICE=eth2 BOOTPROTO=dhcp ONBOOT=yes USERCTL=no IPV6INIT=no PEERDNS=yes MTU=9000 |
還有一種 Super jumbo frames 可支援到 64000 bytes.雖然 Jumbo frame 可以讓網路效能提昇但是問題來了,並不是每一個 switch 或是網卡都支援 Jumbo frame.所以到頭來 frame 還是會被切割成較小的 frame.至於你要看 switch 或是網卡有沒有支援 Jumbo frame.在 ping 的時候加入參數(-s) 指定資料大小.
[root@benjr ]# ping IP -s 5000 |
如果 ping 沒有反映這時就要檢查一下你的 switch 或是網卡有沒有支援 Jumbo frame.