溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux下如何通過修改MTU優(yōu)化cpu

發(fā)布時(shí)間:2022-02-18 09:41:51 來源:億速云 閱讀:346 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Linux下如何通過修改MTU優(yōu)化cpu,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

MTU:是網(wǎng)絡(luò)的最大傳輸單元,通信術(shù)語:最大傳輸單元(Maximum Transmission Unit,MTU)是指一種通信協(xié)議的某一層上面所能通過的最大數(shù)據(jù)包大小(以字節(jié)為單位)。最大傳輸單元這個(gè)參數(shù)通常與通信接口有關(guān)。

Linux下如何通過修改MTU優(yōu)化cpu

一、jumbo frames 相關(guān)

1、什么是jumbo frames

Jumbo frames 是指比標(biāo)準(zhǔn)Ethernet Frames長的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每個(gè)設(shè)備廠商規(guī)定的,不屬于IEEE標(biāo)準(zhǔn);Jumbo frame 在full-duplex 的Ethernet網(wǎng)絡(luò)上運(yùn)行;Jumbo frame定義了一個(gè)“l(fā)ink negotiation”協(xié)議,來和對(duì)端的設(shè)備協(xié)商,是否對(duì)端設(shè)備支持使用Jumbo frames;標(biāo)準(zhǔn)的以太網(wǎng)IP報(bào)文大小是:1500 bit,不包含以太網(wǎng)頭和FCS的18 bit(6+6+2+4),如果包含以太網(wǎng)頭和FCS,則為1518 bit;Jumbo frame 一般指的是二層封裝三層IP報(bào)文的值大于9000bit的報(bào)文。

Jumbo frames的提出背景:在1998年,Alteon Networks 公司提出把Data Link Layer最大能傳輸?shù)臄?shù)據(jù)從1500 bit 增加到9000 bit,這個(gè)提議雖然沒有得到IEEE 802.3 Working Group的同意,但是大多數(shù)設(shè)備廠商都已經(jīng)支持。

2、使用jumbo frames的優(yōu)點(diǎn)

在數(shù)據(jù)傳輸時(shí),由于IEEE的規(guī)定最大的幀規(guī)定為1,500比特(主機(jī)在早期的半雙功網(wǎng)絡(luò)中),所以需要數(shù)傳輸需要經(jīng)過 數(shù)據(jù)的切要 --- 傳輸 ---數(shù)據(jù)組合 的過程。而使用的最大幀越小,傳輸包的量就越大,計(jì)算量相應(yīng)會(huì)多,而產(chǎn)生的后果是:

a:增加主機(jī)的計(jì)算量,消耗CPU資源;

b:影響網(wǎng)絡(luò)傳輸?shù)乃俣取?/p>

而使用大幀優(yōu)點(diǎn)自然也不言而喻 ———— 降低CPU計(jì)算量、加快數(shù)據(jù)傳輸。

二、修改MTU值

上面啰嗦了一大堆,修改幀大小實(shí)際需要的操作就是修改MTU(Maximum Transmission Unit)值,即修改最大傳輸單元。修改方法如下:

1、ifconfig命令修改

ifconfig ${Interface} mtu ${SIZE} up
ifconfig eth2 mtu 9000 up

這個(gè)是最通用的方法,對(duì)所有的linux 發(fā)行版本都有效。缺點(diǎn)就是重啟后失效,需要在開機(jī)項(xiàng)中加載。

2、修改配置文件

CentOS / RHEL / Fedora Linux下

# vi /etc/sysconfig/network-scripts/ifcfg-eth0#增加如下內(nèi)容MTU="9000"#保存后重啟網(wǎng)卡生效# service network restart#啟用IPv6地址的,修改IPv6 mtu的參數(shù)為IPV6_MTU="1280"

Debian / Ubuntu Linux下

# vi /etc/network/interfaces#增加如下值mtu 9000#保存后,重啟網(wǎng)絡(luò)生效# /etc/init.d/networking restart

三、為什么MTU最大值為9000字節(jié)

從理論上計(jì)算,4 bit的CRC最大支持12000 bit大小的字節(jié),超過了就沒有辦法檢查了。另外還有其他一些協(xié)議如NFS等的限制。

最后需要注意的是,在經(jīng)過交換網(wǎng)絡(luò)設(shè)備時(shí),僅僅修改主機(jī)端的MTU值是不行的,還需要交換網(wǎng)絡(luò)設(shè)備上開啟jumbo frames功能。

四、MTU測(cè)試

使用ping命令,-l 指定包大小,-f 選項(xiàng)為通知操作系統(tǒng)不能私自更改該數(shù)據(jù)包大小

Linux下如何通過修改MTU優(yōu)化cpu

使用英文操作系統(tǒng)時(shí)的提示為:Packet needs to be fragmented but DF set .

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Linux下如何通過修改MTU優(yōu)化cpu”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI