OSPF stub,totally stub , NSSA , totally nssa
Ospf STUB totally stub NSSA ,totally NSSA
在上一节笔记中,已经知道OSPF的多域,是在什么情况下要进行划分,
划分完区域后,问题也随之而来,对于OSPF的诸多区域,是不是都要知道所有的网络拓扑呢?
全都要更新LSA吗?
当然不是,
之所以要对OSPF划分区域,除了方便进行管理,其最大的好处就是针对于某一个区域进行优化。
这里指的优化有很多种,
今天咱们提到的特殊区域,就是针对于设备性能进行优化,假设一个OSPF的自制系统中有两个区域,每个区域中有10台router ,其中共有500条LSA,如果有一个改动,那就要改变全部,显然这不是我们想要的,
处于一个网络拓扑的末梢,可以为的将其定义为末梢区域,也叫末节区域STUB
STUB的特性
1 不允许类型4-5的信息传播
2 stub区域不可以有ASBR
3 虚拟链路不可以穿过STUB区域
4 STUB区域的路由器和其它区域的路由器无法建立邻居 hello包中的E=0,常规为1(这个后面的抓包分析)
STUB区域不会传播 4类5类的LSA,
如图
在此图中,
R1为ASBR
连接着 10.0.0.1 20.0.0.1 30.0.0.1 模拟rip协议,所以他的角色为ASBR
R2-R3为ABR,
正常情况下,不设置任何特殊区域,R4上可以看到O E2的路由条目,并且在链路状态数据库中也能够看到5类的LSA更新
这是R4上查看的结果,有三条,正是RIP进来的
现在根据 需求,将AREA2 配置成STUB区域,拒绝类型5的LSA
配置:
配置STUB区域,要在STUB区域的ABR,以及域内所有设备上都配置
r4(config)#router ospf 1
r4(config-router)#area 2 stub
r3(config)#router ospf 1
r3(config-router)#area 2 stub
就只有这两条命令,确切的说是一条,命令不难,最主要的是你要理解这里面的原理,逻辑
现在来验证一下,看在R4上还能不能持到类型5的LSA 以及路由表
果然没有了,O E2,但是好像多了些什么
是的没错 O*IA 这个是3类的汇总默认路由,其目标指向的是这个STUB区域的ABR,
因为不管怎么样,只要是走出该区域就必然要经过这个ABR ,所以系统自动生成一个缺省路由 并以O*IA显示。
那在链路状态数据库中呢?
当然也是看不到5类的LSA了
这就是STUB区域,它可以减少该区域路由表的条目,并且不去更新外部区域的网络拓扑,把所有的重任都交给了这个区域的ABR路由器,(这也再次证明了为什么在ABR选择的时候要找一些性能优的,至少要比域内路由器性能强)
因为在它上面,肯定是什么都有的,照单全收
Totally stub 完全末梢区域
这个比末梢还狠,连域间通信的3类LSA也阻挡掉,只留一条默认给stub区域内的路由器
我们来看一下
配置:
在stub配置的基础上,将ABR再进行一下配置升级,
r3(config)#router ospf 1
r3(config-router)#area 2 stub no-summary
此时再查看一下数据库,只有类型2 的了,而3类只有一个特殊,就是0.0.0.0,全都被拟挡在外面了,
查看路由表看一下
除了直连的,真的剩下一个3类的缺省路由了,
需要注意的是,这里的干净,阻挡,并不是不让它通,
而只是为了让STUB区域更加的安静,更加瘦,不受外界因素的干扰。
NSSA区域 非纯末梢区域
前面提到过,STUB区域是不可以有ASBR的,但是一些特殊情况肯定还是会发生的,
比如 就真的引入了外部路由,怎么办呢?那这个区域就得设置成NSSA区域,
NSSA,非纯末梢区域(可以允许ASBR的区域)
这是一个真的很特别的区域,他不会学习其它外部系统的协议,
5类LSA不可以在NSSA中传播
NSSA区域内泛洪的只有1.2.3.4.7 类LSA
自己区域的7类LSA是不会传到其它区域的,如果想要传递那必须经过 ABR进行转换成5类的LSA,才可以,
如图
Area1现在将他配置成NSSA区域
在R1上引入外部协议rip ,
AREA2 请注意,这时不是stub区域,
配置,和STUB区域相同,要在本区域内所有设备上进行配置,包括最主要的ABR
r1(config)#router ospf 1
r1(config-router)#area 1 nssa
r2(config)#router ospf 1
r2(config-router)#area 1 nssa
邻居会断开,然后再重新建立
验证一下
在R1上看路由表,数据库表,以及摘要
明细
分别是 10.0.0.0 20.0.0.0 30.0.0.0 他们都是7类的,也就是外部协议的
配置好以后,就要到NSSA区域的ABR上看一下
同样在ABR上看也能看到这三条LSA,但是要注意的是AREA 1 ,是在为个区域中
那在area 0 中还有吗?
Area 0 里是没有7类的,因为不可能传播出去的
之前提到过,NSSA区域的条目如果想要被传出去的话,就必然要经过转换, 7转5
这就是NSSA区域中R1进引入的外部协议,三个网段
在R3上看一下,能看到什么路由条目呢~
同样是可以看到这三个条目的,说明被转换出来了,显示为O E2
具体是几类的呢~?
还是5类的,
那NSSA区域,为非纯末梢区域,只是加入了ASBR,但是其STUB区域的特性应该还在,
我们来验证一下,在R4 上引入了RIP协议 40.0.0.0 50.0.0.0 两个网段
看NSSA 的ABR,和NSSA的域内路由器显示的是否一样
NSSA-ABR
在R2上是可以看到这两个条目的,
而在R1上则什么都看不到的
那有没有默认路由呢?
同样也是没有的,
注意,注意,注意,这里特别注意一下
不知道是官方文档问题还是其它什么原因,你用刚才的方式去配置NSSA,就是没有默认路由,这是不对的,
应该是这样,在NSSA区域的ABR设备上做
r2(config-router)#area 1 nssa default-information originate
只有这样,才会为NSSA区域后的设备一并下放默认路由
totally nssa
还有一种情况totally nssa
完全非纯末梢区域
配置方法和totally stub相同,只要在ABR上配置即可
r2(config-router)#area 1 nssa no-summary
此时的R1上再查看路由表,这时这条缺省出来了
那再去ping 40.0.0.1的外部路由呢?肯定是有的了
OSPF在邻居重建的过程中会有一个标识选项,这个标识为N(NSSA)
=0时代表不是NSSA区域, =1时,代表是NSSA区域,如果两端一致就可以建立邻居关系
如果两端 不一样,那么对不起,建立不起来
普通区域
NSSA区域
STUB区域也是同样的道理,只不过是标记的地方不一样,
起初已经建立好了邻接关系,但是由于设置了stub区域,被强制中断,然后再重新建立
STUB区域是标记在hello包中的,
Option中E=0为stub区域
E=1为常规区域,
同样的道理,两侧不一样,也是无法建立关系的,正因为如此,stub区域的设备无法和其它常规区域的接口建立邻接关系。
在常规情况下是什么样的呢? 这个时候E=1,
以上就是末梢,完全末梢,非纯末梢,完全非纯末梢区域
----------------------------------------------------------
CCIE成长之路 --- 梅利