MPLS域间OptionB解决方案详解

参考阅读

MPLS域间OptionB解决方案详解(直连为pnv4 EBGP邻居)

顾名思义,OptionB的解决方案中,两个域的关系是直连的weipnv4邻居关系

实验拓扑

在这里插入图片描述
说明:R4、R5之间建立的是wiepnv4的邻居关系
其他说明在配置中展开

配置

[R4]dis c c bgp
[V200R003C00]
#
bgp 234
 router-id 4.4.4.4
 undo default ipv4-unicast
 peer 10.1.2.2 as-number 234 
 peer 10.1.2.2 connect-interface LoopBack0
 peer 10.1.45.5 as-number 567 
 #
 ipv4-family unicast
  undo synchronization
  undo peer 10.1.2.2 enable
  undo peer 10.1.45.5 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 10.1.2.2 enable
  peer 10.1.45.5 enable
#
return

[R5]dis c c bgp
[V200R003C00]
#
bgp 567
 router-id 5.5.5.5
 undo default ipv4-unicast
 peer 10.1.7.7 as-number 567 
 peer 10.1.7.7 connect-interface LoopBack0
 peer 10.1.45.4 as-number 234 
 #
 ipv4-family unicast
  undo synchronization
  undo peer 10.1.7.7 enable
  undo peer 10.1.45.4 enable
 # 
 ipv4-family vpnv4
  policy vpn-target
  peer 10.1.7.7 enable
  peer 10.1.45.4 enable
#
return

问题1

  • R2把172.16.1.1的路由发给R4,R4不收;
  • R7把172.16.8.8的路由发给R5,R5不收

现象:R2上有路由,但是R4上没有;R5,R7相同
在这里插入图片描述

在这里插入图片描述

详细说明:R1发来的路由是携带RT+ipv4即96bit的weipnv4路由,但是R4是没有RT的标识的,即不收这条路由;R5上相同

为什么optionA方案中没有这个问题?
因为OptionA中R4、R5上配置了RT 收的内容就是R2、R7上的RT

如何看R1、R7将路由发给了R2、R5

[R2]dis bgp vpnv4 all routing-table peer 10.1.4.4 advertised-routes
[R7]dis bgp vpnv4 all routing-table peer 10.1.5.5 advertised-routes 

在这里插入图片描述

意义:
为了减少不必要的标签存储,针对PE而言(标签存在的本质);PE对接CE是接收哪些CE的路由是有要求的,这个要求就是ARF,并不是谁的都收;若关闭了ARF,那么PE就接收任意的CE路由
对于ASBR,其必须要学习到所有的PE路由,那么就需要关闭ARF

解决:

ipv4-family vpnv4
Undo policy vpn-traget

在这里插入图片描述

问题2

R4不能将路由(从R5学到的)发给R2;R5不能将路由(从R4学到的)发给R7
原因:R4和R5的接口没有使能MPLS,导致标签的隧道不可达
解决:MPLS意义在于使能标签的功能,具体标签是谁发的可能是LDP、BGP

未使能:没有出接口
使能:有出接口

在这里插入图片描述

为什么optionA方案中没有这个问题?
OptionA中R4、R5之间是ipv4 weipn-instance的BGP,传递的是IP包,不需要使能mpls,重新进入新的mpls域会重新打RT,切双方都有互相导入的RT
为什么要使能mpls?
因为R4、R5之间要传递的是label,所以接口要使能mpls,不用开启ldp是因为这个label是由weipnv4产生的 而不是ldp产生的

问题3

R4给R2传递weipn路由(从R5学到的),R2不收;R5给R7传递vpn路由(从R4学到的)

原因:RT不匹配;
解决:R2、R7上互导RT

在这里插入图片描述
在这里插入图片描述

检查邻居

在这里插入图片描述
在这里插入图片描述

分析

如下从两个维度进行分析

控制层面

R8给R7分配私网的label 1026
在这里插入图片描述
在这里插入图片描述

R7通过LDP分配给R5一个公网的label 1025
在这里插入图片描述

R4、R5又是一段LSP,还是需要一个label

  • R8给R7分配的,R7中继给R5分配了一个1026的私网label 收到下游的label
  • 自己又分配了1028传给R4

在这里插入图片描述

在这里插入图片描述
R4上重新产生一个新的私网label,送给上游,R4上将进行一个SWAPPUSH操作 即更换label
在这里插入图片描述

数据层面

1、R1查询FIB给到R2

dis fib 172.16.8.8

2、R2查FIB发现这是一个标签包,首先压入底层标签1029(R5通过vpnv4传递给R4的底层标签)

dis fib vpn-instance a 172.16.8.8

然后查询token,压入1024的公网label,这个是R4通过ldp协议分发的,下一条是R3

dis tunnel-info tunnel-id 0x3

至此,R2上有两层label
在这里插入图片描述
在这里插入图片描述
3、R3上查询in-label为1024的信息,弹出1024,即PHP,露出1029,给到R4

dis mpls lsp in-label 1024 verbose

4、R4上进行swappsuh操作,将私网的1029换成1028,1028这个label是R5通过vpnv4传递来的私网label(R4 <—> R5这一段),给到R5

dis mpls lsp in-label 1027 verbose

在这里插入图片描述R4的入接口抓包,可以看到公网label被弹出,仅剩私网label 1029
在这里插入图片描述

R4的出接口抓包,可以看到私网label做了更换的操作,变成了1028
在这里插入图片描述
5、R5上进行swappsuh操作,将私网的1028换成1026,1026这个label是R8通过vpnv4传递来的私网label,给到R7 R7传递给R5(控制层面)

dis mpls lsp in-label 1027 verbose

在这里插入图片描述
此lsp还有顶层的token,查询详情还需要压入公网的label1025 这个是mpls-domain中ldp生成的,给到R6

dis tunnel-info tunnel-id 0x3

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6、R6将公网的1025 label弹出,只剩下私网的1026这个label

dis mpls lsp in-label 1025 verbose

7、R7将私网的1026弹出,查询FIB

dis mpls lsp in-label 1026 verbose
dis fib 172.16.8.8

总结

问题汇总:

  • ARF默认开启:R8将路由给到R7,R7发给R5,R5不收
  • MPLS未使能(无label、无nexthop):R5给R4,R4不给R2
  • RT不匹配:R4给R2传,R2不收

LSP路径

  • vpnv4的邻居都会交换底层标签
  • 三条LSP
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值