當前位置:
首頁 > 知識 > Linux上合理設置網卡的MTU值

Linux上合理設置網卡的MTU值

MTU:是網路的最大傳輸單元,通信術語:最大傳輸單元(Maximum Transmission Unit,MTU)是指一種通信協議的某一層上面所能通過的最大數據包大小(以位元組為單位)。最大傳輸單元這個參數通常與通信介面有關。

當MTU不合理時會造成如下問題

1.本地MTU值大於網路MTU值時,本地傳輸的"數據包"過大導致網路會拆包後傳輸,不但產生額外的數據包,而且消耗了「拆包、組包」的時間。

2.本地MTU值小於網路MTU值時,本地傳輸的數據包可以直接傳輸,但是未能完全利用網路給予的數據包傳輸尺寸的上限值,傳輸能力未完全發揮。

什麼是合理的MTU值

讓本地MTU值與網路的MTU值一致,以致於不會出現數據包的大小超過網路傳輸的MTU值,而不得不進行拆包,然後組包,再進行轉發,所謂合理的設置MTU值,就是讓本地的MTU值與網路的MTU值一致,既能完整發揮傳輸性能,又不讓數據包拆分。

怎麼探測合理的MTU

linux下探測MTU值

ping -s 1460 -M do baidu.com

含義:發送大小包大小是1460( 28)位元組,禁止路由器拆分數據包。

windows下探測MTU值

ping -f -l 1460 baidu.com

回復結果

1.如果正常回復,說明網路允許最大MTU就是1500位元組,與系統默認相同,只需將自己的路由的MTU也設置為1500即可。

2.如果沒正常回復,說明數據包大小超過了網路限定的MTU大小。需要減小探測包大小再次嘗試。

如何修改MTU值

linux臨時修改

ifconfig eth0 mtu 1488 up

為什麼mtu值是探測出來的值加上28

因為ping使用icmp協議,你指定的探測值是數據包數據凈荷的長度,還需要加上20位元組的ip頭部,和8位元組的icmp封裝

#MTU設置不正確可能會造成什麼問題(平時都是默認1500)

第一:使用pptp後,未將伺服器上mtu改小,可能造成帶寬跑不上去

第二:使用GRE後,未將伺服器上mtu改小,可能造成部分網站無法打開,如百度,hao123等

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux資訊速推 的精彩文章:

一次ceph心跳機制異常的處理
新商標表明華為鴻蒙系統在海外或叫做「Harmony OS」

TAG:Linux資訊速推 |