- 相關(guān)推薦
如何檢測和設置路由器MTU值
意思是網(wǎng)絡(luò )上傳送的最大數據包。MTU的單位是字節。大部分網(wǎng)絡(luò )設備的MTU都是1500。如果本機的MTU比網(wǎng)關(guān)的MTU大,大的數據包就會(huì )被拆開(kāi)來(lái)傳送,這樣會(huì )產(chǎn)生很多數據包碎片,增加丟包率,降低網(wǎng)絡(luò )速度。把本機的MTU設成比網(wǎng)關(guān)的MTU小或相同,就可以減少丟包。
如何檢測網(wǎng)關(guān)的MTU?
最大傳輸單元MTU(Maximum Transmission Unit)是指一種通信協(xié)議的某一層上面所能通過(guò)的最大數據報大小,單位是字節。合理設置路由器和本機的MTU值,可以?xún)?yōu)化上網(wǎng)速度。
如果本機的MTU比網(wǎng)關(guān)的MTU大,大的數據包就會(huì )被拆開(kāi)來(lái)傳送,這樣會(huì )產(chǎn)生很多數據包碎片,增加丟包率,降低網(wǎng)絡(luò )速度。網(wǎng)站訪(fǎng)問(wèn)異常、發(fā)送帶有附件的郵件失敗這些都有可能和MTU的設置有關(guān)。
不同的網(wǎng)絡(luò )接入方式MTU值不相同,一些典型的MTU值:
超通道 65535
16Mb/s信息令牌環(huán)(IBM) 17914
4Mb/s令牌環(huán)(IEEE802.5) 4464
FDDI 4352
EtherNet(以太網(wǎng)) 1500
PPPoE(ADSL) IEEE802.3/802.2 1492
Dial-up X.25 576
點(diǎn)對點(diǎn)(低時(shí)延) 296
兩臺主機之間的通信要通過(guò)多個(gè)網(wǎng)絡(luò ),那么每個(gè)網(wǎng)絡(luò )的鏈路層就可能有不同的MTU。重要的不是兩臺主機所在網(wǎng)絡(luò )的MTU的值,而是兩臺通信主機路徑中的最小MTU,它被稱(chēng)作路徑MTU。
TCP/IP協(xié)議涉及到四層:鏈路層,網(wǎng)絡(luò )層,傳輸層,應用層。
以太網(wǎng)(Ethernet)的數據幀在鏈路層,以太網(wǎng)的物理特性決定了數據幀的長(cháng)度MTU(Maximum Transmission Unit)為1500;
IP包在網(wǎng)絡(luò )層,IP包的首部占用20字節,MTU為1500-20=1480;
TCP或UDP包在傳輸層,UDP包的首部占用8字節,MTU為1480-8=1472;
TCP或UDP中的數據(Data)在應用層,Data最大長(cháng)度為1472。
數據幀{IP包{TCP或UDP包{Data}}}
MTU對UDP編程很重要,當UDP包中的數據多于MTU(1472)時(shí),發(fā)送方的IP層需要分片fragmentation進(jìn)行傳輸,接收方IP層則需要進(jìn)行數據包重組,由于UDP是不可靠的傳輸協(xié)議,如果分片丟失導致重組失敗,將導致UDP數據包被丟棄。
在普通的局域網(wǎng)環(huán)境下,UDP的數據最大為1472字節最好(避免分片重組)。但在網(wǎng)絡(luò )編程中,Internet中的路由器可能有設置成不同的值(小于默認值),Internet上的標準MTU值為576,所以Internet的UDP編程時(shí)數據長(cháng)度最好在576-20-8=548字節以?xún)取?/p>
在本機打開(kāi)dos窗口,執行:
ping-f-l1452192.168.1.1
其中192.168.1.1是網(wǎng)關(guān)IP地址,1452是數據包的長(cháng)度。請注意,上面的參數是“-l”(小寫(xiě)的L),而不是“-1”。如果能ping通,表示數據包不需要拆包,可以通過(guò)網(wǎng)關(guān)發(fā)送出去。如果出現:
PacketneedstobefragmentedbutDFset.
PacketneedstobefragmentedbutDFset.
PacketneedstobefragmentedbutDFset.
PacketneedstobefragmentedbutDFset.
表示數據包需要拆開(kāi)來(lái)發(fā)送。此時(shí),減少數據包長(cháng)度,再執行上面的ping命令。從1400到1472之間多試幾次,就能找到合適的數據包長(cháng)度了。把數據包長(cháng)度加上數據包頭28字節,就得到MTU的值。如果檢測到網(wǎng)關(guān)的MTU值是1500,不需要修改。如果網(wǎng)關(guān)有防火墻ping不通,可以試試直接把MTU設為1400。
C:DocumentsandSettingsAdministrator>ping-f-l1452192.168.1.1
Pinging192.168.1.1with1452bytesofdata:
Replyfrom192.168.1.1:bytes=1452time=5msTTL=64
Replyfrom192.168.1.1:bytes=1452time=5msTTL=64
Replyfrom192.168.1.1:bytes=1452time=5msTTL=64
Replyfrom192.168.1.1:bytes=1452time=1msTTL=64
結果出現了回應了!這表示這一個(gè)MTU值是可行的!不過(guò),強烈建議找出可行的最大MTU值!這樣一來(lái),在設定的時(shí)候,才可以達到最佳的網(wǎng)速!
找出MTU值:利用上面這個(gè)方法找到的數值還不是MTU喔!由于一些封包上面的問(wèn)題,上面這個(gè)值再加上28才是我們所需要的MTU值!所以,在上面的例子中,我們所需要的MTU值是1464+28=1492!
附注:我設置為1452+28=1480后,還是會(huì )出現有些網(wǎng)站打不開(kāi)、遠程桌面無(wú)法通過(guò)域名登陸的問(wèn)題(通過(guò)ip可以正常遠程桌面登陸),而把MTU設置為1452后,反而這些問(wèn)題都迎刃而解了,并且,此時(shí),登陸zlbog后臺正常、使用域名登陸遠程桌面正常。
一般來(lái)講,設計好本機的MTU值,可以解決部分網(wǎng)站打不開(kāi)的情況,但是如果你的共享主機或路由器的MTU設置有問(wèn)題,有時(shí)問(wèn)題仍然存或,或者出現網(wǎng)速過(guò)慢的情況。合理的設置路由器與本機的MTU值,就可以完全解決上述問(wèn)題,使上網(wǎng)速度達到最大化。
如何修改本機的MTU?修改方法如下:
(1)、運行regedit
(2)、瀏覽到:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces
(3)、Interfaces下有多個(gè)子項,每個(gè)子項對應一個(gè)網(wǎng)卡。請按如下方法選擇網(wǎng)卡:
(4)、確定本機用來(lái)連接Internet的網(wǎng)卡或撥號連接的IP,如192.168.0.19;
(5)、用鼠標點(diǎn)擊Interfaces上的子項,查看鍵值列表中的IPAddress項;
(6)、如果IPAddress的鍵值與(4)中的IP相同,即192.168.0.19,則該子項就是要找的網(wǎng)卡。
(7)、進(jìn)入該子項,在右邊的窗口里按鼠標右鍵,選擇“新建”->“雙字節值”,輸入名稱(chēng)“MTU”,按回車(chē)。再用鼠標雙擊“MTU”,彈出修改窗口:如圖3:填入MTU的值。填寫(xiě)前請先把基數設為十進(jìn)制。設置好后,需要重啟機器才能生效。
實(shí)踐、重啟、測試,最后得出最佳的網(wǎng)絡(luò )狀態(tài),探索無(wú)極限,努力,終會(huì )有好結果。
【如何檢測和設置路由器MTU值】相關(guān)文章:
路由器mtu值怎么設置 mtu值最佳效果的設置方法06-05
路由器里的數據包mtu值設置多少合適08-19
華為路由器修改MTU值失敗怎么辦06-30
PHP如何設置和取得Cookie值08-07
無(wú)限路由器如何設置10-14
如何設置路由器限速08-05
小米路由器如何設置07-07