Ⅰ 測試一個網路MTU值的操作步驟
順便說一句,個人電腦修改MTU無任何意義! 下面是方法。
1、本地MTU值大於網路MTU值時,本地傳輸的數據包過大導致網路會拆包後傳輸,不但產生額外的數據包,而且消耗了「拆包、組包」的時間。
2、本地MTU值小於網路MTU值時,本地傳輸的數據包可以直接傳輸,但是未能完全利用網路給予的數據包傳輸尺寸的上限值,傳輸能力未完全發揮。
這樣我們就知道,所謂合理的設置MTU值,就是讓本地的MTU值與網路的MTU值一致,既能完整發揮傳輸性能,又不讓數據包拆分。
接下來最重要的就是要找出對於你的網路環境來說MTU多少才是合理的。
方法如下:
1、按Win+R組合鍵,調出「運行」菜單,輸入「cmd」然後回車
2、在出現的「命令提示符」窗口中輸入「ping -l 1472 -f www..com」然後回車
含義:
ping:發起一個探測請求;
-l(L的小寫):限制探測包大小;
1472:包大小為1472位元組;
-f:禁止路由器拆分數據包
www..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」
Ⅱ 怎麼用ping檢測路由器的MTU
一般使用PING命令中的參數-F -L來測試MTU的大小。-F參數是不分段,而-L是ICMP數據長度
具體命令為:PING -F -L <ICMP數據長度> <目的IP或網址>
其中ICMP的長度是其數據長度,MTU=IP頭部長度(20B)+ICMP頭部長度(8B)+ICMP數據長度
例如ping -f -l 1472 www..com,其中1472就是ICMP的數據長度,那麼其MTU=1472+8+20=1500B,如果出現Packet needs to be fragmented but DF set.說明已經超出了其MTU的大小,如果能夠PING通說明就沒有超出。
Ⅲ MTU數值要怎麼測試
順便說一句,個人電腦修改MTU無任何意義! 下面是方法。
1、本地MTU值大於網路MTU值時,本地傳輸的數據包過大導致網路會拆包後傳輸,不但產生額外的數據包,而且消耗了「拆包、組包」的時間。
2、本地MTU值小於網路MTU值時,本地傳輸的數據包可以直接傳輸,但是未能完全利用網路給予的數據包傳輸尺寸的上限值,傳輸能力未完全發揮。
這樣我們就知道,所謂合理的設置MTU值,就是讓本地的MTU值與網路的MTU值一致,既能完整發揮傳輸性能,又不讓數據包拆分。
接下來最重要的就是要找出對於你的網路環境來說MTU多少才是合理的。
方法如下:
1、按Win+R組合鍵,調出「運行」菜單,輸入「cmd」然後回車
2、在出現的「命令提示符」窗口中輸入「ping -l 1472 -f www..com」然後回車
含義:
ping:發起一個探測請求;
-l(L的小寫):限制探測包大小;
1472:包大小為1472位元組;
-f:禁止路由器拆分數據包
www..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值
MTU值的意思是網路上傳送的最大數據包,單位是位元組。不同的接入方式,MTU值是不一樣的,如果值太大就會產生很多數據包碎片,增加丟包率,降低網路速度。平常使用的寬頻PPPoE連接方式,其MTU值最大為1492,解決的辦法就是在注冊表中對MaxMTU值逐步調低,直到網路最正常為止。MaxMTU在注冊表中的位置是:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\sNetTrans\00yy,鍵名為「MaxMTU」,其中「yy」是TCP/IP的入口,隨設置的不同而不同,一般在00到30之間。
那麼又如何判定某個MTU值是最適合的呢?進入DOS環境,輸入以下命令行:
ping -f -l 1492 192.168.0.1.
提示:其中「192.168.0.1」是網關IP地址,1492為數據包的長度,參數「-l」中是小寫的L.如果出現下面信息:Packet needs to be fragmented but DF set,那就表示MTU值太大了。
而如果出現:Reply from 192.168.0.1: bytes=1492 time<10ms TTL=128則表示此MTU值是可行的,不過還是建議多試幾個找到最佳值。
問題總結:這也是使用寬頻路由器上網的一個小小弊端。通過對網速的實測證明,在ADSL接入電腦之間安裝寬頻路由器後,在多台電腦同時在線的情況下,由於路由器在地址解析、路由分發等方面的耽誤,實際到達電腦的速度比單機直接連入ADSL線路要稍慢一些。
Ⅳ 在windows/linux下如何測MTU值
一、windows 下:用ping -f -l size IP ------------->可以測出來,不斷換著size試,一直試出最大的MTU值;二、linux 下:itpos:~# ping -c 2 -M do -s 1500 202.96.128.68
From 10.1.13.100 icmp_seq=1 Frag needed and DF set (mtu = 1500)如果出現上述結果;則需要改packsize為更小測試;直到ping 通為止windows 相同由PING 202.96.128.68 (202.96.128.68) 1500(1528) bytes of data.這條信息可以看出:
Ⅵ 本機MTU值修改無效,如何才能查看真正的網路MTU值
你好,一個可能為
路由器
mtu值,一個為本機MTU值。進入路由器界面,打開網頁,沒改過就是輸入192.168.1.1,進入後選網路參數—WAN口設置—高級選項—MTU數值。更多參考:
Ⅶ ★乙太網的MTU怎麼確定的★
各種應用下的最佳MTU值
設置MTU大小是一個反復試驗的過程: 由最大值1500開始下降,直至問題解決。使用下列值之一或許能解決一些由MTU值引起的問題:
1500. 乙太網信息包最大值,也是默認值。是沒有PPPoE和VPN 的網路連接的典型設置。是各種路由器、網路適配器和交換機的默認設置
1492. PPPoE 的最佳值
1472. 使用 ping 的最大值 (大於此值的信息包會先被分解)
1468. DHCP的最佳值
1430. VPN和PPTP 的最佳值
576. 撥號連接到ISP的標准值
下面給出寬頻網路下利用Ping命令測試本地最佳MTU值的方法。
測試思路如下:在廣域網上,大小超出ISP要求的數據包將無法傳輸,而路由器則會根據本機MTU值自動將大小不符合要求的數據進行分包處理再進行傳輸,所以我們可以通過向Internet上的某台主機發送一個定長數據包,並且不允許路由器更改其大小的方式去檢查該數據包能否被正常傳輸,如果數據包小於或等於ISP的MTU值時,傳輸就能正常進行,而如果發送的數據包大於ISP使用的MTU值時,傳輸就會失敗,這樣我們就能通過不斷發送不同大小的數據包最終得到ISP端的MTU大小,而這個數據再加上28位元組的包頭信息就是我們需要的最終MTU值。
測試步驟如下:
1. 撥號上網,並打開「開始」菜單→「程序→附件→命令提示符」。
2. 輸入命令「ping –l 14xx –f www.google.com」,這里我們解釋一下命令參數的含義:
* –l 14xx參數:發送一個定長數據包,14xx是要測試的包大小,如前所述,ADSL的MTU一般在1450與1492之間,第3步中將每次更換一次該值。上面的式子中,-l是L的小寫(不是1喔)。
* –f 參數:通知路由器不能私自更改該數據包大小。
* www.google.com:任意一台Internet上的主機,也可使用其它主機名或IP地址。
3. 觀察反饋結果並判斷ISP的MTU值。
1) 第一次發送測試包,包長1492
提示數據包過大,需要分包,因此判斷該數值(1492)大於ISP的MTU,應降低包大小。
2) 第二次發送測試包,包長1460
數據包大小降為1460,提示數據包過大,因此判斷該值(1460)仍大於ISP的MTU,還應繼續降低。
3) 第三次發送測試包,包長1450
數據包大小降為1450,提示該數據包可以正常傳輸,因此判斷ISP的MTU值在1450~1460之間。
4) 第四次發送測試包,包長1455
數據包大小升為1455,提示數據包過大,因此判斷MTU數值在1450~1455之間。
5) 第五次發送測試包,包長1452
數據包大小升為1452,提示可正常傳輸,因此判斷MTU數值在1452~1455之間。
6) 第六次發送數據包,包長1453
數據包大小升為1453,提示因數據包過大無法傳輸,因此,判斷出該ISP的MTU值為1452。
4. 修改路由器的MTU值
上面得到的MTU值不能直接用於本地設置上,還應在此基礎上加上28(數據包頭大小28位元組),因此最終在WAN設置頁面修改MTU大小為1480。
經過測試,通過修改路由器中的MTU值可以成功解決通過路由器上網後「能上QQ不能打開網頁」、「部分網站或鏈接打不開」、「MSN登錄不了」(請將MTU置為1480)、「Email無法發送附件」等問題。
來源: http://wenku..com/view/89b274d6b14e852458fb5767.html
Ⅷ 什麼是MTU,如何檢測和設置路由器MTU值
通信術語 最大傳輸單元(Maximum Transmission Unit,MTU)是指一種通信協議的某一層上面所能通過的最大數據包大小(以位元組為單位)。最大傳輸單元這個參數通常與通信介面有關(網路介面卡、串口等)。如何檢測網關的MTU在本機打開dos窗口,執行: ping -f -l 1472 192.168.0.1 其中192.168.0.1是網關IP地址,1472是數據包的長度。請注意,上面的參數是「-l」(小寫的L),而不是「-1」。 如果能ping通,表示數據包不需要拆包,可以通過網關發送出去。 如果出現: Packet needs to be fragmented but DF set. 表示數據包需要拆開來發送。此時,減少數據包長度,再執行上面的ping命令。從1400到1472之間多試幾次,就能找到合適的數據包長度了。把數據包長度加上數據包頭28位元組,就得到MTU的值。 如果檢測到網關的MTU值是1500,不需要修改。 如果網關有防火牆ping不通,可以試試直接把MTU設為1400。