Sunday, June 13, 2021

跨域MPLS VPN Option C配置案例(IOS XR)

 这篇文章介绍一下跨域VPN Option C在IOX设备上的配置案例



如果需要CE之间互通,我们需要考虑以下的问题:

RR与RR之间的控制层面与数据层面 ;
CE与CE之间控制层面;
CE与CE之间的数据层面 ;

下面将对这些详细说明。

RR与RR之间的控制层面与数据层面

第一步将两个AS内的IGP/MPLS LDP使能。

第二步,RR1于RR2之间建立BGP邻居是使用loopback接口,跨域的是不能通过IGP传递过去,需要在RR1--->R4--->R5--->RR2起BGP LU的邻居,并将自己的loopback口宣告出去,以RR2的loopback0(10.1.22.22)举例:

RR2的BGP配置如下:

R5会收到RR2传递过来label为3的prefix,并为之分配本地标签24007,并向R4发送路由更新。

R4收到路由后为其分配本地标签24007

RR1收到路由如下, 下一跳为域内R4的loopback地址。

那么路径 RR1--->R4--->R5--->RR2 到数据层面如下:

CE与CE之间控制层面

拿R8的loopback0路由10.1.8.8/32举例,R8和R7建立EBGP链接,将路由传递给R7.查看R7上的路由如下,为其分配BGP VPNv4的标签24002

R7与RR2建立VPNv4的邻居,RR2收到这条BGP路由下一跳时R7的loopback口地址10.1.7.7

RR2与RR1建立VPNv4的邻居,并互指next-hop-unchanged,因此RR1上看到的路由下一条依旧为10.1.7.7

RR1与R2建立VPNv4的邻居,将此条路由通告出去,R2上看到此路由的下一条为 10.1.7.7 ,R2将之传递给R1

CE与CE之间的数据层面

如上,R2上看到10.1.8.8 下一跳是10.1.7.7,那么我们需要打通一条完整的LSP,让数据层面可以正常转发。
这里有用到了BGP LU, 首先R7与R5建立BGP LU,并为自己的loopback地址分配3的标签
R5收到后会为10.1.7.7分配24000的本地标签并送给R4,下一跳为10.1.7.7
R4收到后会为10.1.7.7分配24006的本地标签并发给R2,并修改下一跳地址为自己,10.1.4.4
R2上我们能看到received lable为24006,下一跳为10.1.4.4,域内地址

这时候我们在R2查看10.1.8.8的cef表可以看到标签为24001 24006 24002,对应10.1.4.4LDP标签/10.1.7.7 BGP LU标签/BGP VPNv4标签
在R3上根据标签表转发,栈顶标签次末跳弹出,剩余标签为 24006 24002 , 对应10.1.7.7 BGP LU标签/BGP VPNv4标签
在R4上根据标签表转发,修改栈顶标签, 24000 24002 对应 10.1.7.7 BGP LU标签/BGP VPNv4标签
在R5上根据标签表转发,修改栈顶标签,24000 24002对应10.1.7.7 LDP标签/ BGP VPNv4标签
在R6上根据标签表转发 ,栈顶标签次末跳弹出, 剩余标签为24002对应BGP VPNv4标签
在R7上先查标签表直接从Gi0/0/0/0送出

测试
配置文件/抓包文件

https://mega.nz/folder/0LYyzSjJ#Nb-HXWTwsYMt28iYvtjmZQ

           This Blog from Xuxing's Blog;
Link:
http://imxing.cn/?p=156

No comments:

Post a Comment