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