!
那麽什麽情況下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,但是修改後需要重啟網卡生效。