Android 查看和修改網絡mtu


CPU:RK3288

系統:Android 5.1

 

MTU:通信術語 最大傳輸單元(Maximum Transmission Unit,MTU)是指一種通信協議的某一層上面所能通過的最大數據包大小(以字節為單位)。

 

查看當前網絡mtu:

8000 已經超出了當前的 mtu,所以報錯,並且后面括號中顯示了當前網絡 mtu 值為 1500

root@rk3288:/ # ping -c 2 -M do -s 8000 www.baidu.com
ping -c 2 -M do -s 8000 www.baidu.com
PING www.a.shifen.com (14.215.177.38) 8000(8028) bytes of data.
From android-59027ac919feb197 (192.168.0.178): icmp_seq=1 Frag needed and DF set (mtu = 1500)
From android-59027ac919feb197 (192.168.0.178): icmp_seq=1 Frag needed and DF set (mtu = 1500)

--- www.a.shifen.com ping statistics ---
0 packets transmitted, 0 received, +2 errors

 

臨時修改測試,設備重啟后就恢復原始值

1、4G網絡

# 查看4G網絡mtu
root@rk3288:/ # cat /sys/class/net/ppp0/mtu
cat /sys/class/net/ppp0/mtu
1500
# 修改mtu
root@rk3288:/ # echo 1492 > /sys/class/net/ppp0/mtu
echo 1492 > /sys/class/net/ppp0/mtu
root@rk3288:/ # cat /sys/class/net/ppp0/mtu
cat /sys/class/net/ppp0/mtu
1492

 

2、WLAN

# 查看wifi網絡mtu
root@rk288:/ # cat /sys/class/net/wlan0/mtu
cat /sys/class/net/wlan0/mtu
1500
# 修改wifi網絡mtu
root@rk3288:/ # echo 1492 > /sys/class/net/wlan0/mtu
root@rk3288:/ # cat /sys/class/net/wlan0/mtu
1492

 

3、以太網

# 查看以太網mtu
root@rk3288:/ # cat /sys/class/net/eth0/mtu
cat /sys/class/net/eth0/mtu
1500
# 修改以太網mtu
root@rk3288:/ # echo 1492 > /sys/class/net/eth0/mtu
echo 1492 > /sys/class/net/eth0/mtu
1|root@rk3288:/ # cat /sys/class/net/eth0/mtu
cat /sys/class/net/eth0/mtu
1500
# 修改失敗

# 設備上關閉以太網,不要拔掉網線

#修改以太網mtu
root@rk3288:/ # echo 1492 > /sys/class/net/eth0/mtu
echo 1492 > /sys/class/net/eth0/mtu
# 修改成功
root@rk3288:/ # cat /sys/class/net/eth0/mtu
cat /sys/class/net/eth0/mtu
1492

 

固定網絡的 mtu,重啟后不恢復

以太網

diff --git a/kernel/include/uapi/linux/if_ether.h b/kernel/include/uapi/linux/if_ether.h
index ade07f1..0b780bf 100755
--- a/kernel/include/uapi/linux/if_ether.h
+++ b/kernel/include/uapi/linux/if_ether.h
@@ -31,7 +31,7 @@
 #define ETH_ALEN       6               /* Octets in one ethernet addr   */
 #define ETH_HLEN       14              /* Total octets in header.       */
 #define ETH_ZLEN       60              /* Min. octets in frame sans FCS */
-#define ETH_DATA_LEN   1500            /* Max. octets in payload        */
+#define ETH_DATA_LEN   1492            /* Max. octets in payload        */
 #define ETH_FRAME_LEN  1514            /* Max. octets in frame sans FCS */
 #define ETH_FCS_LEN    4               /* Octets in the FCS             */

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM