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等


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM