一、实验要求:
将area1还原为常规区域,并重发布直连路由进OSPF;将area2配置为NSSA。
二、实验步骤:
1、R1的配置修改,创建一个Loopback接口,将area1恢复为常规区域,同时将直连路由注入到OSPF。1.1.1.1/32这条路由是我们接下去需观察的目标路由之一,如下图:
2、R2的配置如下:
完成上述两个配置修改后,查看R4的路由表,如下图:
从R4的路由表可以看出,R4此时能够学习到区域间的路由10.1.12.0/24、10.1.23.0/24,以及域外路由1.1.1.1/32。
3、把area2配置为NSSA,如下图:
三、完成area2配置成NSSA后,在不同的路由器上查询路由表:
当一个区域被配置为NSSA(非完全末梢区域),则该区域将不再允许来自骨干区域的4、5类LSA泛洪,但是允许该区域内的路由器注入外部路由,这些外部路由被重发布进NSSA后以7类LSA描述和泛洪,这些7类LSA由NSSA的ABR执行转换变成5类LSA后进入骨干区域:
所以,当area2被配置为NSSA后,R3将不能再把4、5类LSA泛洪到area2中,因此R1引入的外部路由1.1.1.1/32不会被注入到area2中。当然为了让NSSA内的路由器到达AS外部,R3自动下发一条7类LSA描述的缺省路由。R3不会阻挡3类LSA进入NSSA,所以R4依然能够学习到其他区域的路由。
另一方面,NSSA允许本区域内的路由器执行路由重发布动作,这一点与Stub区域存在较大的区别。R4上执行路由重发布动作,将4.4.4.4/32这条外部路由引入OSPF,这条外部路由被引入后是以7类LSA的形式在NSSA内泛洪,并且不允许直接进入骨干区域area0。
另一方面,NSSA的ABR R3会把7类LSA转换成5类LSA,然后在骨干区域中泛洪,因此R1、R2都能学习到4.4.4.4/32的外部路由。
综上,NSSA的使用场景是:这个区域不希望学习到其他区域重发布进OSPF的域外路由,但是该区域自己依然有注入域外路由的需求或能力。
R4的路由表中,已经看不到1.1.1.1/32这条AS外部路由了,但是R4依然是能够访问1.1.1.1/32的,因为NSSA的ABR R3为NSSA下发了一条7类的缺省路由,通过这条缺省路由,R4依然能够穿越骨干区域访问AS外部网络。
R4的LSDB中已经没有5类LSA了,其自身重发布进OSPF的直连路由4.4.4.4/32及10.1.34.0/24以7类LSA的形式被创建。另外,R3还向NSSA中放入一条7类LSA的0.0.0.0/0缺省路由。
R3的路由表中,有一条1.1.1.1/32的外部路由,这是通过5类LSA计算得出的。还有一条4.4.4.4/32的外部路由,这是通过7类LSA计算得出的(因此在路由表中的标记为O_NSSA)。当然R3作为NSSA 的ABR,是不允许把7类LSA直接注入到骨干区域的,而是会执行一个7转5的动作,把7类LSA转换成5类LSA,这是因为7类LSA只能存在于NSSA中。
R2的路由表中,有两条AS外部路由,分别是1.1.1.1/32和4.4.4.4/32,其中1.1.1.1/32是由R1引入的,而4.4.4.4/32是经由R3执行7类LSA转5类LSA后引入的。