【ospf的三类LSA sum-net】(真假ABR、区域间防环机制、vlink)

目录

一、3类LSA产生背景

1.ospf单区域的隐患:

2.多区域的产生

二.3类LSA的产生

1.3类LSA:边界路由器(ABR)产生,传递区域之间的路由

ABR维护区域间的每个区域的LSDB​

 2.3类路由防环机制

区域间防环机制:

3.例子

1)正常案例

2)真假ABR的特殊案例

真ABR:路由器在骨干区域有邻接关系(R3),遵守防环规则假ABR:路由器在骨干区域没有邻接关系(R4),不遵守防环规则

vlink的作用


一、3类LSA产生背景

1.ospf单区域的隐患:

1)当网络规模过大时,LSDB会变得十分臃肿,二路由计算基于LSDB,这样会极大消耗路由器的性能。

2)当网络拓扑发生改变时,所有变更都会导致整个拓扑信息的改变,极有可能引发整个网络路由重新计算。

3)单区域无法使得ospf路由汇总

2.多区域的产生

1)区域:骨干区域(area 0)非骨干区域(除了rea 0以外的区域)

2)路由器:

区域边界路由器(ABR):连接不同区域的路由器,至少有一个区域连接骨干区。

区域内部路由器(IR):区域内部的路由器(所有接口都在同一个区域内的路由器)。

骨干路由器(BR):至少有一个接口在骨干区。

自治系统边界路由器(ASBR): 该类路由器与其他AS交换路由信息。只要一台OSPF路由器引入了外部路由的信息,它就成为ASBR。

二.3类LSA的产生

1.3类LSA:边界路由器(ABR)产生,传递区域之间的路由

ABR维护区域间的每个区域的LSDB

 2.3类路由防环机制

区域内有SPF算法保证防环,区域间有特别的防环机制,保证防环。

区域间防环机制:

1)非0区域必须与骨干区域直接相连,区域间路由需经由骨干区域中转;

      ABR只能够将其所连接的区域的区域内部路由注入到Area0,但是可以将区域内部路由及区域间的路由注入到非0常规区域(除了stub、nssa、backbone都是非0常规区域)。

2) ABR不会将描述一个Area内部的路由信息的Type-3 LSA再注入回该区域中;

      非骨干区域的 LSA3 不会再次传回骨干区域。

3) ABR从非骨干区域收到的Type-3 LSA不能用于区域间路由的计算;

4) 不论 cost 值大小,LSA1 和 LSA2 计算的路由优于 LSA3 计算的路由。

5) 优先使用骨干区域的 LSA3 计算路由,优于非骨干区域的 LSA3。

6)LSA3 只能通过 ABR 进行泛洪,非 ABR 不会在区域间泛洪 LSA3。
7)  Type-3 LSA还涉及了DN比特位,用于在MPLS VPN环境下的环路规避

 

3.例子

1)正常案例

AR1与AR2 、AR3正常通信,AR2和AR3之间无法通信,150.1.2.2和150.1.4.4都是环回口,并且都在area 0,AR2的g0/0/1的链路断开,g0/0/2的下接了一个AR5(area 0)

R4的路由经过AR3(ABR)转化为三类LSA,传递到R2,但由于ABR不会将描述某个区域的路由再注入到该区域,所以在AR2这里,虽然接受了3类LSA,但是并没有进行路由计算,也没有传递。故AR2没有150.1.4.4的路由。

2)真假ABR的特殊案例

真ABR:路由器在骨干区域有邻接关系(R3),遵守防环规则
假ABR:路由器在骨干区域没有邻接关系(R4),不遵守防环规则

将原有的AR5删掉,原先AR2的g0/0/2是在area 0 里,删掉之后,AR2
没有骨干链路的邻接关系了。

此时区域0分裂了(骨干区域分裂)


也就是说,当150.1.4.4想要与150.1.2.2通信时
       AR2(ABR)的3类路由,传到AR1,再经过AR3(ABR)想要到达AR4时,由于防环规则(非骨干区域的3类LSA不会再传递到骨干区域),所以AR3没有计算路由信息,也也没有把AR2的路由信息交给AR4(AR4没有AR2的路由)
相反,当150.1.2.2想要与150.1.4.4通信时
       AR4的一类路由,经过AR3(ABR)转换为3类LSA传递到AR2,即使AR2是ABR,但由于它没有骨干区域的邻接关系(假ABR)所以根本不会遵守该防环规则,(进行了路由计算,所以有了R4的路由)
最后,我们在AR2上能查到,4.4的路由,但在AR4上查不到2.2的路由


vlink的作用

3)奇葩vlink

真的挺奇葩的,这个错误vlink配置告诉我们,不要随便配置虚链路,因为错误的虚链路,会导致不必要的环路(虚链路本身的出现也一定程度上打破了SPF的防环规则),这个图我理解了好久才明白。。。哭死我了(第4、5点我半天没理解出来,后来听了大佬的讲解,悟了一些)

原本r2和r4之间没做vlink的时候,r1想与r5通信,r4作为ABR将r5的1类LSA转化为3类LSA,只能走r3,但是有一个问题:根据防环规则(ABR从非骨干区域收到的Type-3 LSA不能用于区域间路由的计算),所以到这r4不会进行路由计算,也不会传递路由。

于是倒霉的vlink来了,r2和r4之间用vlink连接起来

r1没法与r5通信,查路由表追溯发现:r1、r2和r3形成环路了,下面我们就来分析是怎么产生的:

1、ABR-R4将r5的1类LSA转化为3类LSA传递给R2(从非骨干区域收到的3类LSA-area2,不会进行路由计算和传递),所以走了vlink到r2,之后传给r1,再到r3。

2、R1pingR5的时候,由于5的路由是R2告诉的,所以走向R2。

3、R2到R5的路由,按道理来说是从R4学来的,要走R4,但是虚链路是基于实际的物理链路,所以走了R3。

4、到了R3,就很奇怪(为什么R3不走R4,这样不就没有环路了嘛)

这里也有一个防环机制:骨干区域的路由优先于非骨干的路由,R3走R1是area 0,走R4是area 1,所以优先走骨干区域R1

5、如此这样的R1- R2- R3- R1的环路形成了。

同理R5与R1通信

r4收到三条路由,一条为:R2传来的R1的1类路由;一条为:R3转化的3类路由;一条为:R2转化的3类,传递到R3的3类路由。

发现R4选择了vlink这条1类路由,说明LSA 1优于LSA 3

但是又有一个问题啊:

 因为AR4走vlink(一类)到R2,因为是虚链路,基于实际物理链路,应该走R3,但是由于防环规则(ABR从非骨干区域学习的3类LSA不会进行路由计算,也不会传递),又不能走R3,所以通不了,凉凉了。。。

解决方案

1)R2与R4之间的vlink干掉,在R3和R4之间建立vlink 

2)或者干掉R1和R3之间的链路,保留R2和R4之间的vlink

·ospf以拓扑为准,路由不是最准的。路由是路由,数据包是数据包。在ip里,有路由不一定管用。

  • 12
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值