21.OSPF路由协议·多区域
OSPF–多区域
课程目标
掌握OSPF各种LSA的内容和传递过程
了解普通区域与特殊区域
掌握OSPF多区域的配置
核心要点:区域间不传递拓扑信息,相互传递路由信息
一 OSPF多区域划分的必要性
OSPF单区域存在问题
OSPF单区域存在的问题
LSDB 庞大,占用内存大,SPF计算开销大
LSA洪泛范围大,拓扑变化影响范围大
路由不能被汇总,路由表庞大,查找路由开销大
划分区域可以解决部分问题
每个区域独立存储LSDB,划分区域减小了LSDB
LSA洪泛被限制在区域内,有效控制了拓扑变化的影响范围
区域边界可以做路由汇总,减小了路由表
二 OSPF多区域的基本概念
1 区域分类
OSPF多区域基本结构
骨干区域:Area 0,OSPF的Area 0必须是连续的,不能被分割
非骨干区域:必须和Area 0直接相连,非骨干区域之间不能直接交换路由信息,必须通过Area 0
- 特殊区域:具有某些特殊性质的区域,如Stub、NSSA区域
- 划分区域后,OSPF 多区域在逻辑上强制形成一个以骨干区域 (Area 0) 为核心的星型拓扑结构
- 所有非骨干区域必须(物理或通过虚链路逻辑上)直接连接到 Area 0
- 所有区域间路由信息交换必须经过 Area 0
- 这种设计的核心目的是防止区域间路由环路、实现路由汇总、提高网络的可扩展性和稳定性
- 物理连接方式可以多种多样,但必须满足上述逻辑拓扑的要求
2 LSDB
OSPF多区域链路状态数据库
每个区域都有自己独立的LSDB,SPF计算独立运行
LSA洪泛和LSDB同步只在区域内进行
3 ABR
ABR(Area Border Router,区域边界路由器)
- ABR 就是连接不同区域(至少一个骨干区域 + 一个非骨干区域)的路由器,负责隔离区域内 LSA、传递区域间路由
- 是实现 “多区域 OSPF 网络” 设计的核心设备,承担着区域间路由信息传递与汇总的关键作用
OSPF对区域间路由信息的描述
- OSPF只知道本区域的拓扑结构,并不知道其他区域的拓扑结构,其他区域的路由信息,依靠本区域的ABR来描述
OSPF对区域间路由的描述与计算
- ABR先计算区域内的LSA 1、2,并为计算出来的路由向其他区域发起LSA 3,而且为Area0中的LSA 3向其他区域重新发起LSA 3
4 ASBR
ASBR(Autonomous System Boundary Router,自治系统边界路由器)
- 是连接 OSPF 自治系统(AS)与外部网络(其他 AS 或非 OSPF 协议网络)的 “网关”,负责引入外部路由并向 OSPF 网络通告,是 OSPF 与外部网络通信的核心设备
- OSPF 是 “自治系统内部网关协议(IGP)”,仅负责 AS 内部的路由计算;而 AS 之间的路由由 “外部网关协议(EGP,如 BGP)” 负责
- ASBR 的作用就是打破 OSPF 的 “AS 内限制”,让 OSPF 网络能访问其他 AS 或非 OSPF 协议的网络(如 RIP、静态路由、BGP 网络等)
OSPF对外部路由信息的描述
- OSPF通过ASBR来描述外部路由的可达性
OSPF对外部路由的描述与计算
- ASBR为外部路由发起LSA 5,在整个OSPF路由域中洪泛
路由器类型 | 核心特征 | 与 ABR 的区别 |
---|---|---|
内部路由器(IR) | 仅属于一个区域(可以是骨干或非骨干),只处理本区域 LSA | ABR 属于至少两个区域,IR 仅属于一个区域 |
ABR(区域边界路由器) | 属于至少一个骨干区域 + 一个非骨干区域,处理 LSA 3 转换和路由汇总 | 核心是 “跨区域路由传递”,是区域间的 “网关” |
ASBR(自治系统边界路由器) | 连接 OSPF 自治系统与外部网络(如引入 RIP、静态路由),生成 LSA 5/7 | ABR 处理 “OSPF 内部区域间路由”,ASBR 处理 “OSPF 与外部网络的路由” |
骨干路由器(BR) | 至少属于骨干区域(Area 0),可以同时属于其他区域(此时也是 ABR) | 若仅属于 Area 0,则是单纯的骨干路由器;若同时属于 Area 0 和其他区域,则是 ABR |
三 OSPF的LSA分类
1 OSPF LSA类型
- LSA 1、2、4 含有拓扑信息,LSA 3、5、7 含有路由信息
LSA 类型 名称 发起路由器 洪泛范围 作用 1 Router LSA(路由器 LSA) OSPF 路由器 区域内 描述路由器的直连拓扑信息 2 Network LSA(网络 LSA) DR 区域内 描述多路访问网络 DR 邻接的一组路由器RID,以及当前网段的子网掩码 3 Summary LSA(汇总 LSA) ABR 区域内 描述区域间的路由信息 4 ASBR LSA ABR 区域内 描述去往区域间 ASBR 的路径信息 5 External LSA(外部路由 LSA) ASBR OSPF 路由域(除特殊区域) 描述 OSPF 外部路由的路径信息 7 NSSA LSA NSSA ASBR 区域内 描述 NSSA 区域的 OSPF 外部路由
2 区域间路由计算
- Router-LSA(类型 1)
- 是由每一个运行 OSPF 的路由器生成的
- 它主要用于描述该路由器在特定区域内的端口链路状态信息,比如接口的 IP 地址、子网掩码、接口的状态(如 up/down)以及到邻居路由器的连接情况等
- 这种 LSA 的泛洪范围仅限于它所生成的区域内,这样可以避免不必要的信息传播到其他区域,节省网络资源
- Network-LSA(类型 2)
- 是由 DR(指定路由器)生成的
- 内容包括
- 链路状态 ID (Link State ID):(在 LSA 头部) 这是 DR 在该网络上的接口的 IP 地址
- 通告路由器 (Advertising Router): (在 LSA 头部) DR 的 Router ID
- 网络掩码 (Network Mask): (在 LSA 主体) 该多路访问网络的子网掩码
- 连接的路由器列表 (Attached Router List): (在 LSA 主体) 所有与该网络上的 DR 建立了完全邻接关系的 OSPF 路由器的 Router ID 列表(包括 DR 自己)
- 在广播型网络(如以太网)和 NBMA(非广播多路访问,如帧中继)网络中,当有多个路由器连接到同一个网络时,会选举出一个 DR
- DR 负责生成 Network-LSA,它包含了该网络上所有连接的路由器的列表,这样区域内的其他路由器就可以通过这个 LSA 了解到整个网络的拓扑结构。
- 同样,Network-LSA 也只在该网络所属的区域内泛洪
在一个 OSPF 区域(Area 1)内,Router-LSA 和 Network-LSA 的生成和传播过程
在 Area 1 中,有多个路由器连接在一起
- 每个路由器都会生成 Router-LSA(图中棕色箭头所示),向区域内的其他路由器通告自己的链路状态信息
在这个区域的广播型网络中,选举出了一个 DR
- DR 生成 Network-LSA(图中蓝色箭头所示),并在该网络所属的区域内传播,告知其他路由器该网络上连接的所有路由器信息
Network-Summary-LSA(类型 3):
是由区域边界路由器(ABR)生成的
- ABR 是连接不同 OSPF 区域的路由器,它负责在不同区域之间传递路由信息
这种 LSA 的作用是描述到自治系统(AS)内部本区域外部某一网段的路由信息
- 例如,当 ABR 将一个区域(如 Area 1)内的路由信息传递到另一个区域(如 Area 0)时,会生成 Network-Summary-LSA
Network-Summary-LSA 的泛洪范围是它所生成的区域内,这样可以在不同区域之间传递路由信息,同时避免了大量的 LSA 在整个自治系统内泛洪,节省了网络资源
在 OSPF 多区域网络中,Network-Summary-LSA 的生成和传播过程。
图中,有两个区域:Area 1 和 Area 0,通过 ABR 连接在一起
在 Area 1 中的路由器 N1 生成 Router-LSA(图中棕色箭头所示),向 Area 1 内的其他路由器通告自己的链路状态信息
ABR 接收到 Area 1 内的路由信息后,生成 Network-Summary-LSA(图中蓝色箭头所示),并将其传播到 Area 0 中,使得 Area 0 内的路由器能够了解到 Area 1 内的路由信息,从而实现区域间的路由选择3
3 AS外部路由计算
- ASBR-Summary-LSA(类型 4)
- 是由区域边界路由器(ABR)生成的
- ABR 连接不同的 OSPF 区域,它负责在区域之间传递路由信息
- 这种 LSA 的作用是描述到某一自治系统边界路由器(ASBR)的路由信息。ASBR 是连接 OSPF 自治系统和外部网络(如其他 AS 或非 OSPF 网络)的路由器
- ASBR-Summary-LSA 的泛洪范围是 ABR 所连接的区域内(除了 ASBR 所在的区域),这样可以让其他区域的路由器了解到如何到达 ASBR,以便进行 AS 外部路由的交互。
- AS-external-LSA(类型 5)
- 是由自治系统边界路由器(ASBR)生成的
- 当 ASBR 将外部网络的路由信息引入到 OSPF 自治系统中时,会生成这种 LSA
- 它描述了到 AS 外部某一网段的路由信息
- 例如,ASBR 通过 BGP(边界网关协议)学习到的外部网络路由,会通过 AS-external-LSA 在整个 OSPF 自治系统内传播。
- AS-external-LSA 在整个 AS 内部泛洪,使得自治系统内的所有路由器都能了解到外部网络的路由情况
在 OSPF 多区域网络中,ASBR-Summary-LSA 和 AS-external-LSA 的生成和传播过程
- 在图中,有两个区域:Area 1 和 Area 0,它们通过 ABR 连接在一起。ASBR 位于 Area 0 中,并且通过 BGP 连接到另一个 AS
- ASBR 生成 AS-external-LSA(图中蓝色箭头所示),并在整个 AS 内部泛洪,告知所有路由器到外部 AS 的路由信息
- ABR 接收到 AS-external-LSA 后,生成 ASBR-Summary-LSA(图中棕色箭头所示),并将其传播到 Area 1 中,使得 Area 1 内的路由器能够了解到如何到达 ASBR,从而实现与外部 AS 的通信
四 OSPF的LSA传播过程
1 lSA报文头格式
LS Type:标识LSA的类型(Type1-Type11)
Link State ID:具体数值根据LSA的类型而定
Advertising Router:始发LSA的路由器的Router ID
Link State ID
LSA 类型 LS ID 说明 LSA 1(Router-LSA) 生成该 LSA 的路由器的 Router ID 标识生成此 LSA 的路由器,用于描述路由器直连链路状态 LSA 2(Network-LSA) 生成该 LSA 的 DR(指定路由器)的接口 IP 地址 标识生成此 LSA 的 DR,用于描述多路访问网络上连接路由器列表 LSA 3(Network-Summary-LSA) 目标网络的网络地址 标识此 LSA 描述的外部网段路由信息 LSA 4(ASBR-Summary-LSA) 所描述的 ASBR 的 Router ID 标识此 LSA 描述的 ASBR,用于描述到 ASBR 的路由信息 LSA 5(AS-external-LSA) 目标外部网络的网络地址 标识此 LSA 描述的 AS 外部网段路由信息
2 OSPF区域间路由传播与计算
- LSA 1 发起与洪泛(RT3 在 Area 1)
- 首先,RT3 作为区域内的路由器,它会生成 LSA 1(链路状态通告类型 1)
- LSA 1 包含了 RT3 自身的链路信息,比如它直连的 10.1.3.0/24 网段,掩码 255.255.255.0,开销为 10
- 然后,RT3 会在它所在的 Area 1 中洪泛这个 LSA 1
- 洪泛的意思就是把这个 LSA 1 发送给 Area 1 内的所有邻居路由器,这样 Area 1 内的其他路由器就能收到这个 LSA 1 了
- RT1 处理 LSA 1 并生成 LSA 3(向 Area 0)
- RT1 是 Area 1 和 Area 0 之间的区域边界路由器(ABR),它会收到 RT3 洪泛过来的 LSA 1
- RT1 收到 LSA 1 后,会在 Area 1 内进行 SPF(最短路径优先)计算
- SPF 计算会根据收到的链路信息,计算出到 10.1.3.0/24 网段的最短路径
- 这里计算出来的开销是 10(RT3 到 10.1.3.0/24 的开销)加上 RT1 到 RT3 的链路开销 100,总共 110
- 然后,RT1 会把这条计算好的路由加入到自己的 OSPF 路由表中
- 同时,因为 RT1 是 ABR,它需要把 Area 1 内的这条路由信息传递到 Area 0,所以它会生成 LSA 3(链路状态通告类型 3)
- LSA 3 包含了目的网络 10.1.3.0/24,掩码 255.255.255.0,开销 110,并且通告路由器(ADV RT)是 RT1 自己(1.1.1.1)
- LSA 3 在 Area 0 洪泛
- RT1 生成的 LSA 3 会在 Area 0 中进 行洪泛
- Area 0 内的其他路由器,如 RT5 和 RT6,都会收到这个 LSA 3
- Area 0 内的路由器就知道了有一条到 10.1.3.0/24 网段的路由
RT6 处理 LSA 3 并生成新 LSA 3(向 Area 2)
RT6 是 Area 0 和 Area 2 之间的 ABR,它会收到从 Area 0 洪泛过来的 LSA 3
RT6 收到 LSA 3 后,会在 Area 0 内进行 SPF 计算
- 计算的时候,需要考虑 RT6 到 RT1 的链路开销等信息,这里计算出来到 10.1.3.0/24 网段的开销是 310(之前的 110 加上 RT6 到 RT1 等链路的开销)
然后,RT6 会把这条路由加入到自己的 OSPF 路由表中
同时,因为 RT6 是 ABR,它需要把这条路由信息传递到 Area 2,所以它会生成新的 LSA 3
- 这个新的 LSA 3 同样包含目的网络 10.1.3.0/24,掩码 255.255.255.0,不过开销变成了 310,通告路由器是 RT6 自己(6.6.6.6)
- 新 LSA 3 在 Area 2 洪泛
- RT6 生成的新 LSA 3 会在 Area 2 中进行洪泛
- Area 2 内的路由器,比如 RT2,就会收到这个 LSA 3
- RT2 处理 LSA 3 并加入全局路由表
- RT2 收到 LSA 3 后,会在 Area 2 内进行 SPF 计算
- 计算出到 10.1.3.0/24 网段的路由信息后,会把这条路由加入到自己的 OSPF 路由表中,进而加入到全局路由表中
- 这样,RT2 就知道了如何到达 10.1.3.0/24 网段
- 路由重发布(RT2 到 RIP 域)
- RT2 是 OSPF 和 RIP 之间的边界路由器,它会把全局路由表中关于 10.1.3.0/24 的 OSPF 路由重发布到 RIP 数据库(也就是 RIP 路由表)中
- 然后,通过 RIP 的路由更新机制,把这条路由信息发送给 RIP 域内的路由器,比如 RT4
- 这样,RIP 域内的路由器也能知道如何到达 10.1.3.0/24 网段了
原理
- LSA 类型与作用
- LSA 1:由区域内路由器生成,描述自身直连链路信息,在所属区域内洪泛,用于区域内路由器了解本区域内的网络拓扑。
- LSA 3:由 ABR 生成,用于在不同区域之间传递路由信息,将一个区域内的路由信息以摘要的形式传递到另一个区域。
- 区域边界路由器(ABR)的作用
- ABR 连接两个或多个 OSPF 区域,负责接收一个区域的 LSA,进行 SPF 计算后,生成 LSA 3 并在另一个区域洪泛,实现区域间路由信息的传递。
- SPF 计算
- OSPF 路由器使用 SPF 算法(基于 Dijkstra 算法)计算到目的网络的最短路径。计算时会考虑链路的开销(Cost),开销越小,路径越优。
- 路由重发布
- 当网络中存在不同的路由协议(如 OSPF 和 RIP)时,需要在边界路由器上进行路由重发布,将一种路由协议的路由信息转换为另一种路由协议的路由信息,实现不同路由域之间的通信
3 OSPF外部路由传播与计算
- 路由学习与重发布(RT2)
- RT2 首先通过 RIP 路由协议从 RT4 那里学到了 172.16.4.0/24 这条路由,然后把这条路由加入到自己的全局路由表中。
- 接着,RT2 作为自治系统边界路由器(ASBR),将这条来自 RIP 的路由重发布到 OSPF 域中
- 在重发布的过程中,OSPF 会为这条外部路由生成 LSA 5(链路状态通告类型 5)
- LSA 5 包含了目的网络 172.16.4.0/24,掩码 255.255.255.0,开销为 1000(开销类型 1),通告路由器(ADV RT)是 RT2 自己(2.2.2.2),转发地址为 0.0.0.0
- 同时,RT2 在自己的 LSA 1 中设置 ASBR 位为 1,表明自己是 ASBR
- LSA 5 在 OSPF 域洪泛
- RT2 生成的 LSA 5 会在整个 OSPF 路由域中进行洪泛。OSPF 域内的所有路由器,包括 RT6、RT5、RT1 和 RT3 等,都会收到这个 LSA 5
- 这样,这些路由器就知道了在 OSPF 域之外有一条到 172.16.4.0/24 网段的路由
- RT6 处理 LSA 5 并生成 LSA 4(向 Area 0)
- RT6 收到 LSA 5 后,因为 RT2 的 LSA 1 中 ASBR 位为 1,所以 RT6 会根据 LSA 1 中的信息进行 SPF 计算
- 计算完成后,RT6 作为区域边界路由器(ABR),会生成 LSA 4(链路状态通告类型 4)
- LSA 4 的作用是告诉其他区域的路由器如何到达 ASBR(这里是 RT2)
- LSA 4 包含了 ASBR 的标识(2.2.2.2),通告路由器是 RT6 自己(6.6.6.6),开销为 100。然后,RT6 会将这个 LSA 4 在 Area 0 中洪泛
- LSA 4 在 Area 0 洪泛与重新生成(向 Area 1)
- RT6 生成的 LSA 4 在 Area 0 中洪泛,RT1 会收到这个 LSA 4
- RT1 作为 ABR,会在 Area 0 内进行 SPF 计算,然后重新生成 LSA 4,并将其在 Area 1 中洪泛
- 这个重新生成的 LSA 4 的通告路由器变为 RT1 自己(1.1.1.1),开销等信息也会根据 RT1 到 RT6 等的链路情况进行计算
- 区域内外部路由计算(以 RT6 为例)
- RT6 在收到 LSA 5 和相关的 LSA 1 后,会进行 SPF 计算。计算时,会结合 LSA 5 中的外部路由信息和 LSA 1 中的链路信息,算出到 172.16.4.0/24 网段的总开销
- 这里计算出的开销是 1000(LSA 5 中的开销)加上 100(RT6 到 RT2 的链路开销),总共 1100
- 然后,RT6 会把这条路由加入到自己的 OSPF 路由表中
- 区域间外部路由计算(以 RT3 为例)
- RT3 在收到 LSA 5、RT1 的 LSA 1 以及重新生成的 LSA 4 后,会进行 SPF 计算。计算时,会结合这些 LSA 中的信息,算出到 172.16.4.0/24 网段的总开销
- 这里计算出的开销是 1000(LSA 5 中的开销)加上 300(LSA 4 中的开销)再加上 100(RT3 到 RT1 的链路开销),总共 1400
- 然后,RT3 会把这条路由加入到自己的 OSPF 路由表中
- 带转发地址的外部路由计算(特殊情况)
- 在某些情况下,LSA 5 中会包含转发地址。当有转发地址时,路由器在计算到外部路由的开销时,会先计算到转发地址的开销,再加上 LSA 5 中的开销
- 例如,假设转发地址是 2.2.2.2,RT3 计算到 2.2.2.2 的开销是 401,那么到 172.16.4.0/24 网段的总开销就是 1000 + 401 = 1401
原理
- LSA 类型与作用
- LSA 5:由 ASBR 生成,用于在 OSPF 域内传播外部路由信息,包含外部路由的目的网络、掩码、开销等信息
- LSA 4:由 ABR 生成,用于在 OSPF 域内传播 ASBR 的位置信息,帮助其他区域的路由器找到 ASBR,以便能够到达外部路由
- 自治系统边界路由器(ASBR)的作用
- ASBR 连接 OSPF 域和外部自治系统(如 RIP 域),负责将外部路由重发布到 OSPF 域中,并生成 LSA 5 来传播这些外部路由信息
- 区域边界路由器(ABR)的作用
- ABR 连接不同的 OSPF 区域,负责接收一个区域的 LSA,进行 SPF 计算后,生成相应的 LSA(如 LSA 4)并在另一个区域洪泛,实现区域间路由信息(包括外部路由信息)的传递
- SPF 计算
- OSPF 路由器使用 SPF 算法计算到目的网络的最短路径。对于外部路由,计算时会结合 LSA 5 中的外部开销和 LSA 1、LSA 4 中的内部链路开销,得到总开销
- 转发地址
- 在 LSA 5 中可以包含转发地址,当存在转发地址时,路由器在计算外部路由的开销时,会先计算到转发地址的开销,再加上 LSA 5 中的外部开销,这样可以更精确地计算到外部路由的路径开销
4 OSPF外部路由开销类型
OSPF外部路由开销类型
开销类型1:开销 = LSA携带开销 + 到始发ASBR的开销
开销类型2:开销 = LSA携带开销
先进行SPF计算,把外部路由LSA挂到SPF树上去,能挂上去的进行开销比较,挂不上去的直接忽略
类型1:开销 = LSA携带开销 + 到始发ASBR*的开销
类型2:开销 = LSA携带开销
- 先比较LSA携带开销,再比较到始发ASBR的开销,两者都相等时为等价路由,此时才负载
类型1优于类型2,相对于类型1,类型2相当于加了无穷远
重发布外部路由时,默认开销类型2
到始发ASBR的开销计算
转发地址为0.0.0.0
区域内通过ASBR的LSA 1计算得到
区域间通过ASBR的LSA 4计算得到
普通区域重发布的外部路由,转发地址默认为0.0.0.0
转发地址为某IP地址
- 在OSPF路由表中查询得到;若查询不到,则忽略该LSA
SPF 计算的区域独立性
- OSPF 协议中,每个区域都是独立进行 SPF 计算的,并且是以该区域内路由器自己的 LSA 1(链路状态通告类型 1)为根来构建 SPF 树。这样做的好处是可以减少路由计算的复杂度和开销,因为每个区域只需要处理自己区域内的链路状态信息以及与其他区域相关的特定 LSA。
SPF 计算的步骤
- 第一步:计算 LSA 1 和 LSA 2,构建 SPF 树主干
- LSA 1 是由区域内的每个路由器生成的,它描述了路由器自身的链路状态信息,包括直连的网络、掩码、开销等
- LSA 2 是由区域内的 DR(指定路由器)生成的,它描述了一个多路访问网络(如以太网)上的所有路由器。
- 在进行 SPF 计算时,首先会处理 LSA 1 和 LSA 2,根据这些信息构建出 SPF 树的主干
- 这一步是基础,它确定了区域内各个路由器之间的直接连接关系和路径开销
- 第二步:挂接 LSA 3、LSA 4 和 LSA 5 到 SPF 树上进行计算
- LSA 3 是由 ABR(区域边界路由器)生成的,用于在不同区域之间传递路由信息
- LSA 4 是由 ABR 生成的,用于描述 ASBR(自治系统边界路由器)的位置
- LSA 5 是由 ASBR 生成的,用于描述外部自治系统的路由信息。
- 在构建好 SPF 树主干之后,会将 LSA 3、LSA 4 和 LSA 5 挂接到 SPF 树上,然后根据这些 LSA 中的信息计算到其他区域或外部自治系统的路由
- 如果某个 LSA 无法挂接到 SPF 树上(例如,没有合适的路径到达该 LSA 所描述的网络),则会直接忽略该 LSA
OSPF的开销修改实现主备路由、等价路由等
同一个链路的两个开销可以不一致,但是建议一致
三层交换机的VLAN也可以修改开销
5 OSPF选路原则
- 按照路由类型的优先级选择
- 区域内路由(Intra Area)
- 区域间路由(Inter Area)
- 第一类外部路由(Type1 External)
- 第二类外部路由(Type2 External)
- 在类型相同的情况下,选择路由开销(Cost)较小的路由
6 OSPF LSA的泛洪
- 1 类 LSA 的产生与传播
- 在 Area 1 中,路由器 R3 会产生 1 类 LSA(链路状态通告类型 1)
- 1 类 LSA 描述了路由器自身的链路状态信息,包括直连的网络、掩码、开销等
- R3 产生的 1 类 LSA 会在 Area 1 内进行洪泛,也就是发送给 Area 1 内的所有邻居路由器,例如 R1
- 3 类 LSA 的产生与传播
- R1 作为 Area 1 和 Area 0 之间的区域边界路由器(ABR),会收到 R3 的 1 类 LSA
- 然后,R1 会根据 1 类 LSA 中的信息生成 3 类 LSA(链路状态通告类型 3)
- 3 类 LSA 用于在不同区域之间传递路由信息,它是对区域内路由的摘要
- R1 生成的 3 类 LSA 会在 Area 0 内进行洪泛,发送给 Area 0 内的其他路由器,例如 R5。
- 3 类 LSA 的重新生成与传播
- R6 作为 Area 0 和 Area 2 之间的 ABR,会收到 R1 生成的 3 类 LSA
- 然后,R6 会重新生成 3 类 LSA,并在 Area 2 内进行洪泛,发送给 Area 2 内的路由器,例如 R2。
- RIP 更新信息的传播
- R2 连接着一个运行 RIPv2(路由信息协议版本 2)的自治系统
- R2 会从 RIPv2 域中学习到路由信息(例如 172.16.6.1/24),然后这些路由信息会以某种方式(可能是通过重发布)在 OSPF 域内传播
- 5 类 LSA 和 4 类 LSA 的产生与传播
- R2 作为自治系统边界路由器(ASBR),会从 RIPv2 域中学习到路由信息,然后生成 5 类 LSA(链路状态通告类型 5)
- 5 类 LSA 用于描述外部自治系统的路由信息
- 同时,R2 会在自己的 1 类 LSA 中设置 ASBR 位为 1,表明自己是 ASBR
- R2 生成的 5 类 LSA 会在整个 OSPF 域内进行洪泛,包括 Area 2、Area 0 和 Area 1
- 当其他路由器(如 R6、R5、R1)收到 5 类 LSA 后,会生成 4 类 LSA(链路状态通告类型 4)
- 4 类 LSA 用于描述 ASBR 的位置信息,帮助其他路由器找到 ASBR,以便能够到达外部自治系统的路由。
- R6 生成的 4 类 LSA 会在 Area 0 内进行洪泛,R1 生成的 4 类 LSA 会在 Area 1 内进行洪泛
- RIP 更新信息的传播
- R2 会从 RIPv2 域中学习到路由信息,并在 OSPF 域内传播这些信息
- LSA 类型对应场景
- 区域内路由信息传递主要依靠 1 类 LSA
- 区域间路由信息传递依靠 ABR 生成的 3 类 LSA
- 外部自治系统路由信息引入 OSPF 域依靠 ASBR 生成的 5 类 LSA,同时需要 ABR 生成 4 类 LSA 辅助定位 ASBR
- 关键路由器作用
- ABR 是区域间路由的桥梁,负责 LSA 的转换与转发
- ASBR 是 OSPF 域与外部网络的接口,负责外部路由的引入
- 洪泛范围差异
- 不同类型 LSA 洪泛范围严格限定,这是为了控制路由信息传播范围,减少网络开销,同时保证路由信息的有效性和针对性
- 1 类 LSA 若跨区域洪泛会导致路由信息冗余和计算复杂度过高,而 5 类 LSA 若限制在区域内则无法实现外部路由的全网可达
7 OSPF协议的路由聚合/汇总
ABR或ASBR将具有相同前缀的路由信息聚合后发布到其它区域
减少LSA3类、LSA5类的数目,减少路由信息
减小路由表的规模
提高路由器的运算速度
OSPF区域路由汇总配置命令
OSPF外部路由汇总配置命令
- HUAWEI模拟器eNSP只支持ABR的路由汇总,不支持ASBR的路由汇总
五 OSPF的特殊区域
特殊区域目的:减少链路状态数据库的大小
特殊区域是指人为定义的一些区域,它们在逻辑中一般位于OSPF区域的边缘,只与骨干区域相连
常见的特殊区域有以下几类:
Stub区域(末梢区域)
Totally Stub区域(完全末梢区域)
NSSA区域(非纯末梢区域)
完全NSSA区域(完全非纯末梢区域)
1 STUB区域
需求
- 并不是每一台路由器都需要了解所有外部目的地的信息的
- 不管OSPF区域外部的目的地在哪里,在区域1中的路由都必须发送数据包到达ABR路由器,以便到达那个ASBR路由器
- 在这种情况下,区域1可以被配置成为一个末梢区域
STUB末梢区域
Stub区域是一个不允许AS外部LSA通告在其内部进行泛洪的区域
Stub区域的特性:
允许学习Type 3 LSA
拒绝Type 4、 Type 5 LSA
Default LSA作为Summary LSA注入到该区域,用以弥补学不到Type 5 LSA的信息,通过ABR被宣告到 Stub area
外部路由的振荡不会波及Stub区
Stub区域路由器的路由表条目
- 默认路由+区域间路由+区域内路由
在末梢区域中有4个限制条件
一个末梢区域内部的所有路由器也必须拥有相同的链路状态数据库
虚链路不能在一个末梢区域内进行配置,也不能穿过一个末梢区域
末梢区域内的路由器不能是ASBR路由器
一个末梢区域可以拥有多台ABR路由器,但是因为缺省路由的原因,区域内部路由器不能确定哪一台路由器才是到达ASBR路由器的最优的网关
STUB区域配置
2 Totally STUB区域
完全Stub区域中最受限的形式:
拒绝所有的External LSA : 类型5
拒绝具体的Summary LSA :类型4和3
Default LSA作为Summary LSA注入到该区域,用来代表他所拒绝的路由信息
LSDB更小,路由信息更稳定,路由数量更少
默认路由+区域内路由
区域内不会有其他区域的具体路由
完全STUB区域配置
3 NSSA区域
- 带有一些末梢网络的R4必须通过区域2的其中R2和图中的OSPF网络相连
- R4仅支持RIP协议,因此,区域2的R2将同时运行RIP协议和OSPF协议,并利用路由重新分配的方法把末梢网络注入到OSPF域
- 上述的配置使区域2的R2成为一台ASBR路由器,因此,区域2就不能再是一个末梢区域了
NSSA系统外部LSA (NSSA External LSA)(Type 7)
始发于ASBR路由器的,用来通告到达OSPF自主系统外部的目的地或者OSPF自主系统外部的缺省路由的LSA
NSSA外部LSA通告只在始发这个七类LSA的NSSA区域中进行泛洪
NSSA区域配置
4 完全NSSA区域
- 完全非纯末梢区域允许外部路由通告到OSPF自主系统内部,并使用缺省路由到达这个区域外部的所有目的地址
- 完全非纯末梢区域的ABR将不仅阻塞AS外部LSA,而且阻塞所有的汇总LSA,但除了通告缺省路由的那一条类型3的LSA
- 拒绝所有的External LSA : 类型5
- 拒绝具体的Summary LSA :类型4和3
- Default Summary LSA注入到本区域,用来代表他所拒绝的路由信息
完全NSSA区域配置
特殊区域类型 | 作用 | 特性 | 与其他特殊区域的不同点 |
---|---|---|---|
Stub 区域(末梢区域) | 减少区域内路由信息数量,简化路由计算,降低网络开销 | 1. 不接收外部自治系统的路由信息(4、5 类 LSA) 2. ABR 会自动向区域内发布一条缺省路由(3 类 LSA) 3. 允许接收其他区域的路由摘要信息(3 类 LSA) | 与完全末梢区域相比,允许接收其他区域的路由摘要信息(3 类 LSA);与 NSSA 区域和完全 NSSA 区域相比,不允许接收 7 类 LSA |
Totally Stub 区域(完全末梢区域) | 进一步减少区域内路由信息数量,提高网络稳定性和安全性 | 1. 不接收外部自治系统的路由信息(4、5 类 LSA) 2. 不接收其他区域的路由摘要信息(3 类 LSA) 3. ABR 会自动向区域内发布一条缺省路由(3 类 LSA) | 与 Stub 区域相比,不允许接收其他区域的路由摘要信息(3 类 LSA);与 NSSA 区域和完全 NSSA 区域相比,不允许接收 7 类 LSA |
NSSA 区域(非纯末梢区域) | 在限制外部路由信息的同时,允许接收来自特定外部自治系统的路由信息 | 1. 不接收外部自治系统的路由信息(4、5 类 LSA) 2. 允许接收来自外部自治系统的路由信息,但这些路由信息是以 7 类 LSA 的形式在区域内传播的 3. 允许接收其他区域的路由摘要信息(3 类 LSA) 4. ASBR 会自动向区域内发布一条缺省路由(7 类 LSA,可选) | 与 Stub 区域和完全末梢区域相比,允许接收 7 类 LSA;与完全 NSSA 区域相比,允许接收其他区域的路由摘要信息(3 类 LSA) |
完全 NSSA 区域(完全非纯末梢区域) | 在 NSSA 区域的基础上,进一步减少区域内的路由信息数量 | 1. 不接收外部自治系统的路由信息(4、5 类 LSA) 2. 不接收其他区域的路由摘要信息(3 类 LSA) 3. 允许接收来自外部自治系统的路由信息,但这些路由信息是以 7 类 LSA 的形式在区域内传播的 4. ABR 会自动向区域内发布一条缺省路由(3 类 LSA) 5. ASBR 会自动向区域内发布一条缺省路由(7 类 LSA,可选) | 与 NSSA 区域相比,不允许接收其他区域的路由摘要信息(3 类 LSA);与 Stub 区域和完全末梢区域相比,允许接收 7 类 LSA |
缺省路由发布总结
区域类型 配置命令 LSA 类型 发布者 发布范围 标准区域 default-information originate LSA 5(OE1/OE2) ASBR 自动 OSPF 域内(包括所有区域) Stub 区域 area x stub LSA 3(OIA) ABR 自动 区域内 Totally Stub 区域 area x stub no-summary LSA 3(OIA) ABR 自动 区域内 NSSA 区域 area x nssa default-information originate LSA 7(ON1/ON2) ASBR 自动 区域内 Totally NSSA 区域 area x nssa no-summary LSA 3(OIA) ABR 自动 区域内
特殊区域 LSA 允许情况总结
区域类型 1&2 类 LSA 3 类 LSA 4&5 类 LSA 7 类 LSA 骨干区域(区域 0) 允许 允许 允许 不允许 普通区域 允许 允许 允许 不允许 末梢区域 允许 允许 不允许 不允许 完全末梢区域 允许 不允许 不允许 不允许 NSSA 允许 允许 不允许 允许 完全 NSSA 区域 允许 不允许 不允许 允许
完全纯末梢区域==同时拒绝三类
域 | area x nssa no-summary | LSA 3(OIA) | ABR 自动 | 区域内 |
特殊区域 LSA 允许情况总结
区域类型 1&2 类 LSA 3 类 LSA 4&5 类 LSA 7 类 LSA 骨干区域(区域 0) 允许 允许 允许 不允许 普通区域 允许 允许 允许 不允许 末梢区域 允许 允许 不允许 不允许 完全末梢区域 允许 不允许 不允许 不允许 NSSA 允许 允许 不允许 允许 完全 NSSA 区域 允许 不允许 不允许 允许