古詩詞大全網 - 成語查詢 - MTU值如何設置

MTU值如何設置

壹、原理:在windows裏,默認的MTU是1500,但是不同的網絡接入方式,不同地區的網絡運營商,甚至不同的[路由器),它們的MTU值都可能是不同的。例如:ADSL接入時MTU為1492字節,假設A需要給B傳輸3000字節數據,如果整個傳輸過程中各個環節的MTU都是1500,那麽2個數據包就可以傳輸完成。可是偏偏這時ADSL接入方式的MTU是1492字節,數據包就因為這個MTU差異額外拆分為3個(為了便於理解,暫時不將“數據包報頭”納入考慮範圍)顯然這額外增加了需要傳輸的數據包數量,而且拆包組包的過程也浪費了時間。如果從本地到網絡采用壹致的MTU就可以避免額外拆包。

那麽什麽情況下MTU值是合理的呢?1、本地MTU值大於網絡MTU值時,本地傳輸的數據包過大導致網絡會拆包後傳輸,不但產生額外的數據包,而且消耗了“拆包、組包”的時間。2、本地MTU值小於網絡MTU值時,本地傳輸的數據包可以直接傳輸,但是未能完全利用網絡給予的數據包傳輸尺寸的上限值,傳輸能力未完全發揮。 這樣我們就知道,所謂合理的設置MTU值,就是讓本地的MTU值與網絡的MTU值壹致,既能完整發揮傳輸性能,又不讓數據包拆分。

設置MTU大小是壹個反復試驗的過程: 由最大值1500開始下降,直至問題解決。使用下列值之壹或許能解決壹些由MTU值引起的問題:

1500:以太網信息包最大值,也是默認值。是沒有PPPoE和VPN 的網絡連接的典型設置。是各種路由器、網絡適配器和交換機的默認設置

1492:PPPoE 的最佳值

1468:DHCP的最佳值

1430:VPN和PPTP 的最佳值

576:撥號連接到ISP的標準值

二、判斷本機MTU最大值方法,思路:在廣域網上,大小超出ISP要求的數據包將無法傳輸,而操作系統則會根據本機MTU值自動將大小不符合要求的數據進行分包處理再進行傳輸,所以我們可以通過向Internet上的某臺主機發送壹個定長數據包,並且不允許操作系統更改其大小的方式去檢查該數據包能否被正常傳輸,如果數據包小於或等於ISP的MTU值時,傳輸就能正常進行,而如果發送的數據包大於ISP使用的MTU值時,傳輸就會失敗,這樣我們就能通過不斷發送不同大小的數據包最終得到ISP端的MTU大小,而這個數據再加上28字節的包頭信息就是我們需要的最終MTU值。

輸入命令“ping –l 14xx –f www.xxxx.com ”,用參數-l和-f 來做。

找出最佳的大小,然後加上28,就是要設置的MTU大小。

三、 windows下設置MTU值:

通過輸入:netsh interface ipv4 show subinterfaces 查詢到目前系統的MTU值。

通過輸入:netsh interface ipv4 set subinterface "本地連接" mtu=1480 store=persistent

netsh interface ipv4 set subinterface "無線網絡連接" mtu=1480 store=persistent

四、linux系統設置MTU值

4.1臨時修改

可以通過類似如下命令,臨時修改本地特定網卡的MTU,但修改後重啟將失效。

3.2 永久修改

可以通過類似如下命令,永久修改本地特定網卡的MTU,但是修改後需要重啟網卡生效。