MPLS网络的转发过程

在MPLS网络,路由器是如何查表转发

网络拓扑如下,ABCD运行在MPLS网络中

在转发数据包之前,MPLS网络路由器根据路由协议生成路由表RIB

路由器的硬件CEF会生成FIB表,用作硬件转发(此表类似路由表)

然后路由器会通过LDP协议生成标签数据库LIB表

然后LDP协议会根据LIB表和原有的FIB表,生成标签转发表LFIB

可查看LDP原理,了解各表如何形成>>>https://blog.csdn.net/Mr_Bei/article/details/84315105

转发过程

①边界第一跳LER路由器Router A收到发送给network X的IP包,
A查找LIB表,并给数据包打标签(PUSH)然后通过FIB表转发给下一跳路由器B

可以看到发出的数据包打上了标签25

②LSR B收到MPLS的数据包后,根据自己的LFIB表进行标签交换并转发出去

可以看到B收到了一个标签为25的包,查看LFIB表,进行标签交换为47,即转发出去的包标签为47,转发给下一跳C

③LSR C收到MPLS的数据包后,会使用一个优化技术PHP:倒数第二跳弹出(Penultimate Hop Poping)

在没有使用PHP之前,C收到标签包后,转发给D也是标签包,D收到标签包后,不仅查看LFIB表,弹出标签,还要查看FIB表,转发包,所以D会较其他路由器更加繁忙,这样数据包量大了,就会造成MPLS网络资源可用的瓶颈。

引入PHP技术后,在倒数第二跳此网络中的C,会收到来自最后一跳的路由器D一个值为3(保留)的标签,就是POP,

这样C转发给最后一跳LER路由器D之前会弹出标签包,然后发给D的是IP包

④最后一跳LER路由器查FIB表转发IP包给Network网络

猜你喜欢

转载自blog.csdn.net/Mr_Bei/article/details/84319235