
2016.9.6 第2次更新
OSPF理论知识详解(七)
OSPF理论知识详解(六):http://www.023wg.com/lypz/117.html
39、路由环路预防
PE和CE之间,如果OSPF与BGP的路由相互学习,则有可能导致路由环路问题。

图5 OSPF VPN路由环路
如上图5所示,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特性专门针对这种情况提供了解决方案,如下表2所列。
特性名 |
定义 |
作用 |
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的流量。 |
40、Multi-VPN-Instance CE
OSPF多实例通常运行在PE上,在用户局域网内部运行OSPF多实例的设备称为Multi-VPN-Instance CE(MCE),即多实例CE。
与PE上的OSPF多实例相比:
1、Multi-VPN-Instance CE不需要支持BGP/OSPF互操作功能。
2、Multi-VPN-Instance CE通过为不同的业务建立各自的OSPF实例,相当于不同的业务使用不同的虚拟CE,从而以较低的成本解决局域网的安全问题。
3、Multi-VPN-Instance CE在同一台CE上实现不同的OSPF多实例。其实现的关键在于禁止路由环路的检查,直接进行路由计算。也就是说,MCE收到了带有DN-bit的LSA也会用于路由计算。
40、OSPF快速收敛
OSPF快速收敛是为了提高路由的收敛速度而做的扩展特性。包括:
1、OSPF按优先级收敛。
2、PRC(Partial Route Calculation)部分路由计算。当网络上路由发生变化的时候,只对发生变化的路由进行重新计算。
3、通过智能定时器控制LSA的生成与接收,达到对低频变化快速响应,又能对高频变化起到有效抑制的目的。在标准RFC2328协议中,通过如下两个规定来避免网络连接或者路由频繁动荡引起的过多占用设备资源的情况。
同一条LSA在1秒内不能再次生成,即LSA的更新时间间隔5秒;LSA被接收的时间间隔为1秒。
在网络相对稳定、对路由收敛时间要求较高的组网环境中,可以通过智能定时器指定LSA的更新、被接收的时间间隔为0,使得拓扑或者路由的变化可以通过LSA发布到网络中,或者立即被感知到,从而加快路由的收敛。
4、通过智能定时器控制路由计算。
当网络发生变化时,OSPF需要重新进行路由计算,为避免这种频繁的网络变化对设备造成的冲击,标准RFC2328规定路由计算时要使用延迟定时器,定时器超时后才进行路由计算。
但标准协议中,该定时器定时间隔固定,无法做到既能快速响应又能抑制震荡。通过智能定时器来控制路由计算的延迟时间,达到对低频率变化快速响应,又能对高频率变化起到有效抑制的目的。
5、OSPF Smart-discover
见前面
6、OSPF按优先级收敛
OSPF按优先级收敛是指在大量路由情况下,能够让某些特定的路由优先收敛的一种技术。通过对不同的路由配置不同的收敛优先级,达到重要的路由先收敛的目的,提高网络的可靠性。
OSPF按优先级收敛能够让某些特定的路由优先收敛,因此用户可以把和关键业务相关的路由配置成相对较高的优先级,使这些路由更快的收敛,从而使关键的业务受到的影响减小。
当有新的设备加入到网络中,或者设备重启时,可能会出现在BGP收敛期间内网络流量丢失的现象。这是由于IGP收敛速度比BGP快而造成的。
通过使能OSPF与BGP联动特性可以解决这个问题。
在存在备份链路的情况下,BGP在链路回切时,由于路由收敛速度滞后于OSPF路由收敛速度,从而造成流量丢失。
图1 OSPF与BGP联动
如上图1所示,四台设备RouterA、RouterB、RouterC、RouterD之间运行OSPF协议,并建立IBGP连接。RouterC为RouterB的备份设备。当网络环境稳定时,BGP与OSPF在设备上是完全收敛的。
正常情况下,从RouterA到10.3.1.0/30的流量会途经RouterB。当RouterB发生故障后,流量切换到RouterC。RouterB故障恢复以后,流量回切到RouterB,此时会有流量丢失。
这是因为,在流量回切到RouterB的过程中,IGP收敛速度比BGP快,因此OSPF先收敛,BGP还没有完成收敛,导致RouterB不知如何到达10.3.1.0/30。
这样,当从RouterA去往10.3.1.0/30的流量被发送给RouterB时,由于没有必要的路由选择信息,这些流量就会被丢弃。
使能了OSPF与BGP联动特性的设备会在设定的联动时间内保持为Stub路由器,也就是说,该设备发布的LSA中的链路度量值为最大值(65535),从而告知其它OSPF设备不要使用这个路由器来转发数据。
上图1中,在RoutetB上使能BGP联动,这样,在BGP收敛完成前,RouterA不把流量转发到RouterB上,而是继续使用备份设备RouterC转发流量,直到RouterB上的BGP路由完成收敛。
42、OSPF Local MT
当网络中同时部署了组播和MPLS TE-Tunnel时,组播的功能可能会受到TE-Tunnel的影响,导致业务不可用。
为了解决该问题,可以使能本地组播拓扑(Local MulticASt-Topology,Local MT)特性,以指导组播报文正确转发。
在TE-Tunnel上配置了IGP Shortcut后,IGP计算出来的路由的出接口可能不再是实际的物理接口,而是TE-Tunnel接口。
路由器根据到达组播源地址的单播路由,从TE-Tunnel接口发送组播加入报文,这样,被TE-Tunnel跨越的路由器就无法感知到组播加入报文,因而不会建立组播转发表项。
图1 OSPF Local MT
如上图1所示,RouterB被TE-Tunnel跨越从而不会建立组播转发表项。
由于TE-Tunnel是单向的,从组播源发出的组播数据会直接通过物理接口发送到这些被跨越的路由器,但因为这些路由器上并没有组播转发表项,导致组播数据报文丢弃,从而造成业务不可用。
使能本地MT特性后,如果计算出来的路由出接口为IGP-Shortcut类型的TE-Tunnel,路由管理模块会为组播协议创建单独的MIGP路由表,并为该路由计算出实际的物理出接口,将其加入到MIGP路由表中。组播利用MIGP路由表中的路由进行转发。
上图1中请求加入组播组的报文到达RouterA后会通过接口GE1/1/0发给RouterB,这样RouterB就能正确建立组播转发表。
OSPF理论知识详解(八):http://www.023wg.com/lypz/331.html



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

