OSPF动态路由协议笔记之(七) : 特殊区域以及其他特性

OSPF动态路由协议笔记之(七) : 特殊区域以及其他特性

 

  OSPF路由器需要同时维护域内路由、域间路由、外部路由信息数据库。当网络规模不断扩大时,LSDB规模也不断增长。如果某区域不需要为其他区域提供流量中转服务,那么该区域内的路由器就没有必要维护本区域外的链路状态数据库。

  OSPF通过划分区域可以减少网络中LSA的数量,而可能对于那些位于自治系统边界的非骨干区域的低端路由器来说仍然无法承受,所以可以通过OSPF的特殊区域特性进一步减少LSA数量和路由表规模

  本节笔记,主要介绍OSPF特殊区域(Stub,Totally Stub,NSSA,Totally NSSA)特性,OSPF路由汇总原理,OSPF的更新机制以及OSPF的认证机制。

 

  传输区域和末端区域

  如图所示,全网可分为四部分Area 0、Area 1、Area 2、外部网络。

   

  四部分之间相互访问的主要流量如图中红线所示。

  对于OSPF各区域,可分为两种类型

  ① 传输区域:除了承载本区域发起的流量和访问本区域的流量外,还承载了源IP和目的IP都不属于本区域的流量,即“穿越型流量”,如Area 0。

  ② 末端区域:只承载本区域发起的流量和访问本区域的流量,如Area 1。

 

  对于末端区域,需要考虑下几个问题:

  ① 保存到达其他区域明细路由的必要性:访问其他区域通过单一出口,“汇总”路由相对明细路由更为简洁。

  ② 设备性能:网络建设与维护必须要考虑成本因素。末端区域中可选择部署性能相对较低的路由器。

  OSPF路由器计算区域内、区域间、外部路由都需要依靠收集网络中的大量LSA,大量LSA会占用LSDB存储空间,所以解决问题的关键是在不影响正常路由的情况下,减少LSA的数量

 

 

  特殊区域:Stub和Totally Stub区域

  (1)Stub区域

  Stub区域的ABR不向Stub区域内传播它接收到的自治系统外部路由(对应四类、五类LSA)Stub区域中路由器的LSDB、路由表规模都会大大减小。

  为保证Stub区域能够到达自治系统外部,Stub区域的ABR将生成一条缺省路由(对应三类LSA),并发布给Stub区域中的其他路由器

   

  Stub区域是一种可选的配置属性,但并不建议将每个区域都配置为Stub区域。通常来说,Stub区域位于自治系统的末梢,是那些只有一个ABR的非骨干区域。

  命令: stub(在OSPF区域下配置) 

 

  配置Stub区域时需要注意下列几点:

  l 骨干区域不能被配置为Stub区域。

  l 如果要将一个区域配置成Stub区域,则该区域中的所有路由器必须都要配置成Stub路由器。

  l Stub区域内不能存在ASBR,自治系统外部路由不能在本区域内传播。

  l 虚连接不能穿越Stub区域建立。

 

 

  (2)Stub区域的OSPF路由表

   

  l 配置Stub区域后,所有自治系统外部路由均由一条三类的默认路由代替

  l 除路由条目的减少外,外部网络发生变化后Stub区域内的路由器是不会直接受到影响的。

  路由生成结果:AS外部的默认路由+AS内部的OSPF路由

 

 

  (3)Totally Stub区域

  Totally Stub区域既不允许自治系统外部路由(四类、五类LSA)在本区域内传播,也不允许区域间路由(三类LSA)在本区域内传播

  Totally Stub区域内的路由器对其他区域及自制系统外部的访问需求是通过本区域ABR所产生的三类LSA缺省路由实现的

   

  命令: stub no-summary(在OSPF区域下配置) 

  与Stub区域配置的区别在于,在ABR上需要追加no-summary参数。

 

 

  (4)Totally Stub区域的OSPF路由表

   

  l Totally Stub区域访问其他区域及自制系统外部是通过默认路由实现的

  l 自制系统外部、其他OSPF区域的网络发生变化Totally Stub区域内的路由器是不直接受影响的

  l Stub、Totally Stub解决了末端区域维护过大LSDB带来的问题,但对于某些特定场景,Stub、Totally Stub并不是最佳解决方案。

  路由生成结果:OSPF区域外部的默认路由

 

 

  特殊区域:NSSA和Totally NSSA区域

  (1)Stub区域、Totally Stub区域存在的问题

   

  RTD和RTA同时连接到某一外部网络,RTA引入外部路由到OSPF域,RTD所在的Area 1为减小LSDB规模,被设置为Stub或Totally Stub区域。RTD访问外部网络的路径是“RTD->RTB->RTA->外部网络”,显然相对于RTD直接访问外部网络而言,这是一条次优路径。

  OSPF规定Stub区域是不能引入外部路由的,这样可以避免大量外部路由对Stub区域设备资源的消耗。

  对于既需要引入外部路由又要避免外部路由带来的资源消耗的场景,Stub和Totally Stub区域就不能满足需求了

 

 

  (2)NSSA区域

  OSPF NSSA区域(Not-So-Stubby Area)是在原始OSPF协议标准中新增的一类特殊区域类型。

  NSSA区域和Stub区域有许多相似的地方。两者的差别在于,NSSA区域能够将自治域外部路由引入并传播到整个OSPF自治域中,同时又不会学习来自OSPF网络其它区域的外部路由

   

  NSSA LSA(七类LSA)

  ① 七类LSA是为了支持NSSA区域而新增的一种LSA类型,用于描述NSSA区域引入的外部路由信息。

  ② 七类LSA由NSSA区域的ASBR产生,其扩散范围仅限于ASBR所在的NSSA区域。

  ③ 缺省路由也可以通过七类LSA来产生,用于指导流量流向其它自治域。

  七类LSA转换为五类LSA

  ① NSSA区域的ABR收到七类LSA时,会有选择地将其转换为五类LSA,以便将外部路由信息通告到OSPF网络的其它区域。

  ② NSSA区域有多个ABR时,进行7类LSA与5类LSA转换的是Router ID最大的ABR。

 

  命令: nssa(在OSPF区域下配置) 

 

 

  (3)Totally NSSA区域

  Totally NSSA和NSSA区别:

  l Totally NSSA不允许三类LSA在本区域内泛洪。

  l Totally NSSA与NSSA区域的配置区别在于ABR上需要追加no-summary参数。

 

  命令: nssa no-summary(在OSPF区域下配置) 

 

 

  (4)NSSA区域与Totally NSSA区域的LSDB

   

  可以看到,NSSA区域和Totally NSSA区域的LSDB主要有以下区别

  ① 配置了NSSA区域的ABR产生一条七类LSA缺省路由。

  ② 配置了Totally NSSA区域的ABR会自动产生一条三类LSA缺省路由。

 

 

  LSA类型总结

LSA类型

通告路由器

LSA内容

传播范围

Router LSA(Type-1)

OSPF Router

拓扑信息+路由信息

本区域内

Network LSA(Type-2)

DR

拓扑信息+路由信息

本区域内

Network-summary-LSA(Type-3)

ABR

域间路由信息

非(Totally)STUB区域

ASBR-summary-LSA(Type-4)

ABR

ASBR's Router ID

非(Totally)STUB区域

AS-external-LSA(Type-5)

ASBR

路由进程域外部路由

(非STUB区域)

OSPF进程域

NSSA LSA(Type-7)

ASBR

NSSA域外部路由信息

Totally)NSSA区域

  LSA作用

  ① Router LSA(一类):每个路由器都会产生,描述了路由器的链路状态和开销,在所属的区域内传播。

  ② Network LSA(二类):由DR产生,描述本网段的链路状态,在所属的区域内传播。

  ③ Network-summary-LSA(三类):由ABR产生,描述区域内某个网段的路由,并通告给其他相关区域。

  ④ ASBR-summary-LSA(四类):由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域。

  ⑤ AS-external-LSA(五类):由ASBR产生,描述到AS外部的路由,通告到所有的区域(除了Stub区域和NSSA区域)。

  ⑥ NSSA LSA(七类):由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。

 

 

  区域间路由汇总

  特殊区域不仅有效减少了区域内LSA的数量以及路由计算的压力,而且一定程度上也缩小了网络故障的影响范围。但特殊区域的局限性在于其作用范围只在本区域内,对于其他区域,如何才能减少LSA、降低路由计算的压力呢?

  在大规模部署OSPF网络时,可能会出现由于OSPF路由表规模过大而降低路由查找速度的现象,为了解决这个问题,可以配置路由汇总,减小路由表的规模。

  路由汇总是指将多条连续的IP前缀汇总成一条路由前缀。如果被汇总的IP地址范围内的某条链路频繁Up和Down,该变化并不会通告给被汇总的IP地址范围外的设备。因此,可以避免网络中的路由振荡,在一定程度上提高了网络的稳定性。

   

  如上图所示,Area 1中存在8个连续网段,汇总前RTB将产生8条三类LSA。在RTB上配置汇总后,RTB仅产生1条三类LSA并泛洪到Area 0。

 

  路由汇总只能汇总路由信息,所以ABR和ASBR都是可以执行路由汇总的位置。

  ABRASBR)向其它区域发送路由信息时,以网段为单位生成三类LSA。如果该区域中存在一些连续的网段,则可以通过命令将这些连续的网段汇总成一个网段。这样ABR只发送一条汇总后的三类LSA,所有属于命令指定的汇总网段范围的LSA将不会再被单独发送出去。

  命令: abr-summary xxx.xxx.xxx.xxx (指定要汇总的网段) 

 

 

  外部路由汇总

  如下图所示,Area 0中RTA将8个连续的外部路由引入到OSPF域内,产生8条五类LSA并在OSPF进程域内泛洪。

  

  配置ASBR汇总,也就是外部路由汇总,其工作原理如下

  ① 配置外部路由汇总(ASBR汇总)后,ASBR将对引入的外部路由进行汇总。NSSA区域的ASBR也可以对引入NSSA区域的外部路由进行汇总。

  ② 如果设备是ASBR,RTA将仅产生1条五类LSA并泛洪至OSPF路由进程域内。

  ③ 如果设备既是NSAA区域的ASBR又是ABR,则可在将七类LSA转换成五类LSA时对相应前缀进行汇总。

  命令: asbr-summary xxx.xxx.xxx.xxx (指定要汇总的网段) 

 

  路由汇总降低了网络故障的影响范围。网络发生故障后,路由协议的收敛速度也是衡量路由协议的重要参考依据之一。

 

 

  OSPF更新机制(定时更新和触发更新)

  为了保证路由计算的准确性,需要保证LSA的可靠性。

   

  ① 定时更新LSA每1800s(30mins)更新一次,3600s(60mins)失效

  为了防止LSA条目达到最大生存时间而被删除,OSPF通过定期更新(每1800s刷新一次)机制来刷新LSA。即OSPF路由器每1800s会重新生成LSA,并通告给其他路由器。

  OSPF为每个LSA条目维持一个老化计时器(3600s),当计时器超时,此LSA将从LSDB中删除。为了加快收敛速度,OSPF设置了触发更新机制。

 

  ② 触发更新当链路状态发生变化之后,立即发送链路状态更新

  当链路状态发生变化后,路由器立即发送更新消息,其他路由器收到更新消息后立即进行路由计算,快速完成收敛。

 

 

  OSPF认证机制

  如下图所示,内部网络通过OSPF协议传递路由。正常情况下,财务部访问公司数据库的流量走向是“财务部->RTA->RTB->Database”。

   

  (1)安全隐患

  非法设备接入公司内网,通过向网络中注入非法路由,引导流量进行非正常的转发。即“财务部->RTA->非法设备->RTB->Database”。非法设备收到财务部的流量之后,进行恶意分析,获取财务部关键信息,造成公司机密泄露。

  OSPF如何保证路由的安全性呢?

 

 

  (2)认证解决安全隐患

  OSPF支持认证功能,只有通过认证的OSPF路由器才能正常建立邻居关系,交互信息。

   

  命令: authentication-mode md5 1 cipher abc(在区域下配置) 

 

  OSPF支持两种认证方式

  l 区域认证方式

  l 接口认证方式

  支持的认证模式分为null(不认证)、simple(明文)、MD5以及HMAC-MD5。

 

  Tips:当两种认证方式都存在时,优先使用接口认证方式

 

  到此,介绍OSPF动态路由协议基础知识的笔记已经全部完成,但OSPF的知识不仅如此,此后还请各位继续学习精进,本人若看到相关的有用知识,也会及时发布到本博客中。

  下一节笔记,将会补充一个OSPF相关实验,用于概括之前笔记中涉及到的内容。

posted @ 2021-12-30 15:00  若水一瓢  阅读(1050)  评论(0编辑  收藏  举报