首頁  >  文章  >  運維  >  linux mtu是什麼

linux mtu是什麼

藏色散人
藏色散人原創
2023-03-02 09:55:092571瀏覽

linux mtu是指網路的最大傳輸單元,其英文全名是“Maximum Transmission Unit”,是指一種通訊協定的某一層上面所能通過的最大資料包大小,最大傳輸單元這個參數通常與通訊介面有關。

linux mtu是什麼

本教學操作環境:linux5.9.8系統、Dell G3電腦。

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影片教學

以上是linux mtu是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn