說起 MTU 值,可能許多朋友連聽都沒聽說過。簡單來說,我們上網時所進行的操作,都是通過傳輸一個又一個“數據包”來實現的,而 MTU 值就是用來設定可傳輸數據包的最大尺寸的。很顯然,MTU 值設置得過大或過小,都會在一定程度上影響我們上網的速度。
那么,MTU 值究竟設為多大才最合適,我們們又該如何設置 MTU 值呢?
一、什么是 MTU 值
1,從字面上來說,MTU 是英文 Maximum Transmission Unit 的縮寫,即最大傳輸單元,它的單位是字節。
在我們常用的以太網中,MTU 一般是 1500,而無線路由器默認一般是 1492,藍牙官網的默認值是 672(這個速度很慢了,大約 20k/s 左右)。
![]()
2,為什么說 MTU 值會影響網速呢?在此簡單說明一下。在 Win 系統中,MTU 值默認是 1500。假設我們現在要傳輸 3000 字節的數據,只需要拆分成 2 個數據包就行了。
而如果是 ADSL 接入方式,它的 MTU 值是 1492 的話,則 3000 字節的數據需要分為 3 個數據包傳送。由於數據包的數量增多了,同時拆包組包都需要額外消耗時間,因此網速變慢也就不足為奇了。
![]()
二、怎樣測出自己當前網絡最佳MTU值
1,首先,我們必須明白什么才是最佳的 MTU 值。1)當本地 MTU 值 > 網絡 MTU 值,網絡會進行拆包,這樣一來數據包數量增多,二來也增加了拆包組包的時間
2)當本地 MTU 值 < 網絡 MTU 值,雖然可以直接傳輸,但是卻沒有完全利用網絡的性能,沒有發揮出最大傳輸能力
因此,設置最合適的本地 MTU 值,就是要讓本地 MTU 值 = 網絡 MTU 值。
那么,怎樣才能知道自己的當前網絡環境的 MTU 值是多少呢?下面便來介紹測試方法。
![]()
①按下快捷鍵 Win鍵+R,打開運行窗口后輸入 cmd,回車打開命令提示符窗口。
②在命令提示符窗口輸入以下命令(建議直接復制,以免誤將小寫字母 l 寫為數字 1),回車。
ping -l 1472 -f www.baidu.com
這條命令的意思是向 www.baidu.com(百度主頁)發送一個探測請求,請求將一個不允許分割的 1472 字節的數據包發送出去。
![]()
③若是出現傳輸失敗,提示需要拆分數據包的情況,則說明當前網絡的 MTU 值要比指定的 1472 小,因此我們就適當調小數據包的大小(比如 1450),再發送一條類似的命令。
④這時,如果出現傳輸成功,則說明當前網絡的 MTU 值比 1450 要大。於是我們需要稍微調大數值(比如1460),以便求得最為精確的網絡 MTU 值。⑥如此這般,通過不斷修正數據包的大小,我們可以最終得到當前網絡的 MTU 值。比如我這里,測試 1464 通過,但 1465 失敗,所以我的網絡 MTU 值為 1464。在此需要特別說明的是,當我們設置本地 MTU 值,必須牢記要將這個測得的值再加上 28,即 1464+28 = 1492。
【Vista、Win7、Win8.1、Win10 操作系統設置 MTU 的方法】
1、查看自己當前網絡的 MTU 值,請命令提示符下輸入以下命令並回車:
netsh interface ipv4 show subinterfaces
2、要設置你正在使用網絡的 MTU 值,請在命令提示符下輸入以下命令並回車:
netsh interface ipv4 set subinterface "需修改的連接名" mtu=值 store=persistent
其中,需修改的連接名 和 值 要用相應的值來代替。例如,我這里需要輸入:
netsh interface ipv4 set subinterface "WLAN" mtu=1492 store=persistent
在這里,我已經把要修改的地方用粗體字標出來了。
另外,請大家注意,修改 MTU 值與查看不同,需要以管理員身份運行命令提示符。
![]()
3、當我們以管理員身份運行命令提示符符時,輸入以上命令即可成功設置。友情提示:回車后出現“確定”二字即代表已經設置成功。
附:
1)在 Win8.1/10 中以管理員身份運行命令提示符的方法,右擊屏幕左下角的Win徽標,在彈出的右鍵菜單中點擊“命令提示符(管理員)”
2)Win7點擊開始菜單,在所有程序找到“命令提示符(管理員)”點擊運行即可
注意事項
不同的網絡類型,其MTU有可能不同,大家最好自己動手測試,以找到最合適自己的MTU值。