巧妙设备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”
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的巧妙设备MTU的大小,轻松提网速的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于snort、barnyard2和ba
- 下一篇: Java8对list集合进行排序、过滤、