设为首页收藏本站language 语言切换
查看: 2168|回复: 1
收起左侧

[分享] 【HCIE-R&S面试】之OSPF四种特殊区域

[复制链接]
发表于 2020-5-12 15:58:41 | 显示全部楼层 |阅读模式
本帖最后由 武汉誉天小吴 于 2020-5-12 16:01 编辑

上期,我们讲解了OSPF的几种LSA,分别是Router LSA、Network LSA、Network-summary LSA、ASBR-summary LSA、AS-external LSA、NSSA LSA,在知道几种LSA的用途和泛洪范围后,今天我们来了解下OSPF的特殊区域。


再说特殊区域之前,要先回顾下OSPF的区域概念。OSPF区域分为骨干区域(area 0)和非骨干区域,而特殊区域就是由非骨干区域变化得来的,其目的是为了减少区域内的LSDB大小,提高设备的处理性能。其本质就是通过下发缺省路由来代替3类LSA或5类LSA。


OSPF存在四种特殊区域,分别是Stub区域(末梢区域)、Totally-stub(完全末梢区域)、NSSA区域(非纯末梢区域)、Totally-NSSA区域(完全非纯末梢区域),下面具体来介绍每种特殊区域的相关情况。


Stub区域:该区域不允许4类LSA、5类LSA的泛洪,但是允许1类LSA、2类LSA、3类LSA的泛洪,当其他区域有引入的外部路由,Stub区域的ABR会自动下发缺省的3类LSA用于该区域路由器访问其他区域的外部路由。当然特殊区域也会存在问题,以stub区域为例。

1.png


如上图所示,OSPF拓扑存在两个区域,一个是骨干区域(区域0),一个是非骨干区域(area 1)且该非骨干区域配置为了特殊区域(Stub 区域)。AR1在区域0中,AR4在区域1中,AR2和AR3是ABR。AR1和AR2之间的开销是100,AR1和AR3之间的开销是10,AR2和AR4之间的开销是1,AR3和AR4之间的开销是1。因为Stub 区域是不允许4类LSA、5类LSA泛洪的,所以AR4在访问其他区域的外部路由时,需要使用ABR下发的缺省3类LSA计算出的缺省路由(每一个ABR都会产生一条缺省的3类LSA),综合以上条件即AR4上会学到两条等价的缺省路由。


AR1上现由一条外部路由1.1.1.1/32,并且引入进了OSPF。那么当AR4去访问这条外部路由时,会有等价的两台路径即负载分担,那么去往AR2的哪部分流量走到就是次优路径。


解决办法:

①可以在AR2和AR4之间修改OSPF的开销值,让AR4优选AR3的缺省LSA

②可以在AR4上对下一跳为AR3的路由修改权重值(权重缺省值为255,值越小,优先级越高)

③如果允许的情况下可以在AR4上配置静态路由(缺省LSA计算的路由优先级默认为150)


Totally-stub区域:该区域不允许3类LSA、4类LSA、5类LSA泛洪,允许1类LSA、2类LSA、缺省3类LSA泛洪,当其他区域有引入外部路由和其他区域的区域间路由,Totally-stub区域的ABR会下发缺省的3类LSA,用于该区域路由器访问其他区域的外部路由和区域间路由。


NSSA区域:该区域不允许4类LSA、5类LSA的泛洪,但是允许1类LSA、2类LSA、3类LSA、7类LSA的泛洪。NSSA区域可以存在ASBR,即外部路由以7类LSA的形式引入,当7类LSA泛洪进骨干区域和其他非骨干区域时,要转换为5类LSA(实际上7类LSA就是5类LSA的变形,本质上都是外部路由信息)。当其他区域有引入的外部路由,NSSA区域的ABR会自动下发缺省的7类LSA用于该区域路由器访问其他区域的外部路由。

2.png


如上图所示,AR4所在区域为NSSA区域且引入了外部路由4.4.4.4/32。当其他区域的路由器(AR1)访问NSSA引入的外部路由,此时NSSA区域的ABR会讲引入的7类LSA转为5类LSA。如果存在多个ABR,就由Router-id大的路由器执行7转5,并且5类LSA的ADV Router会修改为执行7转5路由器的RID。


由于该5类LSA的ADV Router的改变会隐藏真正ASBR的位置,所以如果直接通过ADV查找外部路由则容易产生次优路径。如图中所示AR3执行7转5操作后,AR1访问4.4.4.4/32就会走开销更大的路径。


解决办法:当7类LSA引入时就会携带转发地址(上期LSA有所描述),7转5后会继续携带转发地址,当其他区域的路由器访问该5类LSA时会优先查找转发地址进行访问,这样就可以避免次优路径。

3.png


如上图所示,AR1引入一条外部路由192.168.1.0/24,由于AR3执行7转5操作时同时使用命令将转发地址清楚。会导致AR2可以在骨干区域学到不携带转发地址的5类LSA,可以在NSSA区域学习到7类LSA,并且AR2修改了到达AR1的开销,所以AR2会使用5类LSA去访问192.168.1.0/24(即骨干区域AR2——AR4——AR3)到达AR3后,AR3去往外部路由要将报文发送给AR2,以此会形成环路。


这个问题是由操作配置引起的,即7转5后不携带转发地址产生的问题。因此得知为避免此类现象,7转5后一定要有转发地址的存在。


哪7类LSA一定携带转发地址吗?


缺省的7类LSA是不携带转发地址的;在NSS区域的ABR上引入的路由是不携带转发地址的。

Totally-NSSA区域:该区域不允许3类LSA、4类LSA、5类LSA的泛洪,但是允许1类LSA、2类LSA、缺省3类LSA、7类LSA的泛洪。该区域也可以存在ASBR,和NSSA区域相同要由ABR执行7转5的操作。当其他区域有引入外部路由和其他区域的区域间路由,Totally-NSSA区域的ABR会下发缺省的3类LSA和缺省的7类LSA,用于该区域路由器访问其他区域的外部路由和区域间路由。



更多课程咨询QQ/微信1746063655



您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-1-31 12:07 , Processed in 0.053533 second(s), 12 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表