6.3.0 MPLS VPN基本组网

Intranet组网

  • 一个VPN中所有用户形成闭合的群体,只能进行VPN内的相互访问,不同实现不同VPN之间的通信。
  • 如下图:VPN1中的Site1与Site2为一个群体,VPN2中的Site3、Site4为一个群体。
  • Site1不能与Site3互通,只能与同VPN中的Site2通信。

在这里插入图片描述

Extranet组网

  • 在多个VPN中,可将部分站点中的网络资源给其它VPN站点使用。
  • 如下图:VPN2中的将部分网络资源传递给VPN1中的SIte2站点,由此Site2学习到了Site3的路由。
  • 此时Site1是无法将Site3的路由加入Site1路由表的,因为Site3路由中携带了RT值从而使得Site1因无法匹配上IRT从而无法加入路由表。

在这里插入图片描述

Hub-Spoke组网

  • 可将其中一个站点设置为Hub站点,其它站点为Spoke站点。Spoke站点互访必须通过Hub站点,常用于主公司与多个分公司网络规划中,起到主公司集中管控的效果。
  • 其中Hub-PE与Hub-CE连接的两个传输通道属于不同的VPN实例,Hub-CE上不需要创建VPN实例,正常配置EBGP即可,Hub-PE上才需要进行绑定VPN实例并配置相应EBGP操作。

在这里插入图片描述

  • 该组网中有许多注意的坑点需要注意:
    1. Hub-PE与Hub-CE之间需要至少存在两条链路或者两个及以上传输通道。
    2. Hub-PE与Hub-CE建立的EBGP邻居需要配置allow-as-loop命令,允许AS重复。
    3. Hub-PE与Hub-CE建立使用BGP建立邻居传递路由,使用非BGP建立邻居将有遇到其它小问题。

第一点

  • 至少存在两条以上的传输通道是因为在Hub-Spoke组网中,需要有一条链路负责传入路由,另一条链路传出路由。

第二点

  • 因为Spoke站点的路由来回经过Hub-PE与Hub-CE设备,已知BGP中路由传递出AS时会携带AS号,同时默认不会接收已经携带了本地AS号的BGP路由。
  • 所以为了解决Hub-PE将BGP路由传递给Hub-CE之后路由无法返回的问题,需要在Hub-PE的“传出”路由的邻居上配置allow-as-loop命令,使得允许该邻居接收AS重复路由。

如何判断哪个是“传出”邻居?

  • 如下图,VPN out所对应的邻居即为“传出”邻居。

在这里插入图片描述

第三点

  • 当Hub-PE与Hub-CE之间使用IGP协议对接,将会丢失BGP路径属性最后造成网络环路情况。
  • 如使用IGP-OSPF为例:
    • Hub-PE建立VPN实例in与out,in实例绑定在A口,out实例绑定在B口。
    • Hub-PE创建两个OSPF进程,分别绑定in与out VPN实例与Hub-CE 的OSPF进程建立OSPF邻居。
    • 最终Hub-CE的OSPF进程与Hub-PE的两个OSPF建立了OSPF邻居,Hub-PE不管从in实例还是out实例向Hub-CE发送路由,都会从另一个VPN实例中学习到路由。如:Hub-PE向A口传递路由,Hub-CE从A口收到路由之后,就会从B口发出,最终Hub-PE就能从B口收到A口发送的路由,完成传递。

在这里插入图片描述

  • 而环路的原因也正是在这里,当PE1向Hub-PE发送CE1路由。Hub-PE从in实例收到CE1路由并从A口向Hub-CE传递。
  • Hub-CE从A口收到CE1路由,从B口发出。最终Hub-PE从out实例的B口收到路由向PE1、PE2发送CE1路由。
  • 但是Hub-PE与Hub-CE之间是OSPF邻居,Hub-PE收到Hub-CE传来的CE1路由是不携带BGP路径属性的,故Hub-PE会把该路由当成新的BGP路由(即该CE1路由其BGP路径属性AS-Path值是空的)。
  • 因为Hub-PE向PE1、PE2传递的CE1路由AS-Path值为空,故对于PE1找来去找CE1的时候,走Hub-PE比直接走Spoke-CE1更优先,而Hub-PE又得找PE1才能去CE1,故就出现了环路问题。

在这里插入图片描述

解决方法

  • 于Spoke-PE对接Spoke-CE的BGP邻居上启用bestroute as-path-ignore命令,使得在选择最优路由时忽略AS-Path路径属性。

在这里插入图片描述

MAC多实例组网

在这里插入图片描述

不同实例路由相互引入组网

在这里插入图片描述

关于BGP网络的一些特殊场景

1、同VPN实例下同AS号的BGP路由传递问题

场景1:单CE情况

  • 同实例下的Site1与Site2所分配的AS号相同,常规MPLS VPN组网并不能解决该路由传递问题。
  • 该特殊情况下造成路由无法正常传递的原因是:AS-Path重复问题,即Site2默认不接收AS-Path已存在本地AS号的BGP路由。
  • 为了解决该问题,可在两端PE上配置“AS号替换”,使得PE在将路由传递给CE时将指定AS号替换成PE本地AS号。
    • ”指定AS“如何理解?
    • 如下图,PE1在vpn1实例与CE1的65001建立EBGP,其”指定AS“指的就是65001。
  • 除了该技术能解决之外,还有”allow-as-path“命令也能解决该问题,因为核心原因是AS重复问题,通过在CE上配置该命令忽略AS重复也能实现相同效果。

在这里插入图片描述

场景2:双CE情况

  • 在双CE下的同实例同AS号路由传递,仅使用AS号替换将可能出现环路风险。

在这里插入图片描述

  • 环路风险:CE1将内部路由A发送给PE1,由于PE1替换了路由A的AS-Path信息,故CE3将可以学习到路由A。对于CE3来说去往CE3不仅可以直接从内部访问,还能从EBGP的PE1上访问。当内部网络故障之后,CE3概率选择PE1为下一跳造成环路风险。

在这里插入图片描述

  • 但这种情况发现概率较小但不代表不存在,故为了防止CE3从PE1上重新学习到内部路由,需要于PE1上配置SoO。
  • Source-of-Origin 网络来源(SoO),假设PE1在对接两个CE的邻居上进行设置SoO(peer CE1 Soo 65001:1)之后。
  • 此时PE1收到CE1的路由A将打上SoO=65001:1的属性,想再传递给CE2时就会因为CE2邻居也属于SoO=65001:1而不再向CE2发送CE1传来的路由A,从而阻止了路由环路的风险。
[PE1-bgp-a]
ipv4-family vpn-instance a 
  peer 10.1.113.1 as-number 65001 
  peer 10.1.113.1 substitute-as  # 解决路由学习
  peer 10.1.113.1 soo 65001:1    # 解决环路风险
  
  peer 10.1.223.2 as-number 65001 
  peer 10.1.223.2 substitute-as
  peer 10.1.223.2 soo 65001:1

在这里插入图片描述

2、CE侧使用OSPF组网存在的问题

场景1:两端CE侧均使用OSPF组网

  • 两端均使用OSPF组网的情况下,不免会有环的问题出现。但OSPF内部也已经默认开启了一些防止环路的保护,如:DN比特位防环。
  • 默认情况下已经启用了3类LSA的DN比特防环,可在OSPF进程下通过dn-bit-set disable summary取消该功能。
  • 除了DN比特防环机制外,还有许多隐性的防环机制,可通过vpn-instance-capability simple命令,禁止路由环路检测,直接进行路由计算。

在这里插入图片描述

场景2:一端BGP一端OSPF组网

  • 如图所示,缺省情况下PE2在将PE1传来的BGP vpnv4路由转换成OSPF的type5路由时,会默认打上VPN路由标签,其标记缺省情况下,标签值的前面两个字节为固定的0xD000,后面的两个字节为本端BGP的AS号(前两字节已知且固定,所以默认route-tag就是本端BGP的AS号)。
  • 当PE3收到route-tag为本端BGP的AS号时,接收type5路由但不进行计算。从而防止环路风险。

在这里插入图片描述

3、Sham Link 后门链路

在这里插入图片描述

  • 该OSPF VPN组网中,除了通过PE的MPLS VPN传递路由,还通过CE之间的专线建立OSPF邻居传递路由。
  • 由于OSPF之间建立的OSPF邻居传递的路由优先级要高于经过MPLS VPN骨干网的区域间路由,这将导致VPN流量总是通过后门路由转发,而不走骨干网。
    • CE之间专线建立的OSPF邻居,通常称为后门链路,一般只用作备份链路。
  • 为了避免上述问题,可以在PE之间建立OSPF伪连接(Sham link),使经过MPLS VPN骨干网的路由也成为OSPF区域内路由,并且被优选。
  • 操作思路:
    1. 以上图为例,于两端PE上创建一个绑定了CE用户VPN实例 1的环回口地址(PE1=1.1.1.1,PE2=2.2.2.2)
    2. 在PE与CE对接的OSPF VPN进程中,进入区域0,配置shm-link 1.1.1.1 2.2.2.2
    3. 修改后门链路开销大于PE1至PE2之间的链路开销之合ospf cost 10000
    4. 通过display ospf sham-link area 0检查sham link是否成功建立。

4、BGP扩展团体属性,对接OSPF属性

  • 与BGP路由引入OSPF进程中一样,OSPF引入BGP中也存在属性丢失的问题。
  • 当PE-CE间部署OSPF交互路由信息时,若在PE上使用标准BGP/OSPF过程(简称为BGP/OSPF互操作)互来传递路由信息,则远端PE在将BGP引入VPN实例的OSPF进程时,会直接产生Type5 LSA,不同站点都会将其他站点的路由视为自治系统外部路由(AS_external)
  • 通俗点说:CE1与CE2同属一个区域,但中间跨越了BGP如果相关OSPF属性丢失将会让CE认为对方属于不同的区域,从而影响所学习到的OSPF路由优先级。
  • 为了解决标准BGP/OSPF的互操作导致的OSPF路由信息丢失的问题,BGP和OSPF都做了相应的拓展。

在这里插入图片描述

  • Domain ID:标识和区分不同的域。
    • •Domain ID需要在绑定到VRF的OSPF进程视图下使用命令domain-id配置。
    • 缺省情况下,Domain ID的值为0(NULL)。
  • Route Type:标识OSPF路由的Area-ID以及Route Type。
    • Area-ID:PE与CE建立邻接关系的区域号。
    • Route Type:被引入的OSPF路由的类型。会根据上图的规律生成相应的类型。

举个例子:

  • 如上图,CE1与CE2同属一个domain ID,其次CE1与CE2相互发布各自内网的路由,故生成3类LSA传递给PE。
  • PE根据上图的规律,将只生成3类LSA传递给各自的CE。
  • 23
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hades_Ling

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值