13.1.4 MPLS标签的基本操作类型
压入(Push):指报文进入MPLS域时会被入站LSR压入相应的标签,或者中转LSR在报文标签栈的栈顶压入新标签的动作。
置换(Swap):指LSR在转发标签报文时,将标签头部换成下游LSR所分配的标签的动作。
弹出(Pop):指标签报文离开MPLS域时被出站LSR移除所有标签头部,或LSR在转发标签报文时移除标签栈的栈顶标签。
下图是报文进出MPLS域时经历的操作
13.1.5 MPLS转发
在下图中所有路由器都运行了IGP协议(如OSPF),都激活了MPLS标签交换功能,都部署了标签分发协议(如LDP)。
如下图所示,标签分发协议开始运行,R4在本地为路由前缀10.2.2.0/24(FEC)分配了标签1031,并将路由前缀和标签的映射通告给R3,R3收到后将该标签保存起来,然后再本地为路由前缀10.2.2.0/24分配一个标签1029并通告给R2,R2以此类推。
上图是控制层面,下图是数据层面,现在10.1.1.0/24网段中有一个去往10.2.2.0/24网段的报文进入MPLS网络,R1会给报文压入标签1025并修改二层报头的类型信息(用于指示二层报头后的载荷数据类型)。标签报文到达R2后,因为通过解析二层报头时发现这是一个MPLS标签报文,所以它不会解析报文的IP头部,通过解析标签头部匹配FEC,进行相应的置换和转发操作。报文到达R4,会将报文的标签头部弹出,得到原始的IP报文,然后执行IP路由操作,将报文转发出去。