OSPF的特殊区域是一种ospf的优化手段,当路由器无法承载大量的LSA的时候,就减少LSA的数量来优化。
===================
什么叫做LSA:链路状态通告信息,存放在LSDB数据库中,通过LSU报文进行传输。
当一台路由器的接口宣告进了OSPF进程中,那么这个接口的信息(IP 掩码 邻居信息 等等)就会生成链路状态(LS)
1、OSPF域内计算
1类:用来描述路由器自身的直连状态,同时1类LSA还描述了路由器自身的角色(ABR ASBR vlink)
2类:当邻居互联链路的网络类型为广播或者NBMA时,使用DR所在接口的IP信息形成伪节点,使用2类LSA来描述伪节点信息(树干,叶子)
2、OSPF域间计算
3类:ABR把域内1类和2类LSA计算出的最优路由以3类LSA形式在其他直连区域内进行传递
域间防环原则:
a.在区域设计上,非骨干区域必须与骨干区域相连,形成逻辑上的星型拓扑,且无环拓扑
b.ABR不会将非骨干区域的3类LSA传递到骨干区域;若ABR在骨干区域存在邻接关系将不会计算非骨干区域的3类LSA;若ABR在骨干区域不存在邻接关系则会计算非骨干区域的3类LSA。
c.不论cost,1类优于3类。
3、OSPF外部路由
4类:当ABR收到ASBR置位的1类LSA后,会将1类转4类传递到其他直连区域,用于帮助其他区域的路由器计算5类LSA。
5类:当执行了引入动作之后,路由表中的路由条目会以5类LSA的形式存放在LSDB中,并且在整个OSPF自治域内进行传递,不基于区域。
==========================================
在非骨干区域中,又将区域分为以下4种特殊区域:
1、Stub区域: 末节区域
2、完全Stub区域: 完全末节区域
3、NSSA区域: 非完全末节区域
4、完全NSSA区域: 完全非完全末节区域
stub区域
1、当区域1配置为stub区域后,发出的hello包中,option字段中的Ebit置位为0,代表该区域没有处理外部路由的能力,
换句话说:这个区域无法泛洪和传递5类LSA,由于区域1失去了处理外部路由的能力,因此ABR将不再向该区域传递4类LSA。
总结一下:ABR不会向stub区域内传递4类和5类LSA。
由于STUB区域内没有了4类和5类LSA,没有办法计算外部路由的明细,因此ABR会产生一条缺省3类LSA,
让stub区域内的路由器可以学习到一条缺省路由,用于访问外部路由。
2、如果末节区域存在多台ABR设备,每个ABR都会产生一条3类缺省LSA,那么区域内的IR路由器机会负载分担,由于stub区域内没有4类和5类LSA,
一旦负载,那么就会缺失对末节区域外部的cost感知能力,那么就会存在次优路径风险。
解决办法:(人为干预)
a.针对stub区域内IR路由器接口改变cost值来人为干预
b.在ABR调整3类缺省路由的种子度量值
AR6:
area 0.0.0.1
network 16.1.1.6 0.0.0.0
stub
default-cost 2
c.在IR路由器上针对下一跳修改权重值
ospf 1 router-id 1.1.1.1
nexthop 12.1.1.2 weight 1
权重值默认每条路由为255,数值越小越优先,如果没有配置权重值,默认为255.取值范围为1~254
完全末节区域
1、完全末节区域实在末节区域的基础上,将该区域内的3类域间路由过滤掉。
2、完全末节区域只保留该区域的1类和2类LSA,以及ABR下发的3类缺省LSA。
3、完全末节区域继承了末节区域的所有特性,包括多ABR时次优路径风险问题,解决方法完全一致。
配置:
当把一个非骨干区域配置为末节区域时,凡是在这个区域中的路由器,都要在区域视图下敲stub
ospf 1 router-id 2.2.2.2
area 0.0.0.1
network 12.1.1.2 0.0.0.0
stub
完全末节区域配置:在ABR的区域视图下敲stub no-summary,IR路由器的区域视图下只敲stub即可。
area 0.0.0.1
network 16.1.1.6 0.0.0.0
stub no-summary
NAAS区域
对于NSSA区域咱们主要研究两个事情:
1、NSSA区域说白了也是一个末节区域,也要做LSA优化
1.1 ABR不会向NSSA区域内泛洪4类和5类LSA。
1.2 ABR会向NSSA区域内产生一条7类缺省LSA,帮助NSSA内部路由器计算出缺省路由下一跳指向ABR路由器,访问外部路由
2、NSSA区域引入了外部路由,需要让其他区域的路由器学习到这个外部路由
2.1 NSSA区域的ABR会将7类LSA转换为5类LSA,传递到其他直连区域内,方便其他区域的路由器学习到该外部路由
2.2 7类只能在NSSA区域内泛洪,不能传递到其他区域
2.3 ABR具有将7类LSA转换为5类LSA的能力,因此具备ASBR的功能,就会将自身1类LSA的ASBR置位
3、当NSSA区域存在多ABR时:
3.1 多ABR时,由router-id大的ABR路由器执行7转5操作
3.2 router-id小的ABR路由器也会具备7转5的能力,当router-id大的ABR路由器宕机时,需要承担备份作用
3.3 多ABR时,会同时产生7类缺省LSA,计算出的缺省路由可能会负载分担,那么就会产生次优路径风险(同stub完全一样)
解决办法:<1>更改出接口的cost值 <2>更改下一跳权重值
4、关于7类LSA的传递问题:
在7类LSA的option字段中会有P置位。
如果P置位将在ABR路由器执行7转5操作;如果P没有置位,将不会被执行7转5操作。
5、7类LSA中的FA地址问题:
5.1 FA地址和5类LSA的FA地址作用相同,都是用来优化链路的
5.2 7类LSA的FA地址不会为空(7类缺省除外)
如果场景和5类LSA相同,那么FA地址会使用外部路由的下一跳作为FA地址。否则:
如果场景和5类不同:则取值为路由器最大的环回接口地址作为7类LSA的FA地址。(此环回接口必须宣告进OSPF)
如果环回接口没有宣告进OSPF,则使用第一个UP的物理接口IP地址作为7类FA地址。