OSPF路由器需要同时维护域内路由、域间路由、外部路由信息数据库。当网络规模不断扩大时,LSDB规模也不断增长。如果某区域不需要为其他区域提供流量中转服务,那么该区域内的路由器就没有必要维护本区域外的链路状态数据库。
OSPF通过划分区域可以减少网络中LSA的数量,而可能对于那些位于自治系统边界的非骨干区域的低端路由器来说仍然无法承受,所以可以通过OSPF的特殊区域特性进一步减少LSA数量和路由表规模。
stub区域
他不接收5类LSA(自治系统外部路由),而是ABR使用3类LSA向stub区域发送一条缺省路由来访问其他区域的网络
stub只接受1、2、3类LSA,也就是说他不能引入外部路由
,当然5类LSA也不会在末节区域传播
配置很简单
c
[区域下] stub //这个区域所有路由器都要配置
还有一种更节俭的stub区域成为Totally Stub区域,他不仅不接受5类,连3类也不接受,也就是说,这个区域的路由器仅仅保存自己区域LSA,去往其他区域均通过缺省路由访问
配置也很简单
c
[区域下] stub no-summary //在ABR上配置就进行,区域中的其他路由器要stub
NSSA区域
其他属性与Stub一样,就是NSSA能够引入外部路由
Stub不允许引入外部路由,可能会发生次优路径问题,所以NSSA区域就发挥作用了,虽然NSSA区域允许引入外部路由了,但是5类LSA又不能在特殊区域中传播,所有又产生了一类新的7类LSA,一个套皮的5类LSA,专门用来在末节区域传播NSSA区域引入的外部路由,先用7类在特殊区域中传,当传到ABR即将进入其他区域时,立马显出真身变为5类LSA继续向外传
如果还有个ppp链路如下图
此时区域0与区域1的ABR会收到一条5类LSA和一条7类LSA,那他会选择那条呢?
7类和5类LSA,优先级是一样的,不存在先后,7类和5类内容几乎一样,所以只需比较开销值,先比内部开销后比外部开销,到达R1的开销是1,到达R2的开销是2,当然选择R1传来的外部路由了
NSSA区域也可以向Stub区域一样同时设置为Totally NSSA区域,来进一步减少路由表信息
配置也很简单
c
[区域下] NSSA no-summary //在ABR上配置就进行,区域中的其他路由器要stub
配置为Totally NSSA区域后,ABR会向Totally NSSA内发送3类和7类LSA
各通告一次缺省路由