如何擁有最佳MTU?
MTU是什么?
MTU的英文全稱為Maximum Transmission Unit,中文是意思是最大傳輸單元。MTU就是指一種通信協議的某一層上面所能通過的最大數據包大小(以字節為單位)。最大傳輸單元這個參數通常與通信接口有關(網絡接口卡、串口等)。
什么時候更改MTU值?
對于一般的路由器設備,最佳的MTU值通常都是默認值。有時,更改MTU值可提高設備工作性能。做起來很簡單,但事實上,這樣做往往會導致出現其他問題。最好保持MTU不變,除非有以下情況出現:
·當連接不到ISP或者不能使用其他的因特網服務時,且他們的技術支持人員建議更改MTU值。
·當您使用VPN,遇到性能問題時可以考慮更改MTU。
·為了提高網絡的某些性能,使用了可優化MTU值的應用程序,而這引起了連通性和其他性能方面的問題。
一個信息包被發送到MTU值較小的設備時,將被分解為若干小塊。理論上,在所有電腦、交換機、路由器及您能訪問到的因特網的所有設備上的MTU值應該設置為同一大小。但是您不能控制因特網上的MTU值,而事實上在一個局域網中的最佳MTU值取決于硬件、軟件、無線接口等等。
·在一種情形下修改MTU的大小可使設備很好地工作, 但在其他方面卻可能引起性能和連接性問題。
·當具有不同MTU值的設備相互通信時,信息包將會被分成多個以便能傳給具有最小的MTU值的設備。
·Windows XP自動設置MTU,換句話說,它使MTU對于各種應用綜合性能最優化。微軟的文章解釋了使用Windows XP的寬帶用戶不能連接到ISP的原因。
·一旦網絡設備分解了一個信息包,此信息包在到達目的地前一直保持分解的狀態。
各種應用下的最佳MTU值
設置MTU大小是一個反復試驗的過程: 由最大值1500開始下降,直至問題解決。使用下列值之一或許能解決一些由MTU值引起的問題:
·1500: 是以太網信息包最大值,也是默認值。是沒有PPPoE和VPN的網絡連接的典型設置。是一些路由器、網絡適配器和交換機的默認設置。
·1492: 是PPPoE的最佳值。
·1472: 是使用ping的最大值(大于此值的信息包會先被分解)。
·1468: 是DHCP的最佳值。
·1430: 是VPN和PPTP 的最佳值。
·576: 是撥號連接到ISP的標準值。
如何利用Ping命令測試本地最佳MTU值的方法
測試思路:在廣域網上,大小超出ISP要求的數據包將無法傳輸,而路由器則會根據本機MTU值自動將大小不符合要求的數據進行分包處理再進行傳輸,所以我們可以通過向Internet上的某臺主機發送一個定長數據包,并且不允許路由器更改其大小的方式去檢查該數據包能否被正常傳輸,如果數據包小于或等于ISP的MTU值時,傳輸就能正常進行,而如果發送的數據包大于ISP使用的MTU值時,傳輸就會失敗,這樣我們就能通過不斷發送不同大小的數據包最終得到ISP端的MTU大小,而這個數據再加上28字節的包頭信息就是我們需要的最終MTU值。#p#
測試步驟:
1. 接入網絡,并打開“開始”菜單→“程序→附件→命令提示符”。
2. 輸入命令“ping –l 14xx –f www.google.com”,這里我們解釋一下命令參數的含義:
* –l 14xx參數:發送一個定長數據包,14xx是要測試的包大小,如前所述,ADSL的MTU一般在1450與1492之間,第3步中將每次更換一次該值。上面的命令中,-l是英文字母L的小寫。
* –f 參數:通知路由器不能私自更改該數據包大小。
* www.google.com:任意一臺Internet上的主機,也可使用其它主機名或IP地址。
觀察反饋結果并判斷ISP的MTU值。
1) 第一次發送測試包,包長1492
提示數據包過大,需要分包,因此判斷該數值(1492)大于ISP的MTU,應降低包大小。
2) 第二次發送測試包,包長1480
將數據包大小降為1480,提示數據包過大,因此判斷該值(1480)仍大于ISP的MTU,還應繼續降低。
下面繼續觀察
3) 第三次發送測試包,包長1470
將數據包大小降為1470,提示該數據包可以正常傳輸,因此判斷ISP的MTU值在1470~1480之間。
4) 第四次發送測試包,包長1475
將數據包大小提升為1475,提示數據包過大,因此判斷MTU數值在1470~1475之間。
5) 第五次發送測試包,包長1472
將數據包大小提升為1472,提示可正常傳輸,因此判斷MTU數值在1472~1475之間。
6) 第六次發送數據包,包長1473
數據包大小升為1473,提示因數據包過大無法傳輸,因此,判斷出該ISP的MTU值為1472。
修改路由器的MTU值
上面得到的MTU值不能直接用于本地設置上,還應在此基礎上加上28(數據包頭大小28字節),因此最終在WAN設置頁面修改MTU大小為1500。
總結:可提高路由工作性能,也會導致負面問題。
經過測試,通過修改路由器中的MTU值可以成功解決通過路由器上網后“能上QQ不能打開網頁”、“部分網站或鏈接打不開”、“MSN登錄不了”(請將MTU置為1500)、“Email無法發送附件”等問題。但要注意,如果組網為單層路由結構,那么更改MTU值后,數據包直接從WAN口轉發到LAN口,不會出現問題。操作系統對它也可以進行自動處理。但如果有再向下接一層的路由組網結構,則會導致你底層路由有連接速度緩慢或丟包等現象,建議在有必要時再修改路由器中的MTU值。
【編輯推薦】