2023年11月27日发(作者:)

IP网络MTU参数设置分析

引言

当今IP技术已成为最主流的通信传输技术,基于IP技术的传输设备已覆盖

整个工业界。而采用IP技术组建传输网,从而进行空管相关业务的传输,也已

经是国内外民航单位的主流。MTU(最大传输单元)是指IP网络设备默认情况下

允许传输的最大数据包长度,在实际组网当中,往往会遇到因为MTU参数选取不

合理,导致业务出现不正常情况,且这类故障通常隐蔽性较强,排查周期一般较

长,故希望通过对于MTU的了解和分析,以提高技术人员网络运维能力。

关键词:报文结构,MTU,字节

一、IP网络中MTU参数定义及作用

1.以太网数据报文结构

日常网络传输中,标准的二层以太网数据报文封装结构,如下表1所示,包

含了该数据帧的目的MAC地址(6字节)、源MAC地址(6字节)、802.1Q标签

4字节,可选)、以太帧类型(2字节)、负载(IP报文,46-1500字节)、

CRC校验(4字节),报文总长度一般在64-1522字节之间。

802.1Q

目标MACMAC负载(IP

文)

(可选)

以太帧

类型

CRC校验

6字节6字节4字节2字节46-1500字节4字节

1 以太网报文结构

报文结构

IP报文格式,包含了各类IP封装信息(IP报文头)和数据负载,其中IP

报头一般固定为20字节,其余为数据负载。

结合表1以太网报文结构,我们可以将二层数据报文的结构,转化成表2

形式。

802.1Q

目标MACMAC以太帧CRC

地址类型校验

(可选)

标签

IP报头+负载

6字节6字节4字节2字节

2026-14804

字节

2 以太网数据报文结构(IP报文分解)

3.特殊IP报文结构(GRE隧道)

实际网络运行中,除了上文所述的常规IP数据报文外,在某些特定情况下,

IP报文的封装结构也会根据实际需求,产生一定的变化,以GREGeneric

Routing Encapsulation,通用路由封装协议)隧道为例,当IP网络中使用了

GRE封装(GRE报头一般为4字节)后,数据报文结构如下表3所示,相较于常

规的IP报文,使用了GRE封装的报文,会多一层IP报头、一层GRE报头。

802.1Q

目标IPGCRC

MAC地址MAC地址报头RE报头

(可选)

太帧

IP

报头+

6622042026-14804

字节字节字节字节字节字节

4字节

3 使用了GRE的以太网数据报文结构

报文结构

MPLS网络基于标签(Label)进行转发,其标签封装在链路层和网络层之间,

常见的MPLS网络中,数据包在传输中通常会封装2层的MPLS标签(单层4

节),再结合上文内容,采用了MPLS网络传输的以太网数据报文结构,如表4

所示。

802.1Q

目标MACMAC

地址地址太帧类型

(可选)

标签

MPLS

标签

2

层)

IP

报头+CRC校验

6字节4字节

6282026-14804

字节字节字节字节

4 以太网数据报文结构(包含MPLS标签)

5.不同网络层级的MTU定义

1

2

2.1

2.2

2.3

2.4

2.5

(1)IP MTU

IP MTU表示网络层的最大传输单元,通俗来说是指一类通信协议在某一层上

所能通过的最大数据包大小(以字节为单位),一般用于网络层设备上,例如路

由器、防火墙等。按照国际惯例,IP MTU的默认取值一般为1500字节,以华为

NE20E路由器设备为例,该设备的接口默认MTU,指的是网络层的IP MTU,默认

参数1500

1 华为NE20E设备MTU定义

不过此参数的定义并非为强制标准,故不同厂商的产品,对于设备MTU的定

义可能存在一定的差异。

(2)二层MTU

对于普通IP网络来说,二层MTU=二层数据封装(18-22字节)+IP MTU,通

常情况下,151818+1500)字节的二层MTU,可以满足普通IP网的应用需求。

对于MPLS网络来说,二层MTU=二层数据封装(18-22字节)+MPLS封装(8

字节)+IP MTU,以华为设备为例,在MPLS网络环境下的默认MTU设置,至少需

152618+8+1500)字节,才能满足正常的网络传输需求。

(3)PMTU(路径MTU

我们通常把一条IP路径上(往返方向) 的最小MTU称为PMTU,以下图2为例,

PC>Server方向的最小MTU1500Server>PC方向的最小MTU1460,故

可以得出结论,PCServer间的路径MTU1460

2 PMTU实例

的作用

从上文中可以看出,在传输开销相对固定的情况下,单个数据包的实际负载

越高,单位时间内可以传送的数据量就越大,传输效率也就越高,这就是MTU

数存在的意义,从这个角度分析,理论情况下,PMTU9600的网络,传输效率

一定会高于PMTU1500的网络,但在实际运行环境中,往往会因为各种客观因

素如硬件配置、软件、无线网络端口等原因,制约了整个网络PMTU参数。

二、MTU参数设置产生的问题

1.不同厂商的设备在对接时,MTU出现兼容性问题

由思科交换机组成的MPLS VPN网络中,核心层增加1台华为交换机后,出

现核心层到异地接入层链路中断,以及MPLS VPN业务全部中断的情况。

首先确认新增的华为交换机,与思科交换机一样,都具备完整的MPLS VPN

功能;其次将华为交换机至接入层的中继接口MTU手工降至1400字节(此时华

为交换机在MPLS网中的PMTU长度由默认的1526字节降低至1426字节)后,该

网络传输正常。

初步判断可能是MPLS VPN接入网所租用的运营商线路MTU参数配置无法满

足华为设备在MPLS网络环境下的PMTU需求所致,经过了解确认运营商提供的二

层链路,默认MTU参数为1522字节,造成整个MPLS网络的PMTU被限制在1522

字节,因此不能满足华为设备默认的1526字节的要求。而思科设备之所以可以

在网络PMTU1522的环境下正常使用MPLS VPN功能,是因为该批思科设备的

端口MTU定义默认值1500,指的是二层MTU,也就是说思科设备实际的IP MTU

1500-18(二层封装)=1486字节,即便加上了MPLS封装,也不会超过网络

PMTU的数值。

2.数字业务割接到新网络后,出现偶尔中断

某数字业务从ATM数据网割接至IP承载网后,大致上三至四天就会发生一

次中断。

由于ATM数据网基于二层链路,且业务传输是在链路两侧的用户设备之间,

利用了GRE协议搭建通信隧道。而该业务从ATM数据网迁移至IP承载网后,传

输通道从过去的ATM二层链路,转换成了三层传输网络,用户单位在变更了相关

用户侧配置,转换传输链路层级的同时,保留了过去使用的GRE隧道。

通过抓取的数据包进行分析,发现该数字业务在正常传输时,用户服务器在

IP层面上,所发送的单个数据报文的负载长度,均未超过1436字节,但该数字

业务的用户服务器上,做了不允许响应包分片的设置,因此在故障发生时,用户

服务器发送出带有不可分片属性的数据报文,且服务器上发送的数据报文长度大

于传输链路的IP MTU,按通信规则该数据报文被网络设备丢弃,因此该业务的故

障原因是由于用户侧在发送数据报文时,使用了特殊封装且不允许网络设备对数

据报文进行分片传输,造成部分数据报文被网络设备丢弃。最终通过用户单位取

消该业务的GRE封装后,业务状态恢复正常。

三、结论及建议

运维人员要了解MTU问题的易发场景,如新增设备、新开中继链路、运营商

电路割接、新旧网络更新换代、业务系统设备变更、复杂的组网环境等。

运维人员要掌握MTU问题的排查思路和方法,如检测电路全程MTU值,使用

TX300等测试仪表检测电路传输质量,在发端利用wireshark等软件抓包分析等。

在实际生产环境中,对于新建网络、新开通业务链路,运维保障单位均需将

MTU参数测试重视程度同新电路传输质量测试对等,形成规范,将MTUPMTU

数测试、验证作为网络中继及业务电路开通的必需工作步骤。