梅利333

从无到有,自有至精

导航

OSPF stub,totally stub , NSSA , totally nssa

Ospf STUB   totally stub    NSSA ,totally NSSA

 

在上一节笔记中,已经知道OSPF的多域,是在什么情况下要进行划分,

划分完区域后,问题也随之而来,对于OSPF的诸多区域,是不是都要知道所有的网络拓扑呢?

全都要更新LSA吗?

当然不是,

之所以要对OSPF划分区域,除了方便进行管理,其最大的好处就是针对于某一个区域进行优化。

 

这里指的优化有很多种,

今天咱们提到的特殊区域,就是针对于设备性能进行优化,假设一个OSPF的自制系统中有两个区域,每个区域中有10router ,其中共有500LSA,如果有一个改动,那就要改变全部,显然这不是我们想要的,

 

处于一个网络拓扑的末梢,可以为的将其定义为末梢区域,也叫末节区域STUB

 

STUB的特性

 1 不允许类型4-5的信息传播

 2 stub区域不可以有ASBR

 3 虚拟链路不可以穿过STUB区域

 4 STUB区域的路由器和其它区域的路由器无法建立邻居 hello包中的E=0,常规为1(这个后面的抓包分析)

 

STUB区域不会传播 45类的LSA,

如图

 

 在此图中,

R1ASBR

连接着 10.0.0.1 20.0.0.1 30.0.0.1 模拟rip协议,所以他的角色为ASBR

R2-R3ABR

 

正常情况下,不设置任何特殊区域,R4上可以看到O E2的路由条目,并且在链路状态数据库中也能够看到5类的LSA更新

这是R4上查看的结果,有三条,正是RIP进来的

 

 

现在根据 需求,将AREA2 配置成STUB区域,拒绝类型5LSA

 配置:

配置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上还能不能持到类型5LSA 以及路由表

 

 

 果然没有了,O E2,但是好像多了些什么

是的没错 O*IA 这个是3类的汇总默认路由,其目标指向的是这个STUB区域的ABR

因为不管怎么样,只要是走出该区域就必然要经过这个ABR ,所以系统自动生成一个缺省路由 并以O*IA显示。

那在链路状态数据库中呢?

 

 

 

当然也是看不到5类的LSA

 

这就是STUB区域,它可以减少该区域路由表的条目,并且不去更新外部区域的网络拓扑,把所有的重任都交给了这个区域的ABR路由器,(这也再次证明了为什么在ABR选择的时候要找一些性能优的,至少要比域内路由器性能强)

 

 

 

因为在它上面,肯定是什么都有的,照单全收

 


 

Totally stub  完全末梢区域

这个比末梢还狠,连域间通信的3LSA也阻挡掉,只留一条默认给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的区域)

 

这是一个真的很特别的区域,他不会学习其它外部系统的协议,

 5LSA不可以在NSSA中传播

 NSSA区域内泛洪的只有1.2.3.4.7 LSA

 自己区域的7LSA是不会传到其它区域的,如果想要传递那必须经过 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区域的条目如果想要被传出去的话,就必然要经过转换, 75

 

 

 这就是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在邻居重建的过程中会有一个标识选项,这个标识为NNSSA

=0时代表不是NSSA区域, =1时,代表是NSSA区域,如果两端一致就可以建立邻居关系

如果两端 不一样,那么对不起,建立不起来

普通区域

 

 

 NSSA区域

 

 

STUB区域也是同样的道理,只不过是标记的地方不一样,

 

 起初已经建立好了邻接关系,但是由于设置了stub区域,被强制中断,然后再重新建立

STUB区域是标记在hello包中的,  

OptionE=0stub区域

         E=1为常规区域,

同样的道理,两侧不一样,也是无法建立关系的,正因为如此,stub区域的设备无法和其它常规区域的接口建立邻接关系。

 

在常规情况下是什么样的呢?  这个时候E=1,

 

 

以上就是末梢,完全末梢,非纯末梢,完全非纯末梢区域

 

 

----------------------------------------------------------

CCIE成长之路 --- 梅利

 

posted on 2020-07-14 22:39  梅利333  阅读(1697)  评论(0编辑  收藏  举报