商业虚拟专用网络技术十一 MPLS转发

4、MPLS转发的实现

在这里插入图片描述
LDP通过发送标签请求和标签映射消息,在LDP对等体之间通告FEC和标签的绑定关系,从而建立一条LSP,才能进行报文转发。用户1访问用户2建立一条当报文进入MPLS网络时,就可以进行MPLS转发。报文进行MPLS转发的过程分为三个不同的阶段:

(1)、标签压入,也称为Push,是报文从非MPLS网络进入MPLS网络,在PE标签边界路由器上标签操作方式;

(2)、标签交换,也称为SWAP,报文在MPLS网络内部所有LSR标签交换路由器上,都按照这个阶段的操作方式;

(3)、标签弹出,也称为POP。这个阶段是报文最终离开MPLS网络需要的操作。

4.1、标签压入PUSH

MPLS标签已分发完成,建立了一条LSP,其目的地址为22.1.1.1/24。

标签压入PUSH:数据包从IP网进入MPLS网络,压入一个或者多个标签。
标签压入PUSH

先从控制平面(控制平面进行LSR之间的路由信息和标签信息的交换):用户1访问用户2,报文从用户1终端设备进入到R1标签边界设备PE,此时的报文是一个普通的IP包,PE路由器按照IP转发流程,查询IP路由表,匹配22.1.1.0/24网段的路由表项,并发现对应路由表项有与之关联的标签转发表,然后PE路由器对该报文启动MPLS转发。
在这里插入图片描述

在转发平面,数据的转发过程。包括标签的六种动作(Push、SWAP 、POP、untag、aggregate、recursive)等。PE路由器对该报文启动MPLS转发,就是对这个IP报文加上一个MPLS头,MPLS头内的出标签值就是OUT标签转发表项的出标签值"1025",这个过程称为压标签操作,这样原IP报文转变为MPLS报文,PE路由器GE0/0/1接口发送该MPLS报文。
在这里插入图片描述

4.2、标签交换SWAP

标签交换SWAP:将标签置换为另一个或多个标签。只能为一对一或一对多置换。

MPLS报文进入R2 LSR的入接口,对于MPLS报文就无需再查询路由表,检查IP头,而是查询标签转发表,匹配入标签值为"1025"的表项,找到该表项后将MPLS报文头部所携带的出标签值转成下游LSR分配的标签,将"1025"的标签值转换为"1026"的标签值,从下一跳端口GE0/0/2发送出去。标签交换SWAP

MPLS标签转发表

IN interfaceIN labelFECOUT interfaceOUT label
GE0/0/1102522.1.1.0/24GE0/0/21026

MPLS标签转发表中只会有唯一的一个标签转发表项,R2 LSR其入标签值1025与接收到的MPLS报文所携带的标签值相同。所以在MPLS转发中只需一次查询表就能完成对该报文的转发,比较IP转发多次查询路由表达到最大匹配的转发方式,效率高很多。

4.3、标签弹出POP

POP:标签的跳出,一次跳出一个标签。
在这里插入图片描述

MPLS报文进入R3 LSR的入接口,查询标签转发表,匹配入标签值为"1026"的表项,,找到该表项后将MPLS报文头部所携带的出标签值转成下游LSR分配的标签,这里的出标签值是"3",“3"为隐式空标签,用于倒数第二跳弹出。LSR设备先查LFIB(标签转发表),查询标签转发表中标签值是"3"的表项,对应的出标签值是"NULL”,这表示此LSR的下一跳为FEC的最下游设备。再查LIB(标签信息数据库)后去掉标签,将直接将MPLS报文中的MPLS报头除去后。按照标签转发表对应的出接口将报文发出。

隐式空(3):该行为使得上游路由器执行pop动作。在一条LSP的终点使用隐式空标签的行为成为PHP(倒数第二跳弹出)主要是为了避免多次查表;在倒数第二跳就不再打标签,直接发给最后一个路由器,省得它再去查两次表;最后一个路由器会发一个值为3(保留)的标签给自已的邻居.这个倒数第二跳是一个绝对的概念;实际上PHP就是路由器对自已的直连路由,会向自已的邻居发送一个POP标签。隐式空还用在标签栈中多个标签的报文中,这样向出站LSR传递的标签报文的标签数量就会少一个,这样出站LSR就不会执行两个标签的查找了。隐式空永远不会出现在MPLS报文的标签栈中。

显式空(0):隐式空跳出了顶层标签,但是标签可能有用于QOS(优先级)的EXP位。显示空用来解决这个问题,这样出站LSR向倒数第二跳通告显式空标签,出站LSR就会收到带有0标签的包。LSR不能通过在LFIB中查找标签0来转发这样的报文,因为这个值可以分配给很多FEC,LSR只是去除0标签,进行另外的查找,但是这样就可以获取EXP信息。最下游路由器收到不带标签值的报文,这样不用执行两次查表。
在这里插入图片描述
MPLS转发的最后阶段是标签弹出,这个阶段是MPLS报文通过PE边界路由器转换为IP包,当MPLS报文到达PE边界路由器R3时,查询标签转发表中标签值是"3"的表项,对应的出标签值是"NULL",这表示此LSR为FEC的倒数第二跳设备,PE边界路由器将直接将MPLS报文中的MPLS报头除去后,按照标签转发表对应的出接口将报文发出。

4.4、华为设备转发过程

1、标签压入PUSH
PE入端口接收到IP数据包,首先查看FIB表,检查目的IP地址对应的Tunnel ID值是否为0x0。Tunnel ID值为0x0,则进入正常的IP转发流程;如果Tunnel ID值不为0x0,则进入MPLS转发流程。

通过查询FIB表和NHLFE表指导报文的转发。
在这里插入图片描述

2、Transit的处理
通过查询ILM表和NHLFE表指导MPLS报文的转发。
在这里插入图片描述
如果标签值>=16,则用新标签替换MPLS报文中的旧标签,同时处理TTL,然后将替换完标签的MPLS报文发送给下一跳。

如果标签值为3,则直接弹出标签,同时处理TTL,然后进行IP转发或下一层标签转发。

4.5、MPLS对TTL的操作

  • MPLS对TTL的操作(label到label的TTL):
    如果在带标签的报文上实施的标签操作是swap的话,入站标签的TTL值会减去1以后复制到交换到的标签中。
    如果操作是移除,那么入站标签的TTL减去1以后再复制到新的顶部标签中去。如果TTL值比新的顶部标签TTL要大,就不进行复制了。

  • MPLS对TTL的操作(ip到label或label到ip):
    入站LSR:IP中TTL减去1后复制到label中。出站LSR:label的TTL减1后复制到IP的TTL中。但如果所接收到的带标签报文中的TTL比该报文中IP的TTL大的话就不会复制。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0与1之旅

创作不易请给予一点帮助和鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值