OSPF的多区域
改善网络的可扩展型
实现快速收敛
OSPF路由器的类型
内部路由器:所有接口同属于一个区域
区域边界路由器(ABR):连接一个/多个区域到骨干区域
自治系统边界路由器(ASBR):连接OSPF域和其他AS
区域的类型:骨干区域(Area 0)、标准区域、末梢区域、完全末梢区域、非纯末梢区域等
链路状态通告
常见的LSA有六种类型,分别是LSA1、LSA2、LSA3、LSA4、LSA5和LSA7
ASBR会通过自己的LSA1中有标识着自己是ASBR的字段,当ASBR同区域的ABR收到后,会为自己所在的除已知ASBR信息区域外的所有区域生成LSA4,用来通告ASBR信息。 ABR的LSA1中亦有一个标识自己是ABR的字段。
所有LSA1、LSA2、LSA3信息在Area0的ABR路由器上汇总成新的LSA3,再通告给其他Area。
路由重分发
将其他协议或静态等路由通过ASBR路由器通告到OSPF中去。
命令:redistribute
配置路由路由重分发
R5(config-router)#redistribute protocol [metric metric-value] [metric-type type-value] [subnets]
protocol:进行路由重发的源路由协议,如:bgp、eqp、isis、ospf [process-id(进程)]、staic(静态)、connect(直连)、rip
metric:指定路由的度量值
metric-type:重分发的路由类型,1或2,即E1和E2
subnets:与其子网一起宣告,即关闭子网汇总
RIP重分发至OSPF(度量值默认为20,类型默认为E2)
R1(config-router)#redistribute rip subnets
将OSPF重分发至到RIP
R1(config-router)#redistribute ospf 110 metric 10
110:ospf协议进程ID
10:默认度量值
静态路由重分发
R5(config-router)#redistribute static subnets
默认路由重分发
R5(config-router)#default-information originate [always]
always:直接重分发路由,ASBR可以不配置默认路由
路由表中的路由类型
O IA :OSPF的区域间路由
O E2:此路由的度量值默认为20,且在域内/外不累加,恒为20
O E2:此路由的度量值默认为20,且在域外不累加,域内累加
(将一个协议重分发到另一个协议中,域外都不累加)
末梢区域和完全末梢区域
满足以下4个条件的区域
只有一个默认路由作为其区域的出口
区域不能作为虚链路的穿越区域
Stub区域里无自治系统边界路由器ASBR
不是骨干区域Area 0
1、末梢区域(Stub Area)
没有LSA4、LSA5、LSA7通告,将重分发的路由信息汇聚成一条默认路由
配置命令
R1(config-router)#area area-id stub
2、完全末梢区域(Totally Stubby Area)
除一条LSA3的默认路由通告外,没有LSA3、LSA4、LSA5、LSA7通告,将重分发的路由信息和LSA3路由信息汇聚成一条默认路由
配置命令
R1(config-router)#area area-id stub no-summary
(在整个区域的所有路由器中都要配置)
配置非纯末梢区域(NSSA)
配置NSSA区域
R1(config-router)#area area-id nssa [no-summary]
配置了NSSA区域后,ASBR所在OSPF区域内的LSA5通告信息被LSA7替代了LSA5,此区域本来的ABR将LSA7转换成了LSA5,此ABR兼任了ASBR。no-summary 将其他域内的路由信息(LSA3)汇总成一条默认路由。
路由汇总
外部汇总
R1(config-router)#area 2 range ip-address mask
内部汇总
R4(config-router)#summary-address ip-address mask
查看OSPF协议配置信息
show ip protocols
查看OSPF配置信息
show ip ospf
查看LSDB内的所有LSA数据信息
show ip ospf database
查看接口上OSPF配置的信息
show ip ospf interface
查看OSPF邻居和邻接关系
show ip ospf neighbor [detail] // detail:详细查看
查看路由器“邻接”的整个过程
debug ip ospf adj
查看每个OSPF数据包的信息
debug ip ospf packet
最新内容请见作者的GitHub页:http://qaseven.github.io/