OSPF的NSSA区域原理与配置.docx
- 文档编号:6430650
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:9
- 大小:42.50KB
OSPF的NSSA区域原理与配置.docx
《OSPF的NSSA区域原理与配置.docx》由会员分享,可在线阅读,更多相关《OSPF的NSSA区域原理与配置.docx(9页珍藏版)》请在冰豆网上搜索。
OSPF的NSSA区域原理与配置
OSPF的NSSA区域原理与配置
纵观路由技术的学习与实践,OSPF路由协议在因特网的发展历程上正起着越来越重大的作用。
而NSSA则是在该协议发展过程中产生的一种新的属性。
而关于NSSA区域的理解,一直是广大网络爱好者的心头之痒。
这篇文章,从NSSA区域的产生、基本原理和配置实例三个方面,对这个特殊的OSPF区域做以简要的介绍。
一:
OSPF协议与区域
大家知道,路由协议推崇的链路状态算法,虽然彻底的解决了路由自环问题,但这种算法本身也有很多固有的缺陷:
每台路由器都必须保存整个网络的拓扑结构。
这样,一旦出现拓扑变化,就要进行新的SPF计算。
这种复杂的SPF算法,对CPU和内存的占用是相当大的。
而且,以前流行过的大多数路由协议都存在如下缺陷:
没有从协议本身反映出网络的层次结构。
因为实际应用中的一个网络是由各种级别的路由器组成的,有核心层的骨干路由器、汇聚层的高端路由器、接入层的低端路由器。
这些路由器承担的任务不同,处理性能也不一样。
但在路由协议中,所有的路由器都要完成几乎是相同的工作:
发送已知的路由给邻居路由器,根据从邻居路由器获得的路由信息计算本地路由表。
虽然每台路由器的接口数量不同,但最终计算得来的路由表的规模基本是一样的。
为了彻底解决上述问题,OSPF提出了区域的概念(AREA),区域是将所有运行OSPF的路由器人为的分成不同的组,以区域ID来标示。
在区域内路由计算的方法不变,由于划分区域之后,每个区域内的路由器不会很多,所有上述缺陷表现得并不严重,带来的后果可以忽略不计。
这样,上述的缺点就被成功的规避了。
实际上,区域概念的提出意义远不只这些,在划分为区域之后,网络的拓扑结构就与路由协议之间存在了一种对应关系,核心和高端的路由器由于处理能力强,可以规划在骨干区域之中。
因为骨干区域的路由器要承担更多的路由计算任务。
每个单独的区域实际上就是一个独立于网络中其他区域的系统,可以在不同的区域中试行不同的路由策略,使组网规划更为灵活方便。
实际上OSPF协议在当今的网络中广为流行,不是因为它使用了无环路的链路状态算法,而是因为它提出了区域的概念。
二:
OSPF的STUB区域
STUB区域就是一个对区域概念的最典型的应用。
STUB区域的设计思想在于:
在划分了区域之后,非骨干区域中的路由器对于区域外的路由,一定要通过ABR(区域边界路由器)来转发,或者说对于区域内的路由器来说ABR是一个通往外部世界的必经之路。
既然如此,对于区域内的路由器来说,就没有必要知道通往外部世界的详细的路由了,代之以由ABR向该区域发布一条缺省路由来指导报文的发送。
这样在区域内的路由器中就只有为数不多的区域内路由和一条指向ABR的缺省路由。
而且无论区域外的路由如何变化,都不会影响到区域内路由器的路由表。
由于区域内的路由器通常是由一些处理能力有限的低端路由器组成,所以处于STUB区域内的这些低端设备既不需要保存庞大的路由表,也不需要经常性的进行路由计算。
有了STUB属性之后,网络的规划更符合实际的设备特点。
以上描述的只是STUB区域的设计思想,在协议文本中,对STUB区域的精确定义是:
STUB区域一定是非骨干区域和非转换区域(可以配置虚连接的区域),并且在该区域中不可传递Type5类型的LSA。
因为协议的设计者认为路由表中的绝大部分路由均是来自自治系统外部的引入的路由。
(由于OSPF是链路状态算法的路由协议,LSA就是用来描述网络拓扑结构的一种数据结构。
在OSPF中将LSA分为5类:
type1、2两种用来描述区域内的路由信息;type3用来描述区域间的路由信息;type4、5用来描述自治系统外部的路由信息。
)
需要注意的是定义中对于过滤TYPE5类型的LSA使用的描述语言是“不可传递”,这就意味着不仅区域外的ASE(自治系统外部)路由无法传递到STUB区域中,同时STUB区域内部的ASE路由也无法传递到本区域之外。
换一句更通俗的话来描述:
STUB区域内的路由器都不可引入任何外部的路由(包括静态路由)。
这样的定义未免太过严厉了。
因为在实际的组网中,并不是所有的设备都会运行OSPF协议。
例如:
用户拨号上网时使用的接入服务器就需要连接路由器上因特网,但通常接入服务器上并不支持(也不需要)OSPF协议,而是通过配置静态路由实现路由功能。
很多时候ISP为了保密或易于管理的需要,在连接用户侧的路由器时使用静态路由。
总之:
在一个网络中所有的路由器上都配置OSPF,而不使用静态路由的情况几乎是不存在的。
——也就是说STUB区域的适用条件也是不存在的。
三:
特殊的STUB--NSSA区域
STUB区域虽然为合理的规划网络描绘了美好的前景,但她在实际的组网中又不具备可操作性,未免遗憾。
但此时的OSPF协议已经基本成型,不可能再做大的修改。
为了弥补缺陷,协议设计者提出了一种新的概念NSSA,并且作为OSPF协议的一种扩展属性单独在RFC1587中描述。
NSSA需要完成如下任务:
自治系统外的ASE路由不可以进入到NSSA区域中,但是NSSA区域内的路由器引入的ASE路由可以在NSSA中传播并发送到区域之外。
即:
取消了STUB关于ASE的双向传播的限制(区域外的进不来,区域里的也出不去),改为单向限制(区域外的进不来,区域里的能出去)。
由于是作为OSPF标准协议的一种扩展属性,应尽量减少与不支持该属性的路由器协调工作时的冲突和兼容性问题。
为了解决ASE单向传递的问题,NSSA中重新定义了一种LSA——Type7类型的LSA,作为区域内的路由器引入外部路由时使用,该类型的LSA除了类型标识与Type5不相同之外,其它内容基本一样。
这样区域内的路由器就可以通过LSA的类型来判断是否该路由来自本区域内。
但由于Type7类的LSA是新定义的,对于不支持NSSA属性的路由器无法识别,所以协议规定:
在NSSA的ABR上将NSSA内部产生的Type7类型的LSA转化为Type5类型的LSA再发布出去,并同时更改LSA的发布者为ABR自己。
这样NSSA区域外的路由器就可以完全不用支持该属性。
从上述描述可以看出:
在NSSA区域内的所有路由器必须支持该属性(包括NSSA的ABR),而自治系统中的其他路由器则不需要。
由于NSSA是由STUB区域的概念改进得来,所以她的名字叫做:
"not-so-stubby"area,本意是:
不是那么STUB的区域。
四:
STUB区域的相关配置
NSSA的原理不复杂,配置更简单,相关命令只有一条:
[Router-ospf]
areaarea-idnssa[default-route-advertise][no-import-route][no-summary]
area-id:
是需要配置成NSSA的区域的区域号。
“[]”内的参数只有在该路由器是ABR时才会生效。
关键字default-route-advertise用来产生缺省的Type-7LSA,应用了该参数后,在ABR上无论路由表中是否存在缺省路由0.0.0.0,都会产生Type-7LSA缺省路由;而在ASBR上当路由表中存在缺省路由0.0.0.0,才会产生Type-7LSA缺省路由。
关键字no-import-route用在ASBR上,使得OSPF通过import-route命令引入的路由不被通告到NSSA区域。
如果NSSA的路由器既是ASBR也是ABR,一般选用该参数选项。
为了进一步减少发送到NSSA区域中的链路状态发布(LSA)的数量,可以在ABR上配置no-summary属性,禁止ABR向NSSA区域内发送summary_netLSAs(Type-3LSA)。
配置该参数后,ABR会将Type3类型的LSA也过滤掉,即:
NSSA区域中也不会出现区域间路由,路由表进一步精简。
既然有缺省路由,那么其他指向区域外的具体路由都是没有必要的了。
该参数推荐配置。
即:
如果路由器只是一台区域内路由器,只需配置areaarea-idnssa即可。
如果是ABR,根据实际需要,选择添加三个可选参数。
五:
STUB区域配置实例
先看一下实验拓扑图:
实验之前,先做好五个路由器的预配置,这是必不可少的。
第一步R1的预配置
R1(config)#intlo0
R1(config-if)#ipadd1.1.1.1255.255.255.0
R1(config-if)#ints2/1
R1(config-if)#ipadd12.0.0.1255.255.255.0
R1(config-if)#nosh
R1(config-if)#ints2/2
R1(config-if)#ipadd15.0.0.1255.255.255.0
R1(config-if)#nosh
R1(config-if)#exit
第二步R2的预配置
R2(config)#intlo0
R2(config-if)#ipadd2.2.2.2255.255.255.0
R2(config-if)#ints2/1
R2(config-if)#ipadd12.0.0.2255.255.255.0
R2(config-if)#nosh
R2(config-if)#ints2/2
R2(config-if)#ipadd23.0.0.2255.255.255.0
R2(config-if)#nosh
R2(config-if)#exit
第三步R3的预配置
R3(config)#intlo0
R3(config-if)#ipadd3.3.3.3255.255.255.0
R3(config-if)#ints2/1
R3(config-if)#ipadd23.0.0.3255.255.255.0
R3(config-if)#nosh
R3(config-if)#exit
第四步R4的预配置
R4(config)#intlo0
R4(config-if)#ipadd4.4.4.4255.255.255.0
R4(config-if)#ints2/2
R4(config-if)#ipadd45.0.0.4255.255.255.0
R4(config-if)#nosh
R4(config-if)#exit
第五步R5的预配置
R5(config)#intlo0
R5(config-if)#ipadd5.5.5.5255.255.255.0
R5(config-if)#ints2/1
R5(config-if)#ipadd15.0.0.5255.255.255.0
R5(config-if)#nosh
R5(config-if)#ints2/2
R5(config-if)#ipadd45.0.0.5255.255.255.0
R5(config-if)#nosh
好了,可以开始OSPF的相关配置了:
第一步配置R1、R2、R3、R4、R5的OSPF协议
R1(config)#routerospf100
R1(config-router)#router-id1.1.1.1
R1(config-router)#network1.1.1.10.0.0.0area0
R1(config-router)#network12.0.0.10.0.0.0area0
R1(config-router)#network15.0.0.10.0.0.0area0
R1(config-router)#exit
R2(config)#routerospf100
R2(config-router)#router-id2.2.2.2
R2(config-router)#network2.2.2.20.0.0.0area0
R2(config-router)#network12.0.0.20.0.0.0area0
R2(config-router)#network23.0.0.20.0.0.0area32
R2(config-router)#exit
R3(config)#routerospf100
R3(config-router)#router-id3.3.3.3
R3(config-router)#network3.3.3.30.0.0.0area32
R3(config-router)#network23.0.0.30.0.0.0area32
R3(config-router)#exit
R4(config)#routerospf100
R4(config-router)#router-id4.4.4.4
R4(config-router)#network4.4.4.40.0.0.0area54
R4(config-router)#network45.0.0.40.0.0.0area54
R4(config-router)#exit
R5(config)#routerospf100
R5(config-router)#network5.5.5.50.0.0.0area0
R5(config-router)#network15.0.0.50.0.0.0area0
R5(config-router)#network45.0.0.50.0.0.0area54
R5(config-router)#exit
第二步配置Area32为NSSA区域
R2(config)#routerospf100
R2(config-router)#area32nssa
R2(config-router)#exit
R3(config)#routerospf100
R3(config-router)#area32nssa
R3(config-router)#exit
第三步到R3上配置重分布直连,让一些外部路由进入OSPF,这样,R3就成了一个ASBR
R3(config)#intlo11
R3(config-if)#ipad199.172.1.1255.255.255.0
R3(config-if)#intlo12
R3(config-if)#ipad199.172.2.2255.255.255.0
R3(config-if)#intlo13
R3(config-if)#ipad199.172.3.3255.255.255.0
R3(config-if)#intlo14
R3(config-if)#ipad199.172.4.4255.255.255.0
R3(config-if)#intlo15
R3(config-if)#ipad199.172.5.5255.255.255.0
R3(config-if)#intlo16
R3(config-if)#ipad199.172.6.6255.255.255.0
R3(config-if)#intlo17
R3(config-if)#ipad199.172.7.7255.255.255.0
R3(config-if)#intlo18
R3(config-if)#ipad199.172.8.8255.255.255.0
R3(config-if)#intlo19
R3(config-if)#ipad199.172.9.9255.255.255.0
R3(config-if)#intlo20
R3(config-if)#ipad199.172.10.10255.255.255.0
R3(config-if)#intlo21
R3(config-if)#ipad199.172.11.11255.255.255.0
R3(config-if)#intlo22
R3(config-if)#ipad199.172.12.12255.255.255.0
R3(config-if)#intlo23
R3(config-if)#ipad199.172.13.13255.255.255.0
R3(config-if)#intlo24
R3(config-if)#ipad199.172.14.14255.255.255.0
R3(config-if)#intlo25
R3(config-if)#ipad199.172.15.15255.255.255.0
R3(config-if)#exit
R3(config)#routerospf100
R3(config-router)#redistributeconnectedsubnets
R3(config-router)#^Z
第四步查看R3的OSPF数据库
R3#showipospfdatabase
OSPFRouterwithID(3.3.3.3)(ProcessID100)
RouterLinkStates(Area32)
LinkID ADVRouter Age Seq# ChecksumLinkcount
2.2.2.2 2.2.2.2 146 0x800000060x0089C02
3.3.3.3 3.3.3.3 31 0x800000040x006FBB3
SummaryNetLinkStates(Area32)
LinkID ADVRouter Age Seq# Checksum
1.1.1.1 2.2.2.2 162 0x800000020x004F99
2.2.2.2 2.2.2.2 162 0x800000020x009E86
4.4.4.4 2.2.2.2 162 0x800000020x00C992
5.5.5.5 2.2.2.2 162 0x800000020x00197F
12.0.0.0 2.2.2.2 162 0x800000020x00D60B
15.0.0.0 2.2.2.2 162 0x800000020x00326C
45.0.0.0 2.2.2.2 162 0x800000020x002D13
Type-7ASExternalLinkStates(Area32)
//可以看到,R3上重发布的路由成了LSA-7型
LinkID ADVRouter Age Seq# ChecksumTag
199.172.1.0 3.3.3.3 30 0x800000010x0047C10
199.172.2.0 3.3.3.3 31 0x800000010x003CCB0
199.172.3.0 3.3.3.3 31 0x800000010x0031D50
199.172.4.0 3.3.3.3 31 0x800000010x0026DF0
199.172.5.0 3.3.3.3 31 0x800000010x001BE90
199.172.6.0 3.3.3.3 32 0x800000010x0010F30
199.172.7.0 3.3.3.3 32 0x800000010x0005FD0
199.172.8.0 3.3.3.3 32 0x800000010x00F9080
199.172.9.0 3.3.3.3 32 0x800000010x00EE120
199.172.10.0 3.3.3.3 32 0x800000010x00E31C0
199.172.11.0 3.3.3.3 32 0x800000010x00D8260
199.172.12.0 3.3.3.3 32 0x800000010x00CD300
199.172.13.0 3.3.3.3 32 0x800000010x00C23A0
199.172.14.0 3.3.3.3 32 0x800000010x00B7440
199.172.15.0 3.3.3.3 32 0x800000010x00AC4E0
第五步查看R2的路由表与数据库。
可以看到,通过类型7的LSA算出的路由条目,是用“ON2”开头的。
R2#showiproute
Codes:
C-connected,S-static,R-RIP,M-mobile,B-BGP
D-EIGRP,EX-EIGRPexternal,O-OSPF,IA-OSPFinterarea
N1-OSPFNSSAexternaltype1,N2-OSPFNSSAexternaltype2
E1-OSPFexternaltype1,E2-OSPFexternaltype2
i-IS-IS,su-IS-ISsummary,L1-IS-ISlevel-1,L2-IS-ISlevel-2
ia-IS-ISinterarea,*-candidatedefault,U-per-userstaticroute
o-ODR,P-periodicdownloadedstaticroute
Gatewayoflastresort
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OSPF NSSA 区域 原理 配置