网络MTU分析

网络MTU分析

1.各类的报文说明

ping报文中,MTU 1500 = IP 首部(20byte) +ICMP头部(8byte) + 负载(1472byte最大)

IP 首部(20byte)ICMP头部(8byte)负载(1472byte最大)

TCP 报文中,MTU 1500 = IP 首部(20byte) + TCP 首部(20byte) + 负载(1460byte最大)

IP 首部(20byte)TCP 首部(20byte)负载(1460byte最大)

TCP 报文中(传输通过GRE 隧道),MTU 1500 = IP 首部(20byte) + GRE 头部(24byte) + TCP 首部(20byte) + 负载(1436byte最大)

IP 首部(20byte)GRE 头部(24byte)TCP 首部(20byte)负载(1436byte最大)

2.MTU注意事项

使用IPsec、GRE、OSPF、IS-IS、L2VPN、VPLS等隧道协议需要注意,会给报文添加隧道标头,导致包长大于MTU,会导致数据包分片,回导致丢包或者传输速度变慢。

(1) MTU值大于所转发数据包大小

设备能够直接转发数据包,而不需要分片。

(2) MTU值小于所转发数据包大小且允许分片

设备对数据包进行拆分并转发。

(3) MTU值小于所转发数据包大小,且设置禁止分片。

设备直接丢弃数据包,不转发。此时,若想正常传送数据包,就需要上调网关MTU值,或者下调本地网卡的MTU值。

2.1 使用隧道要求:

要确定隧道的头部占用的大小,例如GRE 隧道头部为24byte。

AODS的网络MTU <= CPE的网络MTU+GRE 头部(24byte)

电脑的MTU设置为1200。

路由器的MTU设置为1280。

则,满足1200 <= 1280-24

2.2 使用要求:

AODS的网络MTU <= CPE的网络MTU

电脑的MTU设置为1200。

路由器的MTU设置为1280。

则,满足1200 <= 1280

2.3 各种网络类型的MTU最大值
网络类型MTU(byte)
以太网1500
IEEE 802.48166
IEEE 802.31492
FDDI4352
Token Ring(16Mbps)17914
Token Ring(4Mbps)4464
X2.5576
PPP296
2.4 MTU需要满足的条件

网络类型MTU最大值 ≥ 路由器的MTU+隧道头标长度(不使用隧道,则加0) ≥ 电脑的MTU

三者相等为最佳

3.测试最大值MTU

3.1 win 命令:
ping [要ping的IP] -l [MTU数值-ICMP头部(8byte) - IP 首部(20byte)] -f
有隧道:
ping [要ping的IP] -l [MTU数值-ICMP头部(8byte) - IP 首部(20byte)- GRE 头部(24byte)] -f

-f为禁止分片

3.2 Linux 命令:
ping -c 4 -M do -s [MTU数值-ICMP头部(8byte) - IP 首部(20byte)] [要ping的IP]
有隧道:
ping -c 4 -M do -s [MTU数值-ICMP头部(8byte) - IP 首部(20byte)- GRE 头部(24byte)] [要ping的IP]

-M do为禁止分片

4.设置Ubuntu的MTU

命令:

ifconfig [网卡名] mtu [MTU数值] up

ifconfig命令重启后会失效,需要写在启动脚本里面

  • 12
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值