目录
一、OSPF多区域的生成原因
通常现实中的网络拓扑是非常大型和复杂的,而SPF算法的反复计算,庞大的路由表和拓扑表的维护等都会占用大量的路由器资源,这会降低路由器的运行效率。
而OSPF协议可以通过划分区域来减小这些不利的影响,也就是说OSPF协议划分多个区域后,每一个区域的路由器只需要了解所在区域的网络路由拓扑,并不需要了解整个网络的路由拓扑,这样就减小了路由表,降低了SPF算法的计算量和LAS的开销。
1)改善网络的可扩展性
2)快速收敛
OSPF的通信量
1)域内通信量:就是同一个OSPF区域内的路由器交换数据包的通信量
2)域间通信量:是一个OSPF区域的路由器和另一个OSPF区域的路由器交换数据包时的通信量
3)外部通信量:OSPF区域内的路由器和OSPF区域外或另一个自治区域的路由器交换数据包的通信量
OSPF 的路由器类型
1.区域边界路由器(ABR)——将负责汇总一个区域的路由信息,传输给另一个区域
2.自治系统边界路由器(ASBR)——学习外部的路由,还能学习其他区域路由,负责将外部路由注入到OSPF的网络中
3.指定管理员(DR)
4.备用管理员(BDR)
5.其他路由器(DRothers)
OSPF的区域类型
1.骨干区域Area 0——负责区域间路由传输
2.非骨干区域—根据能够学习的路由种类来区分
-标准区域
-末梢区域(stub)
-完全末梢(Totally stubby)区域
-非纯末梢区域(NSSA)
OSPF链路状态通告类型
链路状态数据库的组成
- 每个路由器都创建了由每个接口、对应的相邻节点和接口速度组成的数据库
- 链路状态数据库中每个条目称为LSA(链路状态通告),常见的有六种LSA类型
Type 1——路由器LSA ———由区域内的路由器发出的,描述路由器的链路状态和花费,传递到整个区域内
Type 2——网络LSA————由区域内的DR发出的,描述了区域内变更信息,传递到整个区域内
Type 3——网络汇总LSA——ABR发出的,其他区域的汇总链路通告,描述了其他区域内某一网段的路由,区域间传递
Type 4——ASBR汇总LSA——ABR发出的,用于通告ASBR信息,确定ASBR的位置,不会出现在ASBR所属区域之内
Type 5——AS外部LSA———ASBR发出的,用于通告外部路由,告诉相同AS的路由器通往外部AS的路径,在整个AS中进行泛洪
Tpye 7——NSSA外部LSA——NSSA区域内的ASBR发出的,用于通告本区域连接的外部路由,与Type 5类似,仅在非纯末梢区域内进行泛洪,传递时会被ABR转换位LSA5
类型1,路由器LSA:
所有路由器都会生成这一类型的链路状态通告
指明了它们的状态和沿每条链路方向出站的代价,以及该链路上所有已知的 OSPF 邻居
只在本区域内泛洪
链路状态ID是源路由器ID
类型2,网络LSA:
由DR生成
指明了所有与之相连的路由器
只在本区域内泛洪
链路状态ID是DR的ip接口地址
类型3,汇总LSA:
由ABR生成
将从一个区域学到的信息发送给其他区域
在除了绝对末节区域和完全NSSA区域外的所有区域泛洪
链路状态ID是目的网络地址
类型4,ASBR汇总LSA:
由同区域,离ASBR最近的ABR生成
指明如何到达ASBR
在除了绝对末节区域和完全NSSA区域外的所有区域泛洪
链路状态ID是所描述的ASBR的路由器ID
类型5,自治系统LSA:
由ASBR生成
指明到达自治系统外部网络的路由
在除了绝对末节区域和完全NSSA区域外的所有区域泛洪
链路状态ID是外部网络地址
类型7,NSSA区域中对外部路由使用:
由ASBR生成
指明到达区域外部网络的路由
在NASS区域内泛洪
二、路由的重分发
路由重分发的考虑
度量值
管理距离 (优先级)
直连路由优先级为0
静态路由优先级为60
ospf优先级为10
bgp优先级为255
重分发到OSPF的路径类型
- 类型1(type1或者E1),考虑的是源地点到目的地点的代价。例如上图中AR1到AR4,可以经过AR2或AR3;AR1—AR2—AR4的代价为25(5+20),AR1—AR3—AR4代价为48(30+18),所以选择从AR2走。
- 类型2(type2或E2),只考虑外部路由的代价,思科和华为默认。例如上图,AR1—AR2—AR4代价为20,AR1—AR3—AR4代价为18,优先从AR3走。
配置命令
[R1]rip 1 ###配置rip
[R1-rip-1]version 2
[R1-rip-1]undo summary
[R1-rip-1]network 11.0.0.0
[R1-rip-1]import-route ospf 1 cost 3 ###把ospf协议注入到rip进行路由重分发,路径类型缺省为路径类型2(外部开销),成本开销为3(对于rip的度量值是跳数),rip中重分发ospf要指定cost的值
[R1-rip-1]ospf 1
[R1-ospf-1]import-route rip 1 type 1 cost 1 ###把外部rip协议注入到OSPF进行路由重分发,使用路径类型1(内部开销+外部开销 ),成本开销为1(COST=100M/BW)
[r1-ospf-1]default-route-advertise always ###ospf重分发默认路由
[r2-ospf-1]import-route direct ###ospf重分发直连路由
[r2-ospf-1]import-route static ###ospf重分发静态路由
三、末梢区域
末梢区域和完全末梢区域的作用,其主要目的是减少区域内的LSA条目以及路由条目,减少对设备CPU和内存的占用;
末梢区域和完全末梢区域中ABR会自动生成一条默认路由发布到末梢区域或完全末梢区域中。
没有LSA4、5、7通告。
配置命令
ABR配置
【R4】ospf 1
【R4-ospf-1】area 2
【R4-ospf-a-area-0.0.0.2】network x.x.x.x x.x.x.x 先宣告直连网段,再配
【R4-ospf-a-area-0.0.0.2】stub
区域内部路由配置
【R5】ospf 1
【R5-ospf-1】area 2
【R5-ospf-a-area-0.0.0.2】network x.x.x.x x.x.x.x 先宣告直连网段,再配
【R5-ospf-a-area-0.0.0.2】stub
四、完全末梢区域
除一条LSA3的默认路由通告外,没有LSA3、4、5、7通告
配置命令
ABR配置
[R4]ospf 1
[R4-ospf-1]area 2
[R4-ospf-1]network x.x.x.x x.x.x.x 先宣告直连网段,再配
[R4-ospf-1-area-0.0.0.2]stub no-summary
区域内部路由配置
[R5]ospf 1
[R5-ospf-1]area 2
[R5-ospf-1]network x.x.x.x x.x.x.x 先宣告直连网段,再配
[R5-ospf-1-area-0.0.0.2]stub
五、非纯末梢区域配置命令
ABR和区域内路由配置
[R4]ospf 1
[R4-ospf-1]area 1
[R4-ospf-1]network x.x.x.x x.x.x.x 先宣告直连网段,再配
[R4-ospf-1-area-0.0.0.1]nssa
先配置各个路由器的接口IP
R1
ASBR负责连接OSPF区域和区域外的路由,所以要配置OSPF和其他协议,这里是RIP V2
[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]area 1
R1属于区域1
[R1-ospf-1-area-0.0.0.1]network 12.0.0.0 0.0.0.255
[R1-ospf-1-area-0.0.0.1]network 1.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.1]q
[R1-ospf-1]rip 1
[R1-rip-1]version 2
[R1-rip-1]un summary
[R1-rip-1]network 10.0.0.0
[R1-rip-1]q
光设置各个的协议也不行,需要将各个协议的信息互通一下,所以就要设置路由的重分发
[R1]rip 1
[R1-rip-1]import-route ospf 1 cost 3
把ospf协议注入到rip进行路由重分发,路径类型缺省为路径类型2(外部开销),成本开销为3(对于rip的度量值是跳数),rip中重分发ospf要指定cost的值
[R1-rip-1]ospf 1
[R1-ospf-1]import-route rip 1 type 1 cost 1
把外部rip协议注入到OSPF进行路由重分发,使用路径类型1(内部开销+外部开销),成本开销为1(COST=100M/BW)
R2
ABR属于两个区域,所以要配置两个区域,在各自的区域宣告各自的网段
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]network 12.0.0.0 0.0.0.255
[R2-ospf-1-area-0.0.0.1]q
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 23.0.0.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]q
其他路由器配置各自的协议,和在各自的区域宣告网段后,每个路由器上都学习到了其他的路由器上的路由表。