其他分享
首页 > 其他分享> > 3分钟完全理解0SPF多区域间的概念

3分钟完全理解0SPF多区域间的概念

作者:互联网

今天跟大家对于NSSA区域的双ABR 7转5的研究
----思科对于NSSA区域的优化

学习OSPF大家都知道它是层次化的网络设计架构模型,简单分为两层,中间的backbone(area 0),规则区域连在backbone上,主要的好处是方便管理、控制,在区域边界做汇总、过滤等操作,从而达到减小路由表;在路由在flapping的时候,减少它的泛洪范围等。

不过OSPF也提供了特殊区域,做了自动的过滤,下面我们来聊一聊特殊区域中NSSA区域的LSA-7转LSA-5的问题。

大家知道OSPF的NSSA区域实际上自动过滤了其他区域产生的外部LSA(LSA-5),而允许NSSA本区域产生自己的外部LSA,为了区别NSSA本区域产生的外部LSA和其他区域产生的外部LSA,所以设计了LSA-7。

但是这些外部的网络,area 0和其他区域也要想访问,就要转换成它们认识的类型,所以在NSSA区域内部传递的外部LSA-7,经过ABR传递到area 0或其他区域,需要转换成LSA-5。

3分钟完全理解0SPF多区域间的概念

下面我们来讨论当NSSA双ABR的时候LSA-7转LSA-5的时候有什么问题。拓扑如下:

3分钟完全理解0SPF多区域间的概念
R1、R2、R4互联链路属于NSSA区域area 1,R2、R3、R4互联链路属于area 0。R1上有一个lo1(11.11.11.0/24)重分布进OSPF。以上设备配置如下:

R1的配置:
3分钟完全理解0SPF多区域间的概念

R2的配置:
3分钟完全理解0SPF多区域间的概念

R3的配置:
3分钟完全理解0SPF多区域间的概念

R4的配置:
3分钟完全理解0SPF多区域间的概念

因为将R1的lo1重分布进OSPF后,R1会产生LSA-7,这个LSA-7会在area 1中泛洪,R2和R4都会收到,但是只有R4会进行LSA-7转LSA-5(RID大的ABR进行7转5)。
3分钟完全理解0SPF多区域间的概念

所以这时在R3上只能看到R4发过来的关于11.11.11.0/24的LSA-5。

3分钟完全理解0SPF多区域间的概念
学到这里,大多数初学的同学都会记笔记:RID大的ABR进行7转5。

但只有一部分同学会去探讨为什么会这样呢?

因为LSA-7在产生的时候,会自动加上Forward-address。FA地址根据IOS的不一样,可能稍微有些区别,但是不影响效果。

一般等于NSSA区域内部的ASBR上第一个或最后宣告进OSPF的loopback口的地址,或者是第一个或最后一个宣告进OSPF的物理接口的IP(当ASBR没有loopback属于OSPF的时候),当然最好是第一个宣告进去的,这样不会造成LSA过多的泛洪。

R1上显示:
3分钟完全理解0SPF多区域间的概念

而NSSA区域的ABR在进行LSA-7转LSA-5的时候默认会把这个FA地址携带进area 0或其他规则区域。

在R3上显示:
3分钟完全理解0SPF多区域间的概念

所以这时area0区域的设备或其他区域的设备可以通过LSA-1和LSA-2的帮助计算出去往NSSA区域ABR的距离,再加上通过LSA-5中所携带的FA地址相关的LSA-3而计算出本路由器去往NSSA区域的ASBR的FA地址的距离。

这个值就是所谓的forward-metric,本路由器去往真实ASBR的FA的距离。

3分钟完全理解0SPF多区域间的概念
3分钟完全理解0SPF多区域间的概念

所以OSPF的设计者觉得不管是几个ABR进行LSA-7转LSA-5,都能让area 0的设备找到去往NSSA区域ASBR的最优路径,那么由一台ABR进行LSA-7转LSA-5就可以啦。(我猜测他们是这么想的,嘿嘿嘿)

后期又提供了一个suppress-fa(抑制FA)的方法,也就是当LSA-7转LSA-5的时候,不要携带FA地址,这样可以通过ABR的RID来控制流量的走向。

3分钟完全理解0SPF多区域间的概念
3分钟完全理解0SPF多区域间的概念

以上讲的内容,思科、华为实际上都是一样的,学习到这里后,肯定觉得OK,NSSA区域就是这样的操作,我们记住它的特性就OK了。

实际上想想这样的方式好吗,当NSSA区域有2个ABR的时候,只有一个ABR进行LSA-7转LSA-5,在我们这个图上R3要访问11.11.11.0/24网络的时候,会找到最优路径。

但是当这个ABR down掉以后,多长时间能收敛呢?

我们来做这么一个实验,将R4重启后,看R3这台设备多长时间可以收到新的从R2传过来的相关于11.11.11.0/24的LSA-5。
(在R3上通过debug ip ospf flooding命令查看)

R4 重启的时间:

3分钟完全理解0SPF多区域间的概念

R3上收到新LSA的时间
3分钟完全理解0SPF多区域间的概念

可以看到R4的重启时间为15:58:05;R3接收到R4发来的age=3600的LSA-1为15:58:05;

收到R2传过来的11.11.11.0/24 LSA-5并放入database数据库的时间为15:58:11,中间间隔了6s,也就是说R3至少6s后才能收敛,将去往11.11.11.0/24网络的数据包送给R2。

对于高端路由器转发引擎和控制引擎分开,NSF没啥大问题。但是有些设备不行,这样会造成丢包。

思科在新的IOS中增加了一个feature,可以让所有NSSA区域的ABR都进行LSA-7转LSA-5。

3分钟完全理解0SPF多区域间的概念
3分钟完全理解0SPF多区域间的概念

在R3上显示:
3分钟完全理解0SPF多区域间的概念

这样不管哪个ABR有问题后,area 0或其他区域内部的路由器都能更加快速的收敛,个人觉得这是个非常不错的改进。

创作:http://www.ie-lab.cn/

标签:R4,区域间,LSA,0SPF,R3,NSSA,分钟,ABR,区域
来源: https://blog.51cto.com/14248289/2374097