跨域MPLS解决方案:OptionA+OptionB+OptionC
作者:互联网
OptionA
实验拓扑图:AR2属于AS101,AR8属于AS102,vpn1相连的两端设备使用ospf建立对等体,vpn2两端设备使用bgp建立对等体
1.AR3与AR4之间建立ospf
AR3:
AR4:
查看ospf对等体建立状态为full
2.AR3和AR4开启mpls和ldp
AR3:
AR4:
这时可以查看ldp标签表
3.AR3和AR4之间建立MP-BGP,用于传递vpnv4路由
AR3:
AR4:
AR3上创建vpn实例vpn1,做接口绑定
AR1和AR3上的vpn实例vpn1建立ospf对等体
AR1:
AR3:由于AR3上的ospf进程1被mpls域使用,所以这里使用ospf进程2
查看ospf对等体建立成功
将ospf路由引入到bgp中
AR3上学习到1.1.1.1的路由,AR4上这时候没有1.1.1.1的vpnv4路由,因为AR4上没有配置vpn实例
AR4上配置vpn实例,指定RD,RT值
这时AR4上有vpnv4路由1.1.1.1
AR5和AR6建立ospf对等体
AR5:
AR6:
查看ospf对等体建立
AR5和AR6建立mpls,ldp
AR5:
AR6:
查看ldp表,表明mpls已经建立
AR5和AR6之间建立MP-BGP对等体
AR5:
AR6:
查看MP-BGP对等体建立成功
AR6建立vpn实例vpn1并与接口做绑定
AR6与AR7建立ospf对等体
AR6:
AR7:
对等体建立成功
在AR6上将ospf 2注入到bgp 200中
AR6查看vpn实例的路由表,AR5没有是因为没有配置实例
AR5配置vpn实例vpn1的RD,RT值
这时AR5上有vpn实例的路由
AR4和AR5之间建立EBGP对等体关系
AR4和AR5之间使用子接口绑定vpn实例
AR4:
AR5:
AR4和AR5互相将对端看作自己的CE设备,建立EBGP对等体
AR4:
AR5:
这时AR5有1.1.1.1的vpn实例vpn1的路由
AR4同样也有7.7.7.7的vpn实例路由
在AR3和AR6上将bgp注入到ospf 2里
AR3:
AR6:
这时AR1和AR7上分别有对端的回环口路由
AR1:
AR7:
测试AR1 ping AR7通
在AR3的0/0/0抓包,只有MP-BGP分发的内层标签(1026),因为AR3是倒数第二跳,LDP分发的外层标签是3,要弹出
AR2和AR8建立vpn
AR3做vpn实例vpn2并绑定接口
AR3和AR2做bgp对等体,并在AR2上将1.1.1.1通告到bgp
AR3:
AR2:
这时AR3学到1.1.1.1的路由,AR4上没有,因为没有配置vpn实例vpn2
AR4配置vpn实例vpn2
这时AR4学到vpn实例路由
在AR6上创建vpn实例vpn2并和接口绑定
AR6和AR8建立bgp对等体,并在AR8上将回环口路由通告到bgp中
AR6:
AR8:
AR6上可以查看到8.8.8.8的vpn实例路由,AR5上还没有,因为AR5没有配置vpn实例vpn2
AR5配置vpn实例vpn2
这时AR5上有8.8.8.8的路由
AR4与AR5之间做子接口绑定vpn实例2
AR4:
AR5:
AR4与AR5之间建立EBGP对等体
AR4:
AR5:
AR2和AR8都有对端回环口路由
测试
OptionB
实验
拓扑图
配置步骤
-
配置MPLS域内路由(ospf)
-
MPLS域内使能MPLS,MPLS LDP
-
MPLS域内建立MP-IBGP对等体
-
AR3和AR6创建vpn实例并绑定接口,在vpn实例中指定对等体
-
AR4和AR5之间建立MP-EBGP对等体
-
配置MPLS域内路由(ospf)
AR3:
AR4:
查看对等体建立状态
AR5:
AR6:
查看对等体建立状态
- MPLS域内使能MPLS,MPLS LDP
AR3:
AR4:
查看ldp标签表
AR5:
AR6:
查看ldp标签表
- MPLS域内建立MP-IBGP对等体
AR3:
AR4:
查看MP-BGP对等体
AR5:
AR6
查看MP-BGP对等体
- AR3和AR6创建vpn实例并绑定接口,在vpn实例中指定对等体
AR3创建vpn实例vpn1并绑定接口
AR3在实例vpn1指定对等体AR1
AR1指定对等体AR3并通告回环口路由到bgp中
AR3查看vpn实例vpn1的对等体
AR3上有vpn实例1的路由1.1…1.1
AR6创建vpn实例vpn1并绑定接口
AR6在实例vpn1指定对等体AR7
AR7指定对等体AR6并通告回环口路由到bgp中
AR6查看vpn实例vpn1的对等体
AR6上有vpn实例1的路由7.7.7.7
- AR4和AR5之间建立MP-EBGP对等体
AR4和AR5相连的接口开启MPLS功能
AR4指定对等体并开启vpnv4路由功能
AR4关闭RT标签过滤功能并且给下一跳分发标签
AR5指定对等体并开启vpnv4路由功能
AR5关闭RT标签过滤功能并且给下一跳分发标签
这时AR4可以学到1.1.1.1的vpn实例vpn1的路由,AR5也可以学到7.7.7.7的vpn实例vpn1的路由
这时AR1和AR7可以通信
测试
抓包分析数据转发过程中标签分配情况
在AR3的0/0/0口抓包,只有一层MP-BGP分发的内层标签(1027)到达7.7.7.7,外层标签LDP分发,由于AR3是倒数第二条设备,所以外层标签3自动弹出,故只有一层MP-BGP分发的内层标签
在AR4的0/0/1抓包,到达45.1.1.5的出标签是1028,入标签是1027
在AR5的0/0/0和0/0/1口抓包,从45.1.1.4发来的包到6.6.6.6的内层标签,入标签是1028(0/0/0口抓包),出标签是1025(0/0/1口抓包)
0/0/0口抓包
0/0/1口抓包
AR6只有一层内层标签,入标签1025,出标签为空,因为是ip报文,在AR6的0/0/0口抓包
AR2与AR8建立vpn隧道
AR3上创建vpn实例vpn2并绑定接口
AR3指定对等体AR2
AR2指定对等体AR3并将回环口路由通告到bgp中
AR6上创建vpn实例vpn2并绑定接口
AR6指定对等体AR8
AR8指定对等体AR6
测试
OpttionC
实验拓扑及配置思路
- MPLS域内配置IGP路由(ospf)
AR3:
AR4:
AR5;
查看ospf对等体状态
AR6:
AR7:
AR8:
查看ospf对等体状态
- MPLS域内开启MPLS和LDP
AR3:
AR4:
AR5;
查看LDP标签表
AR6:
AR7:
AR8:
查看LDP标签表
- MPLS域间配置普通BGP,用于将AR3的回环口通告给8.8.8.8,反之AR8将自己的回环口通告给3.3.3.3(将ospf区域的路由通告给bgp)
AR5:
AR6:
在AR5和AR6上将bgp的路由注入到ospf,这样AR3和AR8可以互相学习到对端的路由
AR5:
AR6:
这样AR3和AR8可以互相学习到对端的路由
AR3:
AR8:
查看BGP邻居状态
- AR3和AR8用回环口建立MP-EBGP对等体传递vpnv4路由,因为这时AR3和AR8互相有对端的路由,配置时由于中间经过多台设备,要配置ebgp多跳命令
AR3:
AR8:
查看MP-BGP邻居
- AR3和AR8创建实例,绑定接口,指定对等体
AR3创建实例vpn1,并将实例与接口绑定
AR3在vpn实例中指定对等体
AR1指定对等体并将回环口路由通告到bgp
这时AR3上已有vpn实例路由
AR8创建实例vpn1,并将实例与接口绑定
AR8在vpn实例中指定对等体
AR9指定对等体并将回环口路由通告到bgp
这时AR8上已有vpn实例路由
- 解决AR5和AR6之间标签传递问题
AR5和AR6相连接口之间开启mpls
AR5:
AR6:
AR5:
全局:bgp 100
peer 56.1.1.6 label-route-capability
给AR6通告3.3.3.3路由的同时为它分发一个标签(也就是说在AR6上查看标签表时可以看到为3.3.3.3这个路由分发的标签)
peer 56.1.1.6 route-policy p1 export
给AR6通告路由的时如果匹配上名字为p1的路由策略,就分发一个标签
全局:route-policy p1 permit node 1 创建名字为p1的路由策略
Apply mpls-label 执行动作是分发mpls标签
AR6
全局:bgp 200
peer 56.1.1.5 label-route-capability
给AR5通告8.8.8.8路由的同时为它分发一个标签(也就是说在AR5上查看标签表时可以看到为8.8.8.8这个路由分发的标签)
peer 56.1.1.5 route-policy p1 export
给AR6通告路由的时如果匹配上名字为p1的路由策略,就分发一个标签
全局:route-policy p1 permit node 1 创建名字为p1的路由策略
Apply mpls-label 执行动作是分发mpls标签
查看标签表·,发现没有到达3.3.3.3的lsp路径
AR5和AR6上将bgp分发的标签加入到lsp中
AR5:
AR6:
查看标签表·,发现有到达3.3.3.3的lsp路径
测试
分析标签分发和数据转发过程
AR9和AR1通信(AR9 ping AR1)
标签分发方向与数据传输方向相反,所以标签分发方向是由AR3开始向右依次通告到达3.3.3.3的标签怎么打上标签,数据包转发时就依次打上标签然后转发
AR8上查看到达1.1.1.1的下一跳是3.3.3.3,于是要把数据包交给3.3.3.3,这时需要打上一层内层标签(1026),此标签只有AR3可以识别,中间设备不识别此标签,所以要依次打上外层LDP分发的标签,AR8传递给AR7需要打上如下图内层标签(1026),外层标签(1026)
AR8的0/0/0口抓包看到两层标签,内层标签AR3分发(MP-BGP),外层标签AR7分发(LDP)
在AR7上查看标签,入标签(1026),出标签(1028),将1026标签换成1028转发出去
AR6上查看标签,入标签是LDP分发的1028,出标签是BGP分发的1026,将1028转换成1026转发出去
AR5上查看标签,入标签是1026(对应AR6的出标签),AR6的出标签是BGP分发的,所以AR5收到的入标签是BGP分发,然后转换成LDP分发的出标签1024将数据转发出去
AR4上查看标签,入标签是1024,出标签是3(外层),因为是倒数第二跳设备
这时在AR4的0/0/0口抓包,只看到一层1026的内层标签
报文到达AR3之后,将标签1026剥离,进行IP转发,转发给AR1
标签:AR3,跨域,AR6,标签,OptionB,OptionC,对等体,路由,AR5 来源: https://blog.csdn.net/weixin_45123715/article/details/112118167