设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 673|回复: 0
收起左侧

[分享] OSPF VPN

[复制链接]
 成长值: 63265
发表于 2023-12-1 10:48:16 | 显示全部楼层 |阅读模式
定义
OSPF VPN多实例特性是为了支持在VPN场景中PE(Provider Edge)和CE(Customer Edge)之间能够运行OSPF协议、使用OSPF进行路由的学习和发布而在OSPF基础协议上进行的扩展。

目的
OSPF是一种应用广泛的IGP协议,很多情况下,VPN用户内部网络运行OSPF。如果能够在PE-CE之间使用OSPF,PE通过OSPF向CE发布VPN路由,则在CE上就不需要配置PE-CE之间的其它路由协议,从而简化CE的管理和配置。

PE-CE间运行OSPF
BGP/MPLS VPN中,PE之间使用MP-BGP传递路由信息,而PE-CE间则广泛使用OSPF进行路由学习和传递。
PE-CE间使用OSPF有如下优势:
  • 通常在一个Site内部使用OSPF学习路由。如果PE-CE间也使用OSPF则可以减少CE设备所支持的协议种类,降低对CE设备的要求。
  • 同样,Site内部和PE-CE间都使用OSPF可以降低网络管理人员的工作复杂度,不必要求管理人员对多种协议熟练掌握。
  • 对于在骨干网上使能OSPF而不使能VPN的网络,将其转换为使能BGP/MPLS VPN时,由于PE-CE间继续使能OSPF,从而降低了转换的难度。

图5-9所示,CE1、CE3和CE4都属于VPN1,图中OSPF之后的数字表示PE设备上运行的OSPF多实例进程号。
图5-9 PE-CE间运行OSPF

                               
登录/注册后可看大图


CE1上的路由发布给CE3和CE4过程可以描述为:
  • PE1将CE1上的OSPF路由引入到BGP中,形成BGP VPNv4路由。
  • PE1通过MP-BGP将这些BGP VPNv4路由发布给PE2。
  • PE2将BGP VPNv4路由引入到OSPF,再发布给CE3和CE4。

同理,CE4和CE3上的路由发布给CE1的过程类似。

PE-CE间OSPF区域配置
PE与CE之间的OSPF区域可以是非骨干区域,也可以是骨干区域(区域0),并且PE永远是ABR(Area Border Router)。
在OSPF VPN扩展应用中,MPLS VPN骨干网被看作是Area0。由于OSPF要求Area 0连续,因此,所有VPN Site的Area0必须与MPLS VPN骨干网相连。如果VPN Site中存在OSPF Area0,则CE接入的PE必须通过Area0与这个VPN Site的骨干区域相连(可以通过Virtual-link实现逻辑连通),如图5-10所示。
图5-10 PE-CE间OSPF区域配置

                               
登录/注册后可看大图


PE-CE间配置为非骨干区域1,而Site1内配置了骨干区域0,此时Site1的骨干区域就与VPN骨干区域分离了,所以在CE1与PE1间配置虚连接(Virtual link)来保持骨干区域连续。

OSPF Domain ID
本地OSPF区域和VPN远端的OSPF区域间如果相互发布区域间路由(Inter-area routes),则认为这些区域属于同一个OSPF域(OSPF Domain)。
  • 域标识符(Domain ID)用来标识和区分不同的域。
  • 每一个OSPF域都有一个或多个域标识符,其中有一个是主标识符,其它为从标识符。
  • 如果OSPF实例没有明确域标识符,则认为它的标识符为NULL。

PE把BGP传来的远端路由向CE发布时,需要根据域标识符的情况选择向CE发布Type3、Type5或Type7的OSPF路由。
  • 如果本地的域标识符与BGP路由信息中携带的远端域标识符相等或相互兼容,则发布3类路由。
  • 否则,发布Type5或Type7路由。

表5-12 Domain ID
本地和远端域标识符
本地和远端域标识符是否相等
发布的路由类型
本地和远端域标识符都为NULL
相等
Inter-area路由。
远端域标识符=本地主域标识符,或者远端域标识符=本地从域标识符中的一个
相等
Inter-area路由。
远端标识符≠本地主从标识符,并且远端标识符≠本地从域标识符中的任何一个
不相等
如果本地是非NSSA(Not So Stubby Area)区域,生成External路由。
如果是NSSA区域,生成NSSA路由。


路由环路预防
PE和CE之间,如果OSPF与BGP的路由相互学习,则有可能导致路由环路问题。
图5-11 OSPF VPN路由环路

                               
登录/注册后可看大图


图5-11所示,PE1上OSPF引入了目的地址为10.1.1.1/32的BGP路由,产生5类或7类LSA发布给CE1,CE1上学到一条目的地址为10.1.1.1/32,下一跳为PE1的OSPF路由,并发布给PE2,这样PE2上就学到一条目的地址为10.1.1.1/32,下一跳为CE1的OSPF路由。
同理,CE1上也会学到一条目的地址为10.1.1.1/32,下一跳为PE2的OSPF路由,PE1上学到一条目的地址为10.1.1.1/32,下一跳为CE1的OSPF路由。
此时,CE1上存在两条等价路由,分别指向PE1和PE2,而PE1和PE2上到10.1.1.1/32的下一跳也都指向CE1,环路就产生了。
同时,由于OSPF路由的优先级高于BGP路由,PE1和PE2上到10.1.1.1/32的BGP路由被OSPF路由所替代,也就是说,PE1和PE2的路由表中活跃的是到10.1.1.1/32,下一跳为CE1的OSPF路由。
既然BGP路由转为不活跃状态,之前OSPF引入这条BGP路由时所产生的LSA就会被删除,而这样又会导致OSPF路由被撤消。路由表中没有了OSPF路由,BGP路由又变为活跃状态,继续重复之前的循环,导致路由振荡。
OSPF VPN特性专门针对这种情况提供了解决方案,如表5-13所列。
表5-13 路由环路预防
特性名
定义
作用
DN-bit
为了防止路由环路,OSPF多实例进程使用一个bit位作为标志位,称为DN位。
PE在生成Type3、Type5或Type7 LSA发布给CE时,都将DN位置位(值为1),其他类型LSA的DN位不置位(值为0)。
PE的OSPF多实例进程在进行计算时,忽略DN置位的LSA。这样就防止了PE又从CE学到发出的LSA而引起的环路。
VPN Route Tag
VPN路由标记(VPN Route Tag),PE根据收到的BGP的私网路由产生的5/7类LSA中必须包含这个参数。
VPN路由标记不在BGP的扩展团体属性中传递,只是本地概念,只在收到BGP路由并且产生OSPF LSA的PE上有意义。
当PE发现LSA的VPN路由标记(LSA的Tag值)和自己的一样,就会忽略这条LSA,因此避免了环路。
缺省路由
目的地址和掩码全为0的路由。
缺省路由用于转发源自CE和CE所在Site的流量。


解除路由环路预防

                               
登录/注册后可看大图
解除路由环路预防可能导致路由环路,进行该操作时应谨慎。


在BGP/OSPF路由进行交互的过程中,路由环路预防功能能够防止OSPF路由在VPN站点内的路由环路。
但在跨域VPN-OptionA方式场景下,当ASBR之间运行OSPF协议来发送VPN路由信息时,由于系统路由环路预防机制,将导致对端ASBR不能学习到本端ASBR发送的OSPF路由。
图5-12所示,采用OptionA方式实现跨域VPN。以CE1发送VPN路由到CE2为例说明(PE1与CE1之间运行OSPF协议为例):
图5-12 跨域VPN-OptionA组网图

                               
登录/注册后可看大图


  • PE1通过私网OSPF进程学习到了去往CE1站点的路由,并将这些路由引入到MP-BGP中,发送给ASBR1。
  • ASBR1收到MP-BGP路由后,会将这些路由引入到私网OSPF进程中,在生成Type3、Type5或Type7 LSA时,会将DN位置为1。
  • ASBR2通过OSPF协议学习到这些LSA时,会对LSA中的DN位进行检查。发现这些LSA的DN位为1,将忽略这些路由。

综上,由于系统的路由环路预防机制,导致ASBR2上学习不到对端ASBR1发来的OSPF路由,导致了CE1与CE3之间不能互通。
为解决上面的问题,有以下的解决方法:
  • 不对DN位置位:在将BGP路由引入到OSPF过程中,不对LSA的DN位置位。例如ASBR1在将MP-BGP路由引入到OSPF中时,不对DN位置位,ASBR2收到这些路由时,检查DN位为0,可以参加选路。
  • 不对DN位检查:在收到LSA后,不检查DN位。例如ASBR1在将MP-BGP路由引入到OSPF中时,对DN位置位,ASBR2收到这些路由时,不进行DN位检查。

为增加上述方式使用的灵活性,可以只针对特定Type类型的LSA应用。对于Type3 LSA,还可以根据生成LSA设备的OSPF的router-id决定是否进行DN位置位或者检查。
图5-13所示,跨域VPN-OptionA方式,下ASBR之间为全连接,且都运行OSPF协议。对于ASBR2而言,可能会收到ASBR4上产生的Type3、Type5或Type7 LSA,如果在ASBR2上设置不对DN位检查,Type3 LSA会被接收,按照图5-13中的描述,会引起路由的环路。而对于Type5或Type7 LSA,因为LSA中携带的Route Tag与ASBR2上OSPF进程默认的VPN Route Tag一致,ASBR2上会忽略这些LSA。
针对Type 3类型的LSA容易引起路由环路的问题,可以在ASBR2上设置只针对OSPF Router ID为10.1.1.1和10.3.3.3的Type 3类型的LSA不进行DN位检查。设置后,当ASBR2再收到ASBR4产生的Type3 LSA时,因为该LSA的OSPF Router ID为10.4.4.4,ASBR2会进行DN位的检查,发现DN位已置位,从而忽略这些LSA。
图5-13 跨域VPN-OptionA ASBR全连接组网图

                               
登录/注册后可看大图



OSPF Multi-VPN-Instance
OSPF Multi-VPN-Instance简称OSPF多实例。

Multi-VPN-Instance CE
OSPF多实例通常运行在PE上,在用户局域网内部运行OSPF多实例并且配置了vpn-instance-capability simple命令的设备称为Multi-VPN-Instance CE(MCE),即多实例CE。
与PE上的OSPF多实例相比:
  • Multi-VPN-Instance CE不需要支持BGP/OSPF互操作功能。
  • Multi-VPN-Instance CE通过为不同的业务建立各自的OSPF实例,相当于不同的业务使用不同的虚拟CE,从而以较低的成本解决局域网的安全问题。
  • Multi-VPN-Instance CE在同一台CE上实现不同的OSPF多实例。其实现的关键在于禁止路由环路的检查,直接进行路由计算。也就是说,MCE收到了带有DN-bit的LSA也会用于路由计算。







您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-1-24 08:52 , Processed in 0.051009 second(s), 10 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表