Mar 4, 2008

MTU

1.何謂MTU
MTU是最大傳輸單位(Maximum Transfer Unit)的英文縮寫。
你可以把他想像成一個郵政系統,當郵筒有一定數量的郵件,會有郵務車來把郵筒的信收走。那個郵筒到達一定的數量,就是MTU。

2.如何修改MTU
2.1.修改Windows XP的MTU
先打開登錄編輯程式:
按下"開始"→打開"開始功能表"→按下"執行"→在開啟那邊欄位輸入"regedit"→按下"確定"。
接著移動到:
"HKEY_LOCAL_MACHINE"→"SYSTEM"→"CurrentControlSet"→"Services"→"Tcpip"→"Parameters"→"Interfaces"。
在這邊,你應該會看到很多個像是亂數一樣的機碼(登錄編輯器顯示成目錄),每一個都點進去看,你應該會發現有一個機碼裡面的值與其他不同,可能會特別多值。那個就有可能是你的網路介面卡的機碼。點選機碼後,按下工具列的"編輯"→"新增"→"DWORD值",把此值的名稱取為"MTU",然後點兩下MTU值後,編輯MTU值,改成你想要的數值就可以。建議底數部分以十進位顯示,比較符合一般人看數字的習慣。改完機碼後,要記得重開電腦,設定才會成功套用。

3.MTU值要改多少才好?
請調小一點比較好。可是是無盡的調小調到0嗎?
首先先說,一般MTU預設值,乙太網路是1500,PPPoE(ADSL)用的是1492,古老的撥接是576。
又,根據微軟技術文章KB900926,我們可以知道,這個MTU的設定值最好是在1500到576之間。

4.MTU修改以後的影響
但是根據友人露露的實驗,香港的玩家修改MTU似乎產生的效果不大,推測是經過海底電纜的關係,所以MTU修改沒有用。

5.MTU修改以後,對整體網路的影響
5.1.修改MTU失敗
如果MTU修改失敗,最明顯的影響就是網路無法連線。
以前面比喻的郵務系統來說,就像你的信件裡面,全部都在寫郵件地址,而且還沒寫完。當然你要寄的內容根本就傳不出去,因為連地址都沒寫完怎麼寄。

5.2.修改MTU影響的網路傳輸速度以及網路反應速度
如果修改MTU成功,會影響到你網路的傳輸速度。如果你MTU開比較大,就像用大台郵務車在郵筒要塞到爆滿的時候才來收信,除非到指定的收信時間。你的郵件多的時候,就能夠很順利的寄出大量郵件;如果你的郵件少的時候,就會變成你的郵件要等一會兒才會被寄出去。

如果MTU開比較小,就像換一台150cc的機車當郵務車。
如果信少的話會很快就能送回郵局,但是信多好幾箱的時候……,請想像一台150cc機車拖著好幾箱信跑。也就是說,MTU開大,犧牲你的網路反應速度去換最大傳輸速度;MTU調小,就是犧牲你的最大傳輸速度去換取你的網路反應速度。但是MTU調小導致的最大傳輸速度改變我個人是沒感覺啦,所以我還是調小MTU的。至於修改MTU影響的網路速度,詳細計算的算式請參考SpeedGuide的資料。
5.3.因為MTU而導致網站連不上
根據其他網站的資料,MTU不夠大,可能會連不上一些網路;某些網路也會因為MTU太小連不上,似乎沒有定論。目前本人運氣比較好都沒有碰上這種情形,反而是台灣IP的比較多= =。

6.特別注意
修改MTU之後,重開機之前,請記得先把本頁的資料存到電腦裡面。免得網路連不上時改不回來。

測試 MTU 值的做法如下(請進入 DOS 模式):
ping -f -l [packetsize] [www.yourisp.com]
[packetsize]:看您是用何種的網路環境,從最大值開始試吧!可用的範圍是 1 ~ 1,500。[www.yourisp.com]:不限定啦!可以用你的 gateway IP,或是 gateway 之外的任何有效網址或IP。如果出現了 "Packet needs to be fragmented, but DF set",那就請你把 [packetsize] 的數值減小吧!直到不會出現此一訊息為止。在此另外說其它的東西。因為此封包(packet)包含了 20 bytes 的 IP header 及 8 bytes 的 ICMP header,所以上面得到的數值加上 28,才是我們要的 Maximum MTU。MSS 為 Maximum Segment Size 的縮寫,也就是實際傳輸的資料量。他和 MTU 的關係是 MTU = MSS + TCP&IP headers。而 TCP header 及 IP header 的大小均為 20 bytes,所以若是可以最大化的 PPPoE 環境,MTU 值為 1,492, 而我們用 ping 所得出來的數值是 1,492 - 28 = 1,464,而 MSS 為 1,492 - 40 = 1,452。

0 意見: