
2016.9.5 第2次更新
OSPF理论知识详解(六)
OSPF理论知识详解(五):http://www.023wg.com/lypz/114.html
34、OSPF VPN简介
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的管理和配置。
35、PE-CE间运行OSPF
BGP/MPLS VPN中,PE之间使用MP-BGP传递路由信息,而PE-CE间则广泛使用OSPF进行路由学习和传递。
PE-CE间使用OSPF有如下优势:
1、通常在一个Site内部使用OSPF学习路由。如果PE-CE间也使用OSPF则可以减少CE设备所支持的协议种类,降低对CE设备的要求。
2、同样,Site内部和PE-CE间都使用OSPF可以降低网络管理人员的工作复杂度,不必要求管理人员对多种协议熟练掌握。
3、对于在骨干网上使能OSPF而不使能VPN的网络,将其转换为使能BGP/MPLS VPN时,由于PE-CE间继续使能OSPF,从而降低了转换的难度。
如下图1所示,CE1、CE3和CE4都属于VPN1,图中OSPF之后的数字表示PE设备上运行的OSPF多实例进程号。图1 PE-CE间运行OSPF
CE1上的路由发布给CE3和CE4过程可以描述为:
1、PE1将CE1上的OSPF路由引入到BGP中,形成BGP VPNv4路由。
2、PE1通过MP-BGP将这些BGP VPNv4路由发布给PE2。
3、PE2将BGP VPNv4路由引入到OSPF,再发布给CE3和CE4。
同理,CE4和CE3上的路由发布给CE1的过程类似。
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实现逻辑连通),如下图2所示。
图2 PE-CE间OSPF区域配置
PE-CE间配置为非骨干区域1,而Site1内配置了骨干区域0,此时Site1的骨干区域就与VPN骨干区域分离了,所以在CE1与PE1间配置虚连接(Virtual link)来保持骨干区域连续。
本地OSPF区域和VPN远端的OSPF区域间如果相互发布区域间路由(Inter-area routes),则认为这些区域属于同一个OSPF域(OSPF Domain)。
1、域标识符(Domain ID)用来标识和区分不同的域。
2、每一个OSPF域都有一个或多个域标识符,其中有一个是主标识符,其它为从标识符。
3、如果OSPF实例没有明确域标识符,则认为它的标识符为NULL。
PE把BGP传来的远端路由向CE发布时,需要根据域标识符的情况选择向CE发布Type3、Type5或Type7的OSPF路由。
如果本地的域标识符与BGP路由信息中携带的远端域标识符相等或相互兼容,则发布3类路由;
否则,发布Type5或Type7路由。
本地和远端域标识符 |
本地和远端域标识符是否相等 |
发布的路由类型 |
本地和远端域标识符都为NULL |
相等 |
Inter-area路由。 |
远端域标识符=本地主域标识符,或者远端域标识符=本地从域标识符中的一个 |
相等 |
Inter-area路由。 |
远端标识符≠本地主从标识符,并且远端标识符≠本地从域标识符中的任何一个 |
不相等 |
如果本地是非NSSA(Not So Stubby Area)区域,生成External路由。 如果是NSSA区域,生成NSSA路由。 |
38、解除路由环路预防
解除路由环路预防可能导致路由环路,进行该操作时应谨慎。
在BGP/OSPF路由进行交互的过程中,路由环路预防功能能够防止OSPF路由在VPN站点内的路由环路。
但在跨域VPN-OptionA方式场景下,当ASBR之间运行OSPF协议来发送VPN路由信息时,由于系统路由环路预防机制,将导致对端ASBR不能学习到本端ASBR发送的OSPF路由。
如下图3所示,采用OptionA方式实现跨域VPN。以CE1发送VPN路由到CE2为例说明(PE1与CE1之间运行OSPF协议为例):

图3 跨域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之间不能互通。
为解决上面的问题,有以下的解决方法:
1、不对DN位置位:
在将BGP路由引入到OSPF过程中,不对LSA的DN位置位。例如ASBR1在将MP-BGP路由引入到OSPF中时,不对DN位置位,ASBR2收到这些路由时,检查DN位为0,可以参加选路。
2、不对DN位检查:
在收到LSA后,不检查DN位。例如ASBR1在将MP-BGP路由引入到OSPF中时,对DN位置位,ASBR2收到这些路由时,不进行DN位检查。
为增加上述方式使用的灵活性,可以只针对特定Type类型的LSA应用。对于Type3 LSA,还可以根据生成LSA设备的OSPF的router-id决定是否进行DN位置位或者检查。
如下图4所示,跨域VPN-OptionA方式,下ASBR之间为全连接,且都运行OSPF协议。对于ASBR2而言,可能会收到ASBR4上产生的Type3、Type5或Type7 LSA,如果在ASBR2上设置不对DN位检查,Type3 LSA会被接收,按照下图4中的描述,会引起路由的环路。
而对于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。
图4 跨域VPN-OptionA ASBR全连接组网图
OSPF理论知识详解(七):http://www.023wg.com/lypz/118.html



本文地址:http://www.023wg.com/lypz/117.html
版权声明:若无注明,本文皆为“Swiers思唯网络博客”原创,转载请保留文章出处。

