改善网络的可扩展型
实现快速收敛
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/