一、实验设想
假设晓飞网络科技公司的两家公司,在不同的站点内,通过不同的服务提供商相互连接。一家服务商使用 AS号 100 管理自己的自治系统,另一家使用AS 号 200 管理。同时需要将两家不同服务商使用 MPLS VPN 相互连接,使得用户两家公司能够通信,由于处在不同的 AS 自治系统,传统的单域无法解决,所以使用跨域 OptionC1 的方式解决。
二、拓扑设计
IP地址如上图规划
OptionC1配置大概:
CE1 通过 OSPF 与PE1 交互路由
ASBR-PE2 在 BGP 中宣告PE1 的 3.3.3.3 的路由,通过EBGP 发给ASBR-PE3
ASBR-PE3 收到之后,通过 MP-IBGP 发给PE4,
PE4 通过 OSPF 发给 CE2
注:PE1 和 PE4 是带有标签的VPNv4 路由,所以 ASBR-PE2 通过EBGP 发给 ASBR-PE3 时,也需要带有标签,可以使用路由策略分配标签,发送带有标签的 IPv4 路由。所以在两台 ASBR之间需要打开MPLS,使其具有传递标签的功能。
三、配置脚本
PE1 的配置
bgp100peer1.1.1.1as-number100peer1.1.1.1connect-interfaceLoopBack0peer6.6.6.6as-number200peer6.6.6.6ebgp-max-hop255peer6.6.6.6connect-interfaceLoopBack0#ipv4-familyunicastundosynchronizationpeer1.1.1.1enablepeer1.1.1.1label-route-capabilitypeer6.6.6.6enable#//和6.6.6.6 直接建立MP-EBGPipv4-familyvpnv4policyvpn-targetpeer6.6.6.6enable#ipv4-familyvpn-instancevpn1import-routeospf1
ASBR-PE2的配置
interfaceGigabitEthernet0/0/2ipaddress14.1.1.1255.255.255.0mplsbgp100peer3.3.3.3as-number100peer3.3.3.3connect-interfaceLoopBack0peer14.1.1.4as-number200ipv4-familyunicastundosynchronizationnetwork3.3.3.3255.255.255.255peer3.3.3.3enablepeer3.3.3.3route-policy2exportpeer3.3.3.3label-route-capabilitypeer14.1.1.4enablepeer14.1.1.4route-policy1exportpeer14.1.1.4label-route-capability//对 14.1.1.4 开启标签传递和接收功能,并且也开启对 3.3.3.3 的标签传递功能route-policy1permitnode10if-matchip-prefix3.3.3.3applympls-label#route-policy2permitnode10if-matchmpls-labelapplympls-label#ipip-prefix3.3.3.3index10permit3.3.3.332//制定分配标签的策略
ASBR-PE3的配置
interfaceGigabitEthernet0/0/2ipaddress14.1.1.4255.255.255.0mplsbgp200peer6.6.6.6as-number200peer6.6.6.6connect-interfaceLoopBack0peer14.1.1.1as-number100ipv4-familyunicastundosynchronizationnetwork6.6.6.6255.255.255.255peer6.6.6.6enablepeer6.6.6.6route-policy2exportpeer6.6.6.6label-route-capabilitypeer14.1.1.1enablepeer14.1.1.1route-policy1exportpeer14.1.1.1label-route-capability#route-policy2permitnode10if-matchmpls-labelapplympls-label#route-policy1permitnode10if-matchip-prefix6.6.6.6//与 ASBR-PE2 配置同理applympls-label#ipip-prefix6.6.6.6index10permit6.6.6.632
PE4 的配置
bgp200peer3.3.3.3as-number100peer3.3.3.3ebgp-max-hop255peer3.3.3.3connect-interfaceLoopBack0peer4.4.4.4as-number200peer4.4.4.4connect-interfaceLoopBack0#ipv4-familyunicastundosynchronizationpeer3.3.3.3enablepeer4.4.4.4enablepeer4.4.4.4label-route-capability#//开启接收 4.4.4.4 的标签传递ipv4-familyvpnv4policyvpn-targetpeer3.3.3.3enable#ipv4-familyvpn-instancevpn1import-routeospf1
四、实验总结
控制平面流程:
1. PE1 与PE4 直接建立 MP-EBGP 邻居关系;
2. 由于路由不可达,无法建立邻居,所以在 ASBR-PE2上宣告 PE1的路由 3.3.3.3,并且通过 EBGP 以 IPv4 的形式发给 ASBR-PE3,并且由于制定了策略,为 ASBR-PE3 分配了一个标签。
3. ASBR-PE3收到之后通过 IBGP邻居关系发给 PE4,由于下一跳发生了改变,所以 ASBR- PE3 重新为PE4 分配了标签,PE4 上就有了PE1 的 3.3.3.3IPv4 标签路由。
4. 同理,ASBR-PE3 上也会宣告 PE4 的6.6.6.6 的路由,随后相互学习到之后,MP-EBGP邻居关系建立成功。
转发平面流程:
假设此时PE1 和PE4 上,已经执行相互引入,CE1 和CE2 学到了对方的路由。此时CE2 去访问CE1--->8.8.8.8 去访问 7.7.7.7
1. CE2发到 PE4上,PE4去访问 7.7.7.7的路由下一跳为 PE1(3.3.3.3),是通过 MP-EBGP
学来的,封装上内层标签。
2. 然后PE4 的 3.3.3.3 路由是通过 ASBR-PE3 学到的,于是封装上策略标签。
3. PE4 去ASBR-PE3 需要借助 LDP 产生的外层标签,封装上外层标签,共三层标签。
4. 到了P2次末跳弹出,ASBR-PE3只剩下两层标签,然后借助策略标签发给了ASBR-PE2,并且做了标签交换动作。
5. ASBR-PE2收到之后,剥离策略标签,然后去往 PE1的 3.3.3.3,由于 ASBR-PE2 去往PE1
有 LDP 标签,封装上LDP 的标签之后发往PE1。
6. 到了 PE1 之后,由于次末跳弹出,只剩下了内层标签,PE1 通过内层标签发给了CE1。
在跨域 C1方案中,其实现原理是,在两台PE设备上直接建立MP-EBGP邻居,然后通过在两台 ASBR 设备上宣告PE 设备的地址,再去借助标签让两台PE 相互学到对方的路由,从而建立 MP-EBGP 邻居。