如何利用ping命令擁有最佳MTU?

2021-09-04 20:02:31 字數 2301 閱讀 2985

mtu是什麼?

mtu的英文全稱為maximum transmission unit,中文是意思是最大傳輸單元。mtu就是指一種通訊協議的某一層上面所能通過的最大資料報大小(以位元組為單位)。最大傳輸單元這個引數通常與通訊介面有關(網路介面卡、串列埠等)。

什麼時候更改mtu值?

對於一般的路由器裝置,最佳的mtu值通常都是預設值。有時,更改mtu值可提高裝置工作效能。做起來很簡單,但事實上,這樣做往往會導致出現其他問題。最好保持mtu不變,除非有以下情況出現:

·當連線不到isp或者不能使用其他的網際網路服務時,且他們的技術支援人員建議更改mtu值。

·當您使用***,遇到效能問題時可以考慮更改mtu。

·為了提高網路的某些效能,使用了可優化mtu值的應用程式,而這引起了連通性和其他效能方面的問題。

乙個資訊包被傳送到mtu值較小的裝置時,將被分解為若干小塊。理論上,在所有電腦、交換機、路由器及您能訪問到的網際網路的所有裝置上的mtu值應該設定為同一大小。但是您不能控制網際網路上的mtu值,而事實上在乙個區域網中的最佳mtu值取決於硬體、軟體、無線介面等等。

·在一種情形下修改mtu的大小可使裝置很好地工作, 但在其他方面卻可能引起效能和連線性問題。

·當具有不同mtu值的裝置相互通訊時,資訊包將會被分成多個以便能傳給具有最小的mtu值的裝置。

·windows xp自動設定mtu,換句話說,它使mtu對於各種應用綜合性能最優化。微軟的文章解釋了使用windows xp的寬頻使用者不能連線到isp的原因。

·一旦網路裝置分解了乙個資訊包,此資訊包在到達目的地前一直保持分解的狀態。

各種應用下的最佳mtu值

設定mtu大小是乙個反覆試驗的過程: 由最大值1500開始下降,直至問題解決。使用下列值之一或許能解決一些由mtu值引起的問題:

·1500: 是乙太網資訊包最大值,也是預設值。是沒有pppoe和***的網路連線的典型設定。是一些路由器、網路介面卡和交換機的預設設定。

·1492: 是pppoe的最佳值。

·1472: 是使用ping的最大值(大於此值的資訊包會先被分解)。

·1468: 是dhcp的最佳值。

·1430: 是***和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的小寫。

* –f 引數:通知路由器不能私自更改該資料報大小。

觀察反饋結果並判斷isp的mtu值。

1) 第一次傳送測試包,包長1492

提示資料報過大,需要分包,因此判斷該數值(1492)大於isp的mtu,應降低包大小。

2) 第二次傳送測試包,包長1480

將資料報大小降為1480,提示資料報過大,因此判斷該值(1480)仍大於isp的mtu,還應繼續降低。

下面繼續觀察

3) 第三次傳送測試包,包長1470

將資料報大小降為1470,提示該資料報可以正常傳輸,因此判斷isp的mtu值在1470~1480之間。

4) 第四次傳送測試包,包長1475

將資料報大小提公升為1475,提示資料報過大,因此判斷mtu數值在1470~1475之間。

5) 第五次傳送測試包,包長1472

將資料報大小提公升為1472,提示可正常傳輸,因此判斷mtu數值在1472~1475之間。

6) 第六次傳送資料報,包長1473

資料報大小公升為1473,提示因資料報過大無法傳輸,因此,判斷出該isp的mtu值為1472。

修改路由器的mtu值

上面得到的mtu值不能直接用於本地設定上,還應在此基礎上加上28(資料報頭大小28位元組),因此最終在wan設定頁面修改mtu大小為1500。

總結:可提高路由工作效能,也會導致負面問題。

如何擁有最佳MTU?

mtu是什麼?mtu的英文全稱為maximum transmission unit,中文是意思是最大傳輸單元。mtu就是指一種通訊協議的某一層上面所能通過的最大資料報大小 以位元組為單位 最大傳輸單元這個引數通常與通訊介面有關 網路介面卡 串列埠等 什麼時候更改mtu值?對於一般的路由器裝置,最佳的...

ping命令如何工作

1 ping 是基於icmp協議工作的,也就是網際網路控制報文協議。3 icmp 報文是封裝在 ip 包裡面,它工作在網路層,是 ip 協議的助手。4 icmp 包頭的型別字段,大致可以分為兩大類 回送訊息用於進行通訊的主機或路由器之間,判斷所傳送的資料報是否已經成功到達對端的一種訊息,ping命令...

Python利用WMI實現ping命令的例子

wmi是windows系統的一大利器,python的win32api庫提供了對wmi的支援,安裝win32api即可使用 wmi。本例通過wmi的wql實現ping程式設計客棧命令。import wmi c wmi.wmi wql select statuscode from win32 pings...