通过ping确定网卡mtu
使用 ping 测试确定网卡最佳 MTU 的方法
MTU ( Maximum Transmission Unit ,最大传输单元)是指某一层协议上一次能最大传输的数据量。当一个数据包超过 MTU 数据量时,数据包需要被重组,或者是被丢弃; MTU 太小时,会导致同一段时间需要拆解为更多的数据包,同样对性能不利。
通常交换机支持的 MTU 为1500,而 windows 中默认的 MTU 也为1500。但是某些场合下,如 VPN 等,需要对数据包进行再次封装,通常无法使用到 1500 的 MTU。
为了确定 MTU 的最大值,可以使用 ping
进行测试,以确定最大的 MTU。
在 windows 中:
ping -l <数据量> 目标地址
数据量一般为 14xx ,在这个范围内尝试,找到一个稳定的最大数据量。
MTU 值为 ping 数据量加上28(ICMP头部和底层封装的数据量)。如 ping -l 1430 baidu.com
成功时,MTU 为 1430+28=1458
,设置网卡的 MTU 为 1458。
windows 中,直接到网卡的属性设置中,找到 MTU 并设置为合适的值。
ubuntu 中,直接命令设置
if config eth0 mtu 1458
或者在 /etc/network/interfaces
文件中,
auto eth0
iface eth0 inet dhcp
pre-up /sbin/ifconfig $IFACE mtu 1492