内容发布更新时间 : 2025/2/2 12:14:54星期一 下面是文章的全部内容请认真阅读。
OSPF虚链路(Virtual Link)原理
因为OSPF采用了区域化的设计,并且区域也采用了Hub-Spoke的架构,所有区域中定义出一个核心,然后其它部分都与核心相连,OSPF的区域0就是所有区域的核心,称为BackBone 区域(骨干区域),而其它Normal 区域(常规区域)应该直接和骨干区域相连,常规区域只能和骨干区域交换LSA,常规区域与常规区域之间即使直连也无法互换LSA。 但在某些情况下,某些常规区域无法与骨干区域直连,这时便无法得到其它区域的路由,因此,设计了将骨干区域的范围通过虚拟的方法进行扩展到相邻常规区域的位置,因而让不能直接与骨干区域相连的区域,最终可以与骨干区域直连,这种对骨干虚拟的扩展和拉伸就是OSPF虚链路(Virtual Link)能实现的;因为某些常规区域不能与骨干区域直连而只能与其它常规区域直连,所以OSPF虚链路(Virtual Link)通过将相邻的常规区域虚拟为骨干区域,从而让那些不能与骨干区域直连的常规区域也能获得其它OSPF区域的路由。与骨干区域相邻的常规区域被扩展后,该区域被称为Transit Area,理论上Transit Area不应该为末节区域;在扩展后,原本为常规区域的Transit Area,将变成骨干区域,所以路由将从Inter-Area Route转变为Intra-Area Route,路由表示形式也将从O IA改变为O的形式;在进行OSPF虚链路扩展时,是将Transit Area中与骨干区域直连的ABR和连接另一个常规区域的ABR相连,连接这两个ABR时,使用双方的Router-ID来连接。 ------------------------------- 情况一:远离区域0的虚链路 如下图:
在上图中,区域2只能与区域1直连,而无法与骨干区域直连,,在这种情况下,由于常规区域与常规区域之间即使直连也无法互换LSA,所以R3虽然是ABR,但因为没有连接骨干区域,最后不可能将任何区域的LSA发进区域2,最终导致区域2无法外其它区域通信,在这种情况下,需要通过OSPF虚链路将骨干区域的范围扩展到相邻的区域1,如下图:
在进行OSPF虚链路扩展后,区域1被虚拟成了骨干区域,而这时的R3等同于连接骨干区域和区域2的ABR,所以可以将自己所有的LSA发进区域2。在扩展OSPF虚链路时,是通过连接R2(ABR)与R3(ABR)的Router-ID 来建立的。
情况二:不连续区域0的虚链路
因为OSPF虚链路(Virtual Link)能将骨干区域扩展到相邻的常规区域,从而将常规区域虚拟为骨干区域,所以在某些情况下,如公司合并,或者为了备份骨干区域,可能出现骨干区域被常规区域所隔离, 如下图:
图中骨干区域被区域1分割为两部分,将使得骨干区域自己的路由无法相互传递,在使用OSPF虚链路后,可以将区域1也扩展为骨干区域,如下图: