zoukankan      html  css  js  c++  java
  • 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             */
  • 相关阅读:
    POJ:3126-Prime Path
    Linux用户操作及权限
    Web前段开发人员须知的常见浏览器兼容性问题及解决技巧
    windows激活
    未来十年最具有潜力的行业
    WebStorm激活码存储
    5种关系型数据库
    linux常用命令总结
    进程、线程、多线程的总结
    C++类库
  • 原文地址:https://www.cnblogs.com/lialong1st/p/10623256.html
Copyright © 2011-2022 走看看