OSPF-----Vlink 虚链路

虚链路的特点:

                       1,属于区域0的逻辑链路

                       2,一次只能穿越1个常规的非骨干区域

                       3,不能穿越特殊区域

 

V-link 作用:

1、修正不规则的区域设计,非骨干区域没有与骨干区域相连, 区域0不连续
2、区域0的备用链路
3、链路优化

 ------------------------------------------------------------------------------------------------------------------


1、修正不规则的区域设计,非骨干区域没有与骨干区域相连, 区域0不连续

例如:下图中 非骨干区域2没有和骨干区域相连。

---------------------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------------

1,在AR1上建立个Loo0的接口并加入到area0中 。  10.1.1.1

2,由于AR2是abr所以能够把10.1.1.1,以三类的形式传递到AREA 1里面去。但是AR4不是ABR,所以AR5上看不到这条10.1.1.1

    

 ---------------------------------------------------------------------------------------------------------------------------------------------------

在AR2与AR4之间建立vlink邻居

[AR2-OSPF-1-AREA 1]VLINK-PEER 4.4.4.4

[AR4-OSPF-1-AREA 1]VLINK-PEER 2.2.2.2 

查看vlink邻居:

现在的AR4已经在逻辑上已经成为了ABR,所以10.1.1.1,也就能够已三类的LSA的形式,传递到AREA 2里面去了。

 

----------------------------------------------------------------------------------------------------------------------------------------

思考:在建立vlink邻居的时候为什么使用的是routerid来建立的,它们又是如何找到对应的接口ip的呢?

           (1)为什么使用ROUTER-id呢?它有什么样的好处?

                    区域内存在冗余路径的时候,使用router-id建立邻居更加稳定,只要SPF树没有断,虚链路邻居就不会出现问题。

            (2)如何确定建立链接的两端接口IP地址?

                              运行虚链路的路由器,都会计算两个SPF树,一个是以自己为根计算出这个区域内的SPF树。

                              一个是以虚链路对端邻居,为根计算出来的SPF树,通过邻居的SPF树,计算出自己,邻居去往自己最近的接口

作为虚链路报文的目的IP地址。自己去往这个目的IP地址的出接口作为虚链路报文的源IP地址。

     (3)虚链路的Cost值 等于区域内最短路径Cost的累加

      (4)虚链路的建立为什么在区域1里面?

               虚链路的建立是不能跨区域的,因为建立虚链路的两个端点,是通过一类的LSA来计算出两棵SPF树。

               如果是跨区域了,一类的LSA是不能跨区域传递到。也就无法建立邻居关系,所以只能在区域1中。也只能在

              同一个区域中。

==============================================================================================

 2、区域0的备用链路

 

如:上图中,由于开始设计的不规范问题,骨干链路没有做冗余。AR1和AR2的物理链路在区域1中,区域0中仅有一条链路,当链路出现断开情况下,那么将导致区域0被分割

        出现不连续的骨干区域。我们现在就可以使用AR1和AR2的物理链路,做一条虚链路。让其成为区域0里面的备用链路。

============================================================================================================

 

        3、链路优化

                  在下图中----

假设Area 1中的AR1上存在一个10.1.1.1,AR2是一台ABR,会将10.1.1.1传递到Area 0(以3类的LSA形式存在),那么对于AR5来说,可以从区域0接收到AR2产生的关于10.1.1.1这条路由的3类LSA,也可以从区域2接收到AR3产生的3类LSA,此时会优选AR2产生的。走Cost开销较大的链路。(因为骨干区域的3类LSA优先于非骨干区域的3类LSA),此时可以在AR3-AR5之间建立虚连接,而虚连接属于骨干区域,AR5就会优选Cost比较小的链路。

----------------------------------------------------------------------------------------------------------------------------

在AR3和AR5之间建立vlink

      [ar3-ospf-1-area-0.0.0.2]vlink-peer 5.5.5.5

      [ar5-ospf-1-area-0.0.0.2]vlink-peer 3.3.3.3

--------------------------------------------------------------------------------------------------------------------------------

AR3与AR5建立了VLINK-peer之后。AR3将10.1.1.1以三类的LSA传递给AR5的时候,就相当于是走了

骨干区域0,而不是走的区域2.那么同AR4传递过来的三类10.1.1.1的优先级别就一样了。AR5就优先

选择cost和值小的路径。

 

============================================================================================

虚链路的邻居如何维护:

1,通过周期性的单播Hello报文,来维护邻居关系,失效时间默认为40秒

2,虚链路上的SPF数断开了,V-link邻居关系才会断开,并且是立即生效

=======================================================================================

虚链路的防环:

1,虚链路的防环原则一:

        ABR通过虚链路通过学习到的一类LSA所计算出来的路由,不会转换成3类LSA传递到虚链路所在的区域,但是可以传递到 其他区域。

                上图中AR2和AR4之间建立V-link,那么此时AR4就成为了一台ABR,AR2将会把Area0的1类LSA通过虚链路传递给AR4,对于AR4来说从虚                   链路邻居接受到了1类的LSA。

                      如果此时的AR4将此一类的LSA以3类的形式传递到Area1(因为此时AR4是一台ABR,ABR会将自己的直连区域的1类LSA以三类的形式                          传递到其他区域)。那么针对AR3选路的时候,可以从AR2和AR4同时访问Area0. 此时如果AR3的链路g0/0/0的cost值大于g0/0/1接口的                             cost值或者其他的原因,选择AR4去访问Area0,AR4会通过物理链路走AR3,那么就产生了环路。

  ①ar2和ar4建立v-link虚链路邻居

 

 

②虚链路邻居AR4具有了area0的LSDB数据库

 

 

 

③AR4成为ABR之后将直连的虚链路一类LSA以三类的形式传递到AR5

 

④ 在AR4不会将直连虚链路学到的一类LSA以三类的形式传递给虚链路所在区域

 

------------------------------------------------------------------------------------------------------------------------------

2,虚链路的防环原则二:

      ABR通过虚链路得到的3类LSA,如果在v-1ink所经过的区域也存在,则计算此3类LSA,并继续
泛洪到其他区域,但不会泛洪到虚链路所在的区域。

上图中   ①AR6上有一条路由60.1.1.1 ,那么AR2作为ABR将会把Area3的路由,传递到Area 1以三类
                 的形式存在。

             ②AR2也会通过虚链路传递给AR4(此时的传递属于骨干区域内的同区域内三类LSA在不同路由器上的同步传递),

                 此时对于AR4来说,可以通过Area 1中的3类计算出这个路由(因为AR4和AR3在物理链接上在同一区域,所以AR3上的三类在AR4上也是有的),

                 所以将不会把从虚链路邻居AR2接受到的这条三类传递到Area 1,如果传递到Area 1,那么对于AR3来说在选路的时候有可能会走AR4,A4实际的物理链路又走                       AR3,将产生环路。

 

             ③如果虚链路经过的区域不存在一类LSA和三类LSA,那么建立虚链路的ABR收到的三类也不会计算和传递到其他区域。

 

 

  ①区域3上的AR3发布了一条路由 60.1.1.1

     

②身为ABR的路由器AR2将骨干区域中的三类LSA60.1.1.1传递给区域1中的AR3,但是并没有看到身为ABR的

    AR4将三类60.1.1.1传递到此区域。

③身为ABR的AR4将从区域0中的三类LSA60.1.1.1 传递给区域2中的路由器AR5

--------------------------------------------------------------------------------------------------------------------

3、虚链路的防环原则三:

ABR通过虚链路得到的3类LSA和1类LSA,如果在虚链路所经过的区域不存在,则忽略此3类
LSA,不会继续泛洪到其他区域。

如果AR6上有一条路由(60.1.1.1),而AR2为ABR,在执行区域间路由转换的时候,如果拒绝了
这条LSA传递到Area1,而没有拒绝传递到Area 0,那么对于AR4来说是可以从Area 0计算出这
条3类LSA的。AR4是一台ABR,假设它可以计算这条三类LSA并传递到Area 1和Area 2,那么
对于Area 1和Area 2内的路由器在访问这条路由的时候都会找AR4,而AR4通过物理链路发送
AR3,将会产生环路,和路由黑洞。

 

filter 2000 import  //进行三类LSA的入方向的过滤

①在ar2上将区域3里的的60.1.1.1这条一类LSA,执行三类的转换,然后传递到area1。

    此时执行一下路由的LSA过滤,将传递到area1区域的这条60.1.1.1的三类LSA过滤掉

 [ar2-ospf-1]filter 2000 import

 [ar2]

acl number 2000
rule 5 deny source 60.1.1.1 0
rule 10 permit

此时的这条三类60.1.1.1 由于被在area1的入方向过滤掉了,所以在area1的区域里面就不会有这条三类

lsa。但是会传递到area0的骨干区域里面。 

-----------------------------------------------------------------------------

AR4通过虚链路成为了骨干区域的ABR,所以这条三类会传递到AR4上,但是这条三类LSA不会通过AR4

传递到AREA1和Area2区域里面去。因为区域1里面没有从骨干区域传过来的同样的三类LSA

即使在AR4有这条一类的LSA,但是AR4上也不会计算这条LSA

 

--------------------------------------------------------------------------------------------------------------------------------

验证:虚链路的区域内如果没有一类LSA,那么虚链路的ABR会不会生成三类LSA并传递到其他区域

 

  ①AR1上有一条一类的LSA10.1.1.1,并且宣告了这条路由到ospf

 

 ②在AR2的acl2000里面加入拒绝这条LSA的rule7

    

③查看AR4的LSDB

    

    同样的,AR4也不会计算这条路由。

=========================================

上述实验现象验证了ABR通过虚链路得到的3类LSA和1类LSA,如果在虚链路所经过的区域不存在,则忽略此3类
LSA,不会继续泛洪到其他区域。   

 --------------------------------------------------------------------------------------------------------------

4、虚链路的防环原则四:

 ABR针对区域0的汇总无法对虚链路经过的区域生效,也就是不会传递到虚链路经过的区域。

假设AR2-AR4之间建立了虚链路,如果此时AR1上有一个10.1.1.1/32的路由,而
AR2是一台ABR,如果此时AR2针对10.1.1.1/32汇总成为了10.1.0.0/16的路由,
假设AR2可以传递给AR3,那么对于AR3来说此时学习到了一条10.1.0.0/16的路由,如果此时
AR4也针对区域0做汇总成10.1.1.0/24的路由,假设它也能传递给AR3,那么对于AR3
来说去往10.1.1.1的时候会找AR4作为下一跳,因为路由查表转发原则为精确匹配,而对于
AR4来说会选择AR2作为下一跳,因为10.1.1.1的路由是AR2通过虚链路传递给AR4的,
那么AR4还是要通过物理链路发送给AR3,AR3收到又给AR4,由此产生环路。

 

 

    

 

posted @ 2022-05-24 14:58  天上书生  阅读(1898)  评论(0编辑  收藏  举报