萬盛學電腦網

 萬盛學電腦網 >> 網絡基礎知識 >> 什麼是MTU值?路由器MTU值設置成多少最好?

什麼是MTU值?路由器MTU值設置成多少最好?

MTU是Maximum Transmission Unit的縮寫。
意思是網絡上傳送的最大數據包。MTU的單位是字節。大部分網絡設備的MTU都是1500。如果本機的MTU比網關的MTU大,大的數據包就會被拆開來傳送,這樣會產生很多數據包碎片,增加丟包率,降低網絡速度。把本機的MTU設成比網關的MTU小或相同,就可以減少丟包。
如何檢測網關的MTU?
在本機打開dos窗口,執行:
ping -f -l 1452 192.168.1.1
其中192.168.1.1是網關IP地址,1452是數據包的長度。請注意,上面的參數是“-l”(小寫的L),而不是“-1”。 如果能ping通,表示數據包不需要拆包,可以通過網關發送出去。 如果出現:
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
表示數據包需要拆開來發送。此時,減少數據包長度,再執行上面的ping命令。從1400到1472之間多試幾次,就能找到合適的數據包長度了。把數據包長度加上數據包頭28字節,就得到MTU的值。 如果檢測到網關的MTU值是1500,不需要修改。如果網關有防火牆ping不通,可以試試直接把MTU設為1400。
C:\Documents and Settings\Administrator>ping -f -l 1452 192.168.1.1
Pinging 192.168.1.1 with 1452 bytes of data:
Reply from 192.168.1.1: bytes=1452 time=5ms TTL=64
Reply from 192.168.1.1: bytes=1452 time=5ms TTL=64
Reply from 192.168.1.1: bytes=1452 time=5ms TTL=64
Reply from 192.168.1.1: bytes=1452 time=1ms TTL=64
結果出現了回應了!這表示這一個 MTU 值是可行的!不過,強烈建議找出可行的最大 MTU 值!這樣一來,在設定的時候,才可以達到最佳的網速!
找出 MTU 值:利用上面這個方法找到的數值還不是 MTU 喔!由於一些封包上面的問題,上面這個值再加上 28 才是我們所需要的 MTU 值!所以,在上面的例子中,我們所需要的 MTU 值是 1464+28=1492!
附注:我設置為1452+28=1480後,還是會出現有些網站打不開、遠程桌面無法通過域名登陸的問題(通過ip可以正常遠程桌面登陸),而把MTU設置為1452後,反而這些問題都迎刃而解了,並且,此時,登陸zlbog後台正常、使用域名登陸遠程桌面正常。
一般來講,設計好本機的MTU值,可以解決部分網站打不開的情況,但是如果你的共享主機或路由器的MTU設置有問題,有時問題仍然存或,或者出現網速過慢的情況。合理的設置路由器與本機的MTU值,就可以完全解決上述問題,使上網速度達到最大化。
如何修改本機的MTU?修改方法如下:
(1)、運行regedit
(2)、浏覽到: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
(3)、Interfaces下有多個子項,每個子項對應一個網卡。請按如下方法選擇網卡:
(a)確定本機用來連接Internet的網卡或撥號連接的IP,如192.168.0.19;
(b)用鼠標點擊Interfaces上的子項,查看鍵值列表中的IPAddress項;
(c)如果IPAddress的鍵值與(a)中的IP相同,即192.168.0.19,則該子項就是要找的網卡。
(4)、進入該子項,在右邊的窗口裡按鼠標右鍵,選擇“新建”->“雙字節值”,輸入名稱“MTU”,按回車。再用鼠標雙擊“MTU”,彈出修改窗口: 如圖3: 填入MTU的值。填寫前請先把基數設為十進制。 設置好後,需要重啟機器才能生效。
實踐、重啟、測試,最後得出最佳的網絡狀態,探索無極限,努力,終會有好結果。

copyright © 萬盛學電腦網 all rights reserved