一、jumbo frames 相關
1、什麼是jumbo frames
jumbo frames 是指比標準ethernet frames長的frame,即比1518/1522 bytes大的frames,jumbo frame的大小是每個裝置廠商規定的,不屬於ieee標準;jumbo frame 在full-duplex 的ethernet網路上執行;jumbo frame定義了乙個「link negotiation」協議,來和對端的裝置協商,是否對端裝置支援使用jumbo frames;標準的乙太網ip報文大小是:1500 bytes,不包含乙太網頭和fcs的18 bytes(6+6+2+4),如果包含乙太網頭和fcs,則為1518 bytes;jumbo frame 一般指的是二層封裝三層ip報文的值大於9000bytes的報文。
jumbo frames的提出背景:在2023年,alteon networks 公司提出把data link layer最大能傳輸的資料從1500 bytes 增加到9000 bytes,這個提議雖然沒有得到ieee 802.3 working group的同意,但是大多數裝置廠商都已經支援。
2、使用jumbo frames的優點
在資料傳輸時,由於ieee的規定最大的幀規定為1,500位元(主機在早期的半雙功網路中),所以需要數傳輸需要經過 資料的切要 --- 傳輸 ---資料組合 的過程。而使用的最大幀越小,傳輸包的量就越大,計算量相應會多,而產生的後果是:
a:增加主機的計算量,消耗cpu資源;
b:影響網路傳輸的速度。
而使用大幀優點自然也不言而喻 ———— 降低cpu計算量、加快資料傳輸。
上面囉嗦了一大堆,修改幀大小實際需要的操作就是修改mtu(maximum transmission unit)值,即修改最大傳輸單元。修改方法如下:
1、ifconfig命令修改
ifconfig $這個是最通用的方法,對所有的linux 發行版本都有效。缺點就是重啟後失效,需要在開機項中載入。mtu $
upifconfig eth1 mtu
9000
up
2、修改配置檔案
centos / rhel / fedora linux下
# vi /etc/sysconfig/network-scripts/ifcfg-eth0debian / ubuntu linux下#增加如下內容
mtu=
"9000"
#儲存後重啟網絡卡生效
# service network restart
#啟用ipv6位址的,修改ipv6 mtu的引數為
ipv6_mtu
="1280"
# vi /etc/network/inte***ces從理論上計算,4 bytes的crc最大支援12000 bytes大小的位元組,超過了就沒有辦法檢查了。另外還有其他一些協議如nfs等的限制。#增加如下值
mtu
9000
#儲存後,重啟網路生效
# /etc/init.d/networking restart
最後需要注意的是,在經過交換網路裝置時,僅僅修改主機端的mtu值是不行的,還需要交換網路裝置上開啟jumbo frames功能。
使用ping命令,-l 指定包大小,-f 選項為通知作業系統不能私自更改該資料報大小
使用英文作業系統時的提示為:packet needs to be fragmented but df set .
快速修改MTU值
修改 network scripts 下面的配置檔案後重啟網路即可即可,eg etc sysconfig network scripts ifcfg eth0 檢視 很簡單,ifconfig即可 修改 mtu 1300 查詢 netsh inte ce ipv4 show subinte ces設定...
Linux中通過修改MTU值來修改網速
通過adsl寬頻 貓 上網,系統為redhat 9.0,但在上網時有些網頁打不開,而且網速不快。這跟mtu值有關係,將它修改到適當的值即可。在windows下可以通過修改登錄檔來修改mtu值,可在linux下面又該如何做呢?其實只需要乙個簡單的命令即可 ifconfig eth0 mtu numbe...
linux,windows 修改 網絡卡MTU 值
1,linux 修改網絡卡mtu 最小單元 ifconfig eth0 mtu 1400 2,linux 檢視修改是否成功 root localhost ifconfig grep 1400 up broadcast running multicast mtu 1400 metric 1 3,win...