MPLS MTU分片机制

2018年6月30日01:15:13 发表评论 713 views

MPLS MTU的定义

MPLS标签栈象“垫层”一样,位于二层数据帧头和三层IP报文头之间。在MPLS转发过程中,即使网络层报文长度小于接口MTU,增加MPLS标签后,报文长度也可能超过链路层允许发送的范围,导致报文无法转发。为此,出现了MPLS MTU的概念。

在NE40E/80E/CX600/ME60产品上,MPLS MTU的含义是如下字段的长度之和:

  • MPLS标签栈
  • IP首部
  • IP净荷
图1 MPLS MTU示意图 
MPLS MTU分片机制

MPLS MTU适用场景

在NE40E/80E/CX600/ME60产品上,MPLS MTU只对IP入MPLS隧道的三层流量生效。受MPLS MTU限制的MPLS报文,其标签字段之后紧邻的字段只能是IP首部。即,MPLS MTU的适用范围包括:

  • MPLS L3VPN场景,在PE节点上,从用户侧到网络侧的入隧道流量。
  • PE或P节点上,使用策略路由、重定向、静态路由、转发捷径(IGP Shortcut)、转发邻接(Forwarding Adjacency)等方式,将IP流量引入到LSP隧道。
  • 控制平面下发的入隧道报文,例如,执行ping -vpn-instance或ping lsp产生的ICMP请求报文。

MPLS MTU的生效值

理论上,MPLS MTU = IP MTU+ n×4字节(n为标签栈中的标签个数)。

在NE40E/80E/CX600/ME60产品上,如下参数可能影响MPLS MTU生效值:

  • 物理出接口下配置的接口MTU

  • 物理出接口下配置的MPLS MTU

  • LDP协商到的PMTU,此参数详细介绍请参见协议的MTU协商

  • RSVP-TE协商到的PMTU,此参数详细介绍请参见协议的MTU协商

  • Tunnel接口下配置的接口MTU

MPLS MTU详细取值规则见表1。

 

表1 MPLS MTU取值规则
场景 影响生效值的参数(√表示影响,×表示不影响),MPLS MTU实际生效值为这些参数的最小值。
物理出接口配置的接口MTU值 物理出接口配置的MPLS MTU LDP MTU协商值 RSVP-TE PMTU协商制 Tunnel接口下配置的接口MTU
LDP LSP × ×
MPLS-TE ×

V6R1版本:√

后续版本:×

LDP over TE ×

说明:

LDP over TE场景下,由于LDP LSP经过了TE隧道,TE的Tunnel接口是LDP LSP的出接口,因此LDPLSP的MPLS MTU生效值也受Tunnel接口MTU的影响。

 


MPLS MTU分片机制

由上述规则可知,在NE40E/80E/CX600/ME60产品上的MPLS MTU实际生效值不可能比物理接口MTU大,这样可以控制IP报文进入MPLS网络时长度不超过物理接口MTU。

IP报文入MPLS隧道时的分片方式

IP报文入MPLS隧道时,对于协议报文,若IP包+Label > MPLS MTU,且DF=0,则将IP报文分片,打上标签转发;如果报文不允许分片,则丢弃。

NE40E/80E/CX600/ME60产品提供了丰富的单板类型,不同类型的单板,转发平面上,IP报文入MPLS隧道时的报文分片处理方式可能不同,可分为3种方式,见表2。

 

表2 IP报文入MPLS隧道的分片方式
分片方式 分片位置 转发平面分片功能描述
图2 分片方式A 
MPLS MTU分片机制

母板/集成板
  • V600R001之前版本:MPLS MTU实际不生效。

  • V600R001及后续版本:仅在IP报文入隧道时进行MPLS报文分片。

    若IP包+Label > MPLS MTU,且IP首部的DF=0,则将IP报文分片,打上标签转发;如果IP首部的DF=1,则:

    • 未使能强制分片:直接打上标签后转发。
    • 使能强制分片:将IP报文分片,打上标签转发。
图3 分片方式B 
MPLS MTU分片机制

母板/集成板
  • V600R001之前版本:MPLS MTU实际不生效。

  • V600R001及后续版本:

    • 仅在IP报文入隧道时进行MPLS报文分片。不支持强制分片。
    • 若IP包+Label > MPLS MTU,且IP首部的DF=0,则首先将IP报文分片,然后打上标签转发;如果IP首部的DF=1,则丢弃报文,返回Datagram-too-big消息。
图4 分片方式C 
MPLS MTU分片机制

子卡
    • V600R006之前版本:不支持MPLS报文分片。

    • V600R006及后续版本,支持MPLS报文分片,且分片依据的是隧道物理出接口MTU而不是MPLS MTU,且MPLS报文分片在PE节点和P节点都可能发生。

      由于此类单板先封装MPLS再进行分片,子卡无法区分MPLS报文在本设备是入隧道还是只进行MPLS转发,所以此类单板作为PE节点的NNI使能L3VPN分片时,如果同时作为P节点的NNI时,所有超过接口MTU的MPLS标签报文都会被分片。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: