OSPF协议-域间路由计算

2.6区域间路由计算

单区域的弊端:

  • 网络规模扩大,导致SPF树变大,需要跟多的CPU资源,收敛慢
  • 网络不稳定时,导致单区域全网路由进行计算
  • 无法执行路由汇总,路由表规模变大,消耗内存资源

2.6.1 Network Summary LSA(3类LSA)

3类LSA,ABR路由器至少有一个接口属于区域0,将其他区域的1,2类LSA转换为3类LSA在本地区域内泛洪,如果骨干区域收到3类LSA还需要传递给其他的区域,也可以通过其他ABR路由器将该3类LSA再转换为3类LSA。如图2.24所示,AR2是ABR,将区域0中的1,2类LSA转换为3类LSA发送到区域1中,将区域1中的1,2类LSA转换成3类LSA发送到区域0中。

图2.24 OSPF多区域ABR设备

如图2.24,AR2是ABR设备,此时在AR1上输入命令display ospf abr-asbr查看与ABR和ASBR的相关路由,结果如图2.25所示,Destination字段显示了ABR或者ASBR的Router ID,Type字段显示了该条区域内路由是查找ABR的路由。

图2.25 命令显示了ABR相关信息

2.6.2区域间路由计算过程

  1. ABR通过1类LSA中的三个bit位(V/B/E)告诉直连区域自身是该区域的ABR设备。
  2. ABR同区域的所有路由器根据区域内的SPF树计算自身到ABR的开销以及下一跳。Display ospf abr-asbr命令可以显示(实际上是通过1,2类LSA计算而得)。
  3. 查看LSDB中的三类LSA,并计算路由条目。计算出来的路由条目依附对应的ABR路由器上。
  4. 路由器根据3类LSA结合自身到ABR的路由,计算区域间的路由。
  5. ABR将直连和区域内路由转换成3类LSA发送到其他区域。
  6. ABR将区域0中的3类LSA转换成非骨干区域3类,Adv rtr会改变,cost重新计算。
  7. 非骨干区域的3类LSA不会再传回骨干区域,非骨干区域的3类都是从骨干区域学习到的,如果传回骨干区域,那么可能会出现环路,因此不允许。叫做区域间的水平分割。
  8. ABR在区域0存在活动的Full邻居关系是,不会用非骨干区域的3类进行路由计算。

Network Summary LSA的数据结构如图2.26所示,

图2.26 Network Summary LSA的数据结构

3类LSA的结构中,从LS Age字段到Length字段都与1类LSA和2类LSA类似,只是取值不同,介绍以下几个:

  • LS Type:取值为3,表示该LSA为Network Summary LSA
  • LS ID:为路由条目的前缀信息
  • Advertising Router:产生该LSA的路由器Router ID,即ABR的Router ID。
  • Network Mask:路由前缀的掩码信息。
  • Metric:区域间路由前缀的开销值

图2.26 Network Summary LSA数据包结构

图2.26是抓包显示的封装在LSU报文中的Summary LSA的数据结构。Option字段的内容和Hello报文中的Option功能相同。

3类LSA中携带的路由前缀信息,以及掩码,可以根据这些参数可以计算区域间的前缀和路由信息。而域内的路由器根据1,2类LSA计算出ABR的位置,最终计算出对应的3类前缀路由。区域间路由的开销是3类LSA的开销加上自身到ABR的开销之和。

如果两个非骨干区域相连,没有区域0,那么两个区域中间的路由器是非ABR路由器。如图2.27,AR1和AR3存在通信问题。

图2.27 非骨干区域之间直接相连的OSPF域

AR1需要知道ABR的Router ID,并且可以通过1,2类LSA计算ABR的位置,但是由于AR2没有任何一个接口是属于区域0,则AR2产生的LSA不会将Bbit位置位(宣称自己是ABR),那么AR1无法计算AR3上的路由,同理AR3亦然。

如果在AR2上配置一个Loopback接口,并规划进入区域0中,那么AR2将成为ABR的角色,并在1类LSA中置位Bbit位,此时AR1和AR3都可以根据区域内LSA计算出到达ABR路由器(AR2)的路由,因此,AR1和AR3才能通信。

如果此时AR3再连接一台路由器,并将接口宣告进入区域0中,那么此时,AR1虽然能够学习区域0中的路由条目,但是AR3旁边的新加路由器属于区域0,无法学习到AR1的路由条目,因为。AR2将3类LSA发送给AR3的时候,AR3无法在将该LSA再转化为3 LSA而发送回骨干区域。区域间的水平分割。

2.27 OSPF区域之间存在多个ABR的思考问题

如图2.27所示,x路由发送给AR2之后,AR2转换为3类LSA给到AR4,再给到AR3,此时AR3学习到AR10给他的1类LSA和AR4给他的3类LSA。AR3选择路径时候,1类LSA优于3类LSA。

y路由发送给AR2,AR2生成3类LSA发送给AR1,再给AR3,此时AR3收到3类LSA,也收到AR4的1类LSA,该3类LSA因为ABR路由器AR3在骨干区域存在邻居,而不会被计算。直接使用1类LSA计算Y路由,此时收到的3类LSA不会进行计算,也就不会再次转换为3类LSA发往区域1。

总结:区域间防环机制

  • OSPF要求所有的非骨干区域必须与骨干区域相连,区域间路由需要经由Area 0中转。
  • 区域间的路由传递不能发送在两个非骨干区域之间,这使得OSPF的区域架构上形成类似星型的拓扑。
  • 1,2类LSA优于3类LSA,区域0中的3类优于非骨干区域的3类LSA。

2.6.3 虚链路

Vlink的用途:

  • 修复不连续的区域0。
  • 逻辑上让没有和区域0相连的非骨干区域和骨干区域相连。
  • 区域0的备用链路。

配置Vlink的限制:

  • Vlink只能在非骨干区域创建
  • Vlink只能穿越一个非骨干区域
  • 特殊区域不能创建Vlink

除非必要不建议使用Vlink,Vlink配置不合理可能会回出现环路。Vlink两端的开销等于虚链路穿越的区域的物理接口的开销之和。

虚链路有环路风险,V-link的特点:

  • 通过虚链路得到的LSA1和LSA2,LSA3,LSA4所计算出的路由,不会转换成虚链路所咋的区域的LSA3,LSA4目的是防环。
  • 无法再虚链路所在的区域对区域0的路由实现汇总。(不满足规则3)
  • 规则3,即存在V-link的ABR得到一条LSA3(非自身产生的),那么该LSA在自身区域0中存在,此时也要求次LSA也必须在V-link穿越的transit区域的LSDB中也存在,否则将不使用该3类LSA进行计算路由。V-link通过1,2类LSA计算路由,在V-link所经过的区域没有对应的3类,也不会计算这些经过V-link泛洪来的1,2类的路由。逻辑推理:传输区域如果没有次3类LSA,那么存在黑洞的可能。
  • 如果存在V-link ABR,通过V-link 传来的1类LSA、3类LSA与Vlink所经过的区域的其他ABR传递来的3类LSA进行比较,在满足条件3的情况下,优选cost小的计算区域的路由。

2.28虚链路产生环路的场景

如图2.28所示,R5上有x路由,转发给R4,R4将三类传递给AR2的区域0数据库,通过虚链路传递给R3,保存到区域0数据库中,此时R3面临两条路径选择,1是R2发送给他的区域0的3类LSA,2是R4发给他的区域2 的3类LSA,最终R3选择区域0的,当数据报文从R3发送给R6、R2之后,R2通过虚链路将数据报文发送给R3,R3又继续发送给R6,从而形成环路。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值