合理設置MTU,提升下載速度

合理設置MTU,提升下載速度

  可能很少有雷友注意過“本機、網絡”的“MTU”值對自己網絡性能產生的影響。對於追求更快的下載速度來說,MTU值設置不當,就彷彿穿着高跟鞋跑步一般。

MTU是什麼?

  “MTU=最大傳輸單元 單位:字節”

  我們在使用互聯網時進行的各種網絡操作,都是通過一個又一個“數據包”傳輸來實現的。而MTU指定了網絡中可傳輸數據包的最大尺寸,在我們常用的以太網中,MTU是1500字節。超過此大小的數據包就會將多餘的部分拆分再單獨傳輸。

 

爲什麼MTU影響網絡性能?

  讓我們看看這個情況,在Windows系統中,默認MTU值也是1500字節,但是“不同的接入方式、不同地區的網絡運營商、不同的路由器”有着不同的MTU設置。

  例如:ADSL接入時MTU爲1492字節,假設A需要給B傳輸3000字節數據,如果整個傳輸過程中各個環節的MTU都是1500,那麼2個數據包就可以傳輸完成。可是偏偏這時ADSL接入方式的MTU是1492字節,數據包就因爲這個MTU差異額外拆分爲3個(爲了便於理解,暫時不將“數據包報頭”納入考慮範圍)

  顯然這額外增加了需要傳輸的數據包數量,而且拆包組包的過程也浪費了時間。如果從本地到網絡採用一致的MTU就可以避免額外拆包。

 

對下載速度的影響會有多大?

  就拿伊文家裏的線路質量不太好的電信4M帶寬爲例,將操作系統的MTU值改爲1492,再將路由器的MTU值從1460改爲1492後,下載速度從原本的435KB/s提升到了450KB/s,提升了15KB/s。電信的帶寬檢測工具的檢測結果也從4.09M提升到了4.19M。

 

我該如何合理設置MTU呢?

  更快的下載速度,對於迅雷的用戶來說,顯然很有意義。可是MTU設置不能一個值天下通用,所以我們講究合理設置MTU。

  那麼什麼情況下的MTU值纔是合理的呢?

我們先看看什麼是不合理的:

1、本地MTU值大於網絡MTU值時,本地傳輸的數據包過大導致網絡會拆包後傳輸,不但產生額外的數據包,而且消耗了“拆包、組包”的時間。

2、本地MTU值小於網絡MTU值時,本地傳輸的數據包可以直接傳輸,但是未能完全利用網絡給予的數據包傳輸尺寸的上限值,傳輸能力未完全發揮。

  這樣我們就知道,所謂合理的設置MTU值,就是讓本地的MTU值與網絡的MTU值一致,既能完整發揮傳輸性能,又不讓數據包拆分。

  接下來最重要的就是要找出對於你的網絡環境來說MTU多少纔是合理的。

 

方法如下:

1、按Win+R組合鍵,調出“運行”菜單,輸入“cmd”然後回車

 

2、在出現的“命令提示符”窗口中輸入“ping -l 1472 -f www.baidu.com”然後回車

含義:

ping:發起一個探測請求;

-l(L的小寫):限制探測包大小;

1472:包大小爲1472字節;

-f:禁止路由器拆分數據包

www.baidu.com:設百度爲探測目標

(你問我爲什麼不用Google做目標?考慮到Google時不時被牆,還是算了吧。。)

 

3、這時有2種情況:

(1)、如果收到了回覆,那麼說明你的網絡允許最大MTU值就是1500字節,與系統默認值相同,只需要將路由器的MTU值也設置爲1500即可;

 

(2)、如果出現需要拆分數據包但是設置 DF。或是Packer needs to be fragmented but DF set.的提示,那就說明數據包大小超過了網絡限定的MTU大小。需要減小探測包大小再次嘗試。(爲了截效果圖,我將探測包改爲1473了)

 

4、按“上箭頭”恢復剛纔輸入的命令,然後以5爲跨度減小包大小爲1467字節,再次回車探測。

 

5、這時同樣也有兩種可能:

(1)、如果有返回,說明數據包小於MTU限制,就將包大小+3再次探測,如果+3之後沒有返回,那就以1爲跨度降低數據包大小進行探測。

(2)、如果還是沒有返回,就繼續以5爲跨度減小包大小,直至有返回後進行5(1)中的操作。

 

6、直至你發現數據包-1後,有了返回,就說明你探測到了MTU允許的準確數據包大小。(例如從1465降低到1464就有了返回,那麼允許的數據包大小就是1464)

 

7、不過上面得到的值還不能設置爲操作系統或路由器的MTU,你找到的數據包大小需要加上28字節的“數據包報頭”,纔是完整的數據包尺寸。

(例如:探測到的數據包大小是1464,那麼加上28字節,最終MTU=1492字節)

 

8、最後,只需要將路由器和操作系統中的MTU值設置爲你得出的結果即可。

 

  路由器設置方法見路由器說明書!建議使用“Windows優化大師超級兔子魔法設置魯大師”等軟件修改操作系統的MTU。

以下是較複雜的方法:

 

(1)、XP操作系統設置方法:

1、 按Win+R組合鍵,調出“運行”菜單,輸入regedit,然後回車; 

2、 選擇“HKEY_Local_Machine>SYSTEM>CurrentControlSet>Services>Tcpip>Parameters>interface”;

3、在 interface 中下可能有很多項,需要逐個觀察鍵值,會有一個項與你的網卡IP一致,選中該項;

4、然後在該項上點擊右鍵,選擇“編輯>新建>DWORD值”,然後在右側將其命名爲“MTU”;

5、右鍵點擊MTU,選擇“修改”,在彈出的窗口中選擇“十進制”,填入你得出的合理MTU值即可。

 

(2)、Vista、Win7操作系統設置方法:

1、進入系統盤:\Windows\System32\找到cmd.exe,右鍵“以管理員身份運行”;

2、在出現的“命令提示符”窗口中輸入“netsh interface ipv4 show subinterfaces”並回車來查看當前的MTU值

3、接下來輸入“netsh interface ipv4 set subinterface "需修改的連接名" mtu=你得出的合理值 store=persistent”並回車即可

例如:“netsh interface ipv4 set subinterface "本地連接" mtu=1492 store=persistent”

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章