zoukankan      html  css  js  c++  java
  • MTU 检测和设置

     MTU是Maximum Transmission Unit的缩写。意思是网络上传送的最大数据包。MTU的单位是字节。
      大部分网络设备都是1500。如果本机的MTU比网关的MTU大,大的数据包就会被拆开来传送,这样会产生很多数据包碎片,增加丢包率,降低网络速度。把本机的MTU设成比网关的MTU小或相同,就可以减少丢包。

    linux MTU调整

    1、找到服务器的MTU值

    使用netstat -i 来查看MTU的值

    [root@asterisk ~]# netstat -i
    Kernel Interface table
    Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
    eth0       1500   0    60041      0      0      0    48841      0      0      0 BMRU
    lo        16436   0       63      0      0      0       63      0      0      0 LRU


    找到一台终端:输入以下命令:

    ping -c (number) -M do -s (bytes) IP

    其中number是次数、是封包大小。结果如下

    Frag needed and DF set (mtu = 1500)

    意思是说,这个封包的大小大于MTU能够接受的大小,如果要达到最佳化,那么MTU数值的设定要更小才行!继续使用1400來测试:

    1408 bytes from 1.1.1.1: icmp_seq=0 ttl=64 time=3.15 ms

    结果出现回应!这表示这个MTU值是可行的!不过,建议找出可行的最大MTU值!这样一來,在设定的时候,才可以达到最佳的网络速率!

    最终MTU最佳数值为:
    最佳MTU+28
    对EtherNet来说:1472+28=1500

    2、调整MTU值:

    ifconfig eth0 mtu 1500

    这样应该已经可以解決MTU无法搭配的问题

    注:
    MTU: Maximum Transmission Unit 网络最大传输单位。并不是越大越好,而是需要针对网络來进行最佳化

    常见网络MTU
    EtherNet(一般的网络)  1500
    PPPoE(ADSL用的)   1492
    Dial-up(modem)    576

     

    my example:(from 218.7.43.7)

    [root@flat root]# ping -c 3 -M do -s 1473 218.7.43.6
    PING 218.7.43.6 (218.7.43.6) 1473(1501) bytes of data.
    From 218.7.43.7 icmp_seq=0 Frag needed and DF set (mtu = 1500)
    From 218.7.43.7 icmp_seq=0 Frag needed and DF set (mtu = 1500)
    From 218.7.43.7 icmp_seq=0 Frag needed and DF set (mtu = 1500)

    --- 218.7.43.6 ping statistics ---
    0 packets transmitted, 0 received, +3 errors

    [root@flat root]# ping -c 3 -M do -s 1472 218.7.43.6
    PING 218.7.43.6 (218.7.43.6) 1472(1500) bytes of data.
    1480 bytes from 218.7.43.6: icmp_seq=0 ttl=255 time=0.937 ms
    1480 bytes from 218.7.43.6: icmp_seq=1 ttl=255 time=0.912 ms
    1480 bytes from 218.7.43.6: icmp_seq=2 ttl=255 time=0.972 ms

    --- 218.7.43.6 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2022ms
    rtt min/avg/max/mdev = 0.912/0.940/0.972/0.035 ms, pipe 2

  • 相关阅读:
    pytest测试框架的简单应用
    windows下Docker无法正常启动-The system cannot find the file specified
    docker-centos6.9 /etc/rc.d/init.d/functions: No such file or directory解决方法
    All TAP-Windows adapters on this system are currently in use.
    DNS服务器配置named.ca详解
    python单元测试unittest常用断言
    python学习之异常
    python学习之元类
    python学习之property进阶
    python学习之描述符自制property
  • 原文地址:https://www.cnblogs.com/langqi250/p/2702085.html
Copyright © 2011-2022 走看看