OSPF区域
1. 区域划分
当一个大型网络中的路由器都运行 OSPF 协议时,LSDB 会占用大量的存储空间,并使得运行
SPF(Shortest Path First,最短路径优先)算法的复杂度增加,导致 CPU 负担加重。
在网络规模增大之后,拓扑结构发生变化的概率也增大,网络会经常处于“振荡”之中,造成网络
中会有大量的 OSPF 协议报文在传递,降低了网络的带宽利用率。更为严重的是,每一次变化都会
导致网络中所有的路由器重新进行路由计算。
区域的边界是路由器,而不是链路。一个路由器可以属于不同的区域,但是一个网段(链路)只能
属于一个区域,或者说每个运行 OSPF 的接口必须指明属于哪一个区域。划分区域后,可以在区域
边界路由器上进行路由聚合,以减少通告到其他区域的 LSA 数量,还可以将网络拓扑变化带来的影
响最小化。
2. 骨干区域与虚连接
(1) 骨干区域(Backbone Area)
OSPF 划分区域之后,并非所有的区域都是平等的关系。其中有一个区域是与众不同的,它的区域
号是 0,通常被称为骨干区域。骨干区域负责区域之间的路由,非骨干区域之间的路由信息必须通
过骨干区域来转发。对此,OSPF 有两个规定:
A、所有非骨干区域必须与骨干区域保持连通;
B、 骨干区域自身也必须保持连通。
在实际应用中,可能会因为各方面条件的限制,无法满足上面的要求。这时可以通过配置 OSPF 虚
连接予以解决。
(2) 虚连接(Virtual Link)
虚连接是指在两台 ABR 之间通过一个非骨干区域而建立的一条逻辑上的连接通道。它的两端必须
是 ABR,而且必须在两端同时配置方可生效。为虚连接两端提供一条非骨干区域内部路由的区域称
为传输区(Transit Area)。
虚连接的另外一个应用是提供冗余的备份链路,当骨干区域因链路故障不能保持连通时,通过虚连
接仍然可以保证骨干区域在逻辑上的连通性。
虚连接相当于在两个 ABR 之间形成了一个点到点的连接,因此,在这个连接上,和物理接口一样
可以配置接口的各参数,如发送 Hello 报文间隔等。
两台ABR之间直接传递OSPF报文信息,它们之间的OSPF路由器只是起到一个转发报文的作用。
由于协议报文的目的地址不是中间这些路由器,所以这些报文对于它们而言是透明的,只是当作普
通的 IP 报文来转发。
3. Stub区域和Totally Stub区域
Stub 区域是一些特定的区域,该区域的 ABR 会将区域间的路由信息传递到本区域,但不会引入自
治系统外部路由,区域中路由器的路由表规模以及 LSA 数量都会大大减少。为保证到自治系统外的
路由依旧可达,该区域的 ABR 将生成一条缺省路由 Type-3 LSA,发布给本区域中的其他非 ABR
路由器。
为了进一步减少 Stub 区域中路由器的路由表规模以及 LSA 数量,可以将区域配置为 Totally Stub
(完全 Stub)区域,该区域的 ABR 不会将区域间的路由信息和自治系统外部路由信息传递到本区
域。为保证到本自治系统的其他区域和自治系统外的路由依旧可达,该区域的 ABR 将生成一条缺
省路由 Type-3 LSA,发布给本区域中的其他非 ABR 路由器。
4. NSSA区域和Totally NSSA区域
NSSA(Not-So-Stubby Area)区域是 Stub 区域的变形,与 Stub 区域的区别在于 NSSA 区域允许
引入自治系统外部路由,由 ASBR 发布 Type-7 LSA 通告给本区域。当 Type-7 LSA 到达 NSSA 的
ABR 时,由 ABR 将 Type-7 LSA 转换成 Type-5 LSA,传播到其他区域。
可以将区域配置为 Totally NSSA(完全 NSSA)区域,该区域的 ABR 不会将区域间的路由信息传
递到本区域。为保证到本自治系统的其他区域的路由依旧可达,该区域的 ABR 将生成一条缺省路
由 Type-3 LSA,发布给本区域中的其他非 ABR 路由器。
NSSA区域
上图运行OSPF协议的自治系统包括 3 个区域:区域 0、区域 1 和区域 2,另外两个自
治系统运行RIP协议。区域 1 被定义为NSSA区域,区域 1 接收的RIP路由传播到NSSA ASBR后,
由NSSA ASBR产生Type-7 LSA在区域 1 内传播,当Type-7 LSA到达NSSA ABR后,转换成Type-5
LSA传播到区域 0 和区域 2。
另一方面,运行 RIP 的自治系统的 RIP 路由通过区域 2 的 ASBR 产生 Type-5 LSA 在 OSPF 自治系
统中传播。但由于区域 1 是 NSSA 区域,所以 Type-5 LSA 不会到达区域 1。