OSPF 协议 所属等级: H3CNE
一、协议概述: A、由来和概述: 1、RIP 缺陷: RIP最突出的特性是使用跳数作为路由好坏的度量:跳数最小即认为该路由最优。但是实际应用的时候并不合适,以网络带宽和链路状态来衡量网络质量会更加合理。
RIP限制最大跳数为15,跳数16就变成了RIP路由协议“不可到达的远方”。因此RIP无法用于搭建大规模的网络。
RIP 的收敛速度慢,RIP 会对不可达路由的信息更新进行抑制,原路由失效,新路由要等到抑制时间结束后,才能更新。
RIP 的更新周期长,一个路由器突然离线,其它路由器要很长时间才能发现。
RIP 使用广播发送全部路由信息,网络规模越大,路由信息占用的网络资源也越大。
2、OSPF 原理: 开放式最短路径优先 OSPF 是 IETF 组织开发的一个基于链路状态的内部网关协议(IGP)。针对 IPV4 协议使用的是OSPF v2;针对IPV6版本使用的是 OSPF v3。支持 VLSM 和 CIDR。采用组播(224.0.0.5/224.0.0.6)和单播方式收发报文。基于IP报文传输,协议号为89。OSPF 具有无环路、收敛快、扩展性好、支持认证和负载分担。cost 值的取值范围是 1 到 65,535。
OSPF 通过同一个路由域内的路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个 OSPF 路由器使用这些最短路径构造路由表。在这里,路由域是指一个自治系统,即 AS。它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。
在这个 AS 中,所有的 OSPF 路由器都维护一个相同的描述这个 AS 结构的链路状态数据库(LSDB),该数据库中存放的是路由域中相应链路的状态信息,OSPF 路由器正是通过这个数据库计算出其 OSPF 路由表的。OSPF 将链路状态组播数据LSA(OSPF 接口上的描述信息,例如接口上的 IP 地址,子网掩码,网络类型,Cost 值等等)传送给在某一区域内的所有路由器。
这一点与距离矢量路由协议不同。运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。与 RIP 相比,OSPF 是链路状态协议,而 RIP 是距离矢量协议。不同厂商管理距离不同,思科 OSPF 的协议管理距离(AD)是110,华为 OSPF 的协议管理距离是150。
如图所示,每台路由器都会收集其它路由器发来的 LSA,所有的 LSA 放在一起便组成了链路状态数据库 LSDB。LSA 是对路由器周围网络拓扑结构的描述,LSDB 则是对整个自治系统的网络拓扑结构的描述。路由器将 LSDB 转换成一张带权的有向图,这张图便是对整个网络拓扑结构的真实反映。在网络拓扑稳定的情况下,各个路由器得到的有向图是完全相同的。
路由器根据最短路径优先(Shortest Path First)算法计算到达目的网络的路径,而不是根据路由通告来获取路由信息。
3、OSPF 特点: OSPF 是无类别链路类型IGP协议,作为一种链路状态的路由协议,OSPF 将链路状态组播数据 LSA(Link State Advertisement)传送给在某一区域内的所有路由器,OSPF 通过获得网络中所有的链路状态信息,从而计算出到达每个目标精确的网络路径。OSPF 是大中型网络上使用最为广泛的 IGP 协议。OSPF 通过 LSA 的形式发布路由。
OSPF 对网络没有跳数限制;
OSPF 并不会周期性更新路由表,而采用增量更新,即只在路由有变化时,才会发送更新,并且只发送有变化的路由信息;事实上,OSPF 是间接设置了周期性更新路由的规则,因为所有路由都是有刷新时间的,当达到刷新时间阀值时,该路由就会产生一次更新,默认时间为1800秒,即30分钟,所以 OSPF 路由的定期更新周期默认为30分钟。OSPF 收敛较快。
区域内的路由器都具有相同的全局拓扑图
使用组播进行互相通信。OSPF使用组播地址(224.0.0.5和224.0.0.6)作为目的地址。224.0.0.5 所有 OSPF 路由器都要接收,Hello 报文、LSA 泛洪(一般 LSA1、LSA2)使用,对应二层MAC 地址 01-00-5E-00-00-05;224.0.0.6 所有 DR/BDR,Hello 报文(DR/BDR 监听)、LSA2(DR 生成)使用,对应二层MAC 地址 01-00-5E-00-00-06
每个区域里的路由器都有一个区域的ID。
每个 OSPF 路由只维护自己所在区域的完整链路状态信息。
以开销(cost)作为度量值
采用 SPF 算法可以有效的避免环路
不支持自动汇总,支持手动汇总
OSPF支持多进程,在同一台设备上可以运行多个不同的OSPF进程,不同OSPF进程之间相互独立。但是设备的一个接口只能属于某一个OSPF进程。
4、OSPF 支持网络: 缺省情况下网络类型
链路层协议
路由状态(缺省)
广播类型( Broadcast)
以太网( Ethernet)、FDDI(光纤局域网)
自动发现邻居,选举DR/BDR,hello时间10s,超时为40秒。通常以组播形式发送Hello报文、LSU报文和LSAck报文。其中,224.0.0.5的组播地址为OSPF设备的预留IP组播地址;224.0.0.6的组播地址为DR/BDR的预留IP组播地址。
以单播形式发送DD报文和LSR报文。
NBMA(非广播多路)
ATM、X.25、帧中继
在系统视图(全局配置模式)手工配置邻居,选举DR/BDR,hello时间30s,超时时间40秒,以单播形式发送所有报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)
P2P(点到点)
PPP、HDLC、LAPB
自动发现邻居,不选举DR/BDR,hello时间10s,超时死亡时间40s,以组播形式(224.0.0.5)发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)
P2MP(点到多点)
没有协议缺省会认该类型,点到多点必须是由其他的网络类型强制更改的
不选举DR/BDR,hello时间30s,超时死亡时间120s,模拟组播形式(224.0.0.5)发送Hello报文。
以单播形式发送其他协议报文(DD报文、LSR报文、LSU报文、LSAck报文)
OSPF 建立邻居必须两端的 Hello 包兼容,而网络类型会影响 Hello 包内容,所以建议两端配置一致的网络类型,避免邻居建立失败。广播网、NBMA、P2MP要求接口必须是同一网段,两邻居接口掩码位数一致。P2P无此限制。网络类型不一致可能导致邻居能建立,但LSA类型和路由计算流程不匹配,实际部署中务必统一网络类型。
5、OSPF 无环路原因: OSPF(Open Shortest Path First)使用 Dijkstra 算法计算最短路径,但是在计算路径时,它会避免自环路由的出现。具体来说,OSPF使用以下两种方式 来避免自环:
在网络中建立一个单一的区域(area),并要求该区域内的所有路由器都要运行相同的SPF(Shortest Path First)算法。这样,路由器只能从该区域中的其他路由器学习到路由信息,而不会从其自身学习到路由信息,从而避免了自环路由的出现。
OSPF协议规定,路由器不会将出现在其节点上的LSA(Link State Advertisement)信息重新发送给其它节点。这意味着,如果一个路由器在某个节点的LSA中出现,其他节点将不会收到来自该节点的重复信息,从而避免了自环路由的出现。
总之,OSPF通过在网络中建立区域和限制LSA信息的传递,来避免自环路由的出现。
B、协议术语: 1、五种数据报文: OSPF协议通过IP协议号89封装,共定义了5种基本报文类型,分别是Hello、DBD、LSR、LSU和LSAck报文。这些报文分别负责邻居发现、数据库摘要交换、链路状态请求、链路状态更新以及链路状态确认,共同保障OSPF邻居关系的建立、维护与路由信息的可靠同步。
LSA是OSPF协议的核心,用于描述网络的拓扑和路由信息。随着OSPF协议的发展(从OSPFv2到OSPFv3),LSA类型也逐渐扩展。在OSPFv2(IPv4)中,定义了7种基本的LSA类型。
LSA 不是“单独出现在某个固定字节段”,而是作为完整的数据负载,被封装在 LSU(Link-State Update)报文的 Data 区域里。一句话:只有 LSU 报文才携带 LSA,其它 4 种报文(Hello/DBD/LSR/LSAck)绝不携带 LSA;LSA 位于 LSU 的“LSA 列表”字段,从 IP 层看就是 IP 报文的纯 payload。 所有收到的LSA都会被存放在LSDB(链路状态数据库) 中。路由器通过交换LSA来达到LSDB的同步。
报文类型
周期发送
主要作用
报文结构主要字段(不含OSPF通用头)
说明备注
传输时机
Hello
是
(默认10s)
用于发现邻居、建立邻接关系、维持邻接关系、确保双向通信、选举DR和BDR(10条信息,4个必要)
- Router ID- Area ID- Network Mask- Hello/Dead Interval- Priority- DR / BDR- Neighbor List
打招呼用的报文,类似“嗨,我在这儿,有人吗?”
邻居建立前 / 后均发送
DD(Database Description)
否
携带链路状态数据库的摘要信息
确定主从关系(Master/Slave)
- Interface MTU- Options字段- DD序列号- I/M/MS标志位- LSA Header摘要列表(多项)
像“目录清单”,告诉对方:“我这有这些资料,你要不要看看?”
邻居建立后(2-Way 之后)
LSR(Link State Request)
否
向邻居请求缺失或更新的 LSA
- LSA Type- Link State ID- Advertising Router (可多项)
请求阶段发出,表明自己缺了什么LSA
收到 DBD 后,发现 LSDB 差异时
LSU(Link State Update)
否
发送具体 LSA 内容,进行数据库更新
- LSA数量- 每个完整LSA结构(Header + 内容)
是实际的“更新包”,携带完整LSA
收到 LSR 后,或链路状态变化时
LSAck(Link State Acknowledgment)
否
链路状态确认包(用来进行 LSA 可靠的泛洪扩散,即对可靠包的确认)
- LSA Header列表(每个LSA一个Header)
只确认Header,表示“我收到了”
收到 LSU 后立即发送
OSPF 报文通用24字节头部字段(5种报文都有)
字段
长度(字节)
核心作用
Version
1
OSPF 版本号(目前主流为 Version 2,适用于 IPv4;Version 3 适用于 IPv6)
Type
1
报文类型(1=Hello,2=DBD,3=LSR,4=LSU,5=LSACK)
Packet Length
2
整个 OSPF 报文的总长度(包含公共头部),单位:字节
Router ID
4
发送方路由器的标识(通常为路由器环回口 IP 或指定的物理口 IP,全网唯一)
Area ID
4
发送方所在的 OSPF 区域 ID(标识报文所属的区域,保障区域内 / 间的路由隔离)
Checksum
2
对整个 OSPF 报文的校验和(检测报文传输过程中的损坏)
Auth Type
2
认证类型(0 = 无认证,1 = 简单密码认证,2=MD5 加密认证,保障报文安全性)
Authentication
8
认证信息(无认证时为 0;简单认证时为明文密码;MD5 认证时为加密摘要)
2、区域和路由器划分**:** 为了适应大型的网络,OSPF 在 AS 内划分多个区域。每个 OSPF 路由器只维护所在区域的完整链路状态信息。每个区域都有一个区域 ID。区域ID(Area ID)是一个32位的标识符,可以表示为点分十进制形式(如A.B.C.D)或一个十进制整数。点分十进制形式的Area ID实际上是一个32位数,其中每个部分(A、B、C、D)分别代表8位,组合起来形成一个完整的32位值。例如:Area 0.0.1.0 等同于 Area 256。
每个区域就如同一个独立的网络,该区域的 OSPF 路由器只保存该区域的链路状态。每个路由器的链路状态数据库都可以保持合理的大小,路由计算的时间、报文数量都不会过大。
1、骨干区域 area0:骨干区域负责区域间路由信息传播。作为中央实体,其他区域与之相连,骨干区域编号为 0,在该区域中,各种类型的 LSA 均允许发布。不一定非要有骨干区域,但是多区域之间互通必须通过骨干区域
2、非骨干区域:传播信息要经过骨干区域转发;非骨干区域必须通过骨干区域进行通信,但并不是必须有一个是骨干区域,因为可以使用虚连接。据能够学习的路由种类来区分以下几类:
标准区域:除骨干区域外的默认的区域类型,在该类型区域中,各种类型的 LSA 均允许发布。
末梢区域(Stub Area ):即 STUB 区域,该类型区域中不接受关于 AS 外部的路由信息,即不接受类型5的 AS 外部 LSA,需要路由到自治系统外部的网络时,路由器使用缺省路由(0.0.0.0),末梢区域中不能包含有自治系统边界路由器ASBR。虚连接不能穿越STUB区域。骨干区域不能配置STUB区域,也就是区域0不能设置STUB区域。在STUB区域中的路由器必须配置为STUB。STUB区域内不能引入也不能接受AS的外部路由。区域内的所有路由器(包括 ABR 和内部路由器)必须统一配置 STUB 区域属性,确保路由信息的一致性,避免因配置不一致导致的路由学习异常。
完全末梢区域(Total Stub Area ):该类型区域中不接受关于 AS 外部的路由信息,同时也不接受来自 AS 中其他区域的汇总路由,即不接受类型3、类型4、类型5的LSA,完全末梢区域也不能包换有自治系统边界路由器 ASBR。
非纯末梢区域(NSSA):NSSA 是对 OSPF RFC 的补充。这种区域定义了一种特殊的 LSA —— 7 类 LSA 。NSSA 具有末节区域的优点,它们不接受有关自治系统外部的路由的信息(也就是该区域不接受 LSA 4 和 LSA 5,但有 LSA 7),而使用默认路由前往外部网络。然而,NSSA 可以包含 ASBR,这违反了关于末节区域的规则。区域内的 ABR 不会向 NSSA 内泛洪 4、5 类 LSA, 区域内存在 ASBR 产生的 7 类 LSA 时,ABR 会将 7 类 LSA 转换为 5 类 LSA ,并向非 Stub 类型的其他区域(如 Backbone 或普通区域)泛洪。
网络中一台路由器可以属于多个不同的区域,但这些区域可能是骨干区域,也可能不是骨干区域,非骨干区域必须通过骨干区域进行通信,但并不是必须有一个是骨干区域;同一个 OSPF 区域内的路由器互为邻居关系和邻接关系。LSDB 只有同一个 AS 内的同一个 OSPF 区域才会一样。
OSPF 根据 路由器所处区域的位置和功能 ,可以分为 4 种:
路由器类型
所在区域
维护的 LSDB 数量
产生的主要 LSA 类型
作用
条件
内部路由器(Internal Router)
仅属于一个区域
✅ 1份(该区域的 LSDB)
1类、2类(若为DR)
维护本区域路由信息;维护本区域 LSDB
所有接口都在同一个区域
区域边界路由器(ABR, Area Border Router)
属于两个或多个区域
✅ 多份(每个区域一份 LSDB)
1类、2类(各自区域内)+ 3类(区域间路由)、4类(指向 ASBR 的路由)
在不同区域之间传递路由信息。把某区域的详细路由信息汇总成“简化版”发给骨干区域(Area 0)
接口跨越多个区域,至少一个在 Area 0
自治系统边界路由器(ASBR, Autonomous System Boundary Router)
属于某个区域,同时连接外部AS
✅ 1份(其所在区域的 LSDB)
1类、5类(或7类)、2类(如为DR)
负责引入外部路由(Redistribute);产生外部路由 LSA
位于 Area 0 内
骨干路由器(Backbone Router)
至少属于 Area 0
✅ 至少 1份(Area 0 的 LSDB)
1类、2类(若为DR)
维护主干区域拓扑;维护主干区 LSDB
把外部路由引入 OSPF
为什么非骨干区域必须和骨干区域相连接?由于区域间OSPF是距离矢量的,是容易产生路由回环的。为了避免回环,所以区域间的流量必须经由骨干区域来传递。划分区域的好处在于减少LSA的泛洪,减少路由表的大小。
OSPF 区域类型
Type 1(路由器 LSA)
Type 2(网络 LSA)
Type 3(网络汇总 LSA)
Type 4(ASBR 汇总 LSA)
Type 5(AS 外部 LSA)
Type 7(NSSA 外部 LSA)
骨干区域(Area 0)
✅ 允许
✅ 允许
✅ 允许(所有跨区域汇总信息)
✅ 允许
✅ 允许
✅ 允许(仅转发 NSSA 区域传来的)
标准区域(非骨干)
✅ 允许
✅ 允许
✅ 允许(所有跨区域汇总信息)
✅ 允许
✅ 允许
❌ 禁止
末梢区域(STUB)
✅ 允许
✅ 允许
✅ 允许(仅含 “默认路由 + 本区域关联网段”)
❌ 禁止
❌ 禁止
❌ 禁止
完全末梢区域(Totally STUB)
✅ 允许
✅ 允许
✅ 允许(仅一条默认路由 ,无其他跨区域信息)
❌ 禁止
❌ 禁止
❌ 禁止
NSSA 区域
✅ 允许
✅ 允许
✅ 允许(所有跨区域汇总信息)
❌ 禁止
❌ 禁止
✅ 允许(本区域 ASBR 发布)
完全 NSSA 区域(Totally NSSA)
✅ 允许
✅ 允许
✅ 允许(仅一条默认路由 ,无其他跨区域信息)
❌ 禁止
❌ 禁止
✅ 允许(本区域 ASBR 发布)
3、Router ID**:** Router ID 是用于在自治系统中唯一标识一台运行 OSPF 的路由器的32位整数,Router-ID 相当于人的名字,用于路由器之间分不清谁是谁。如果没有办法确定各自的身份,那么通告的链路状态就是毫无意义的,所以必须给每一个 OSPF 路由器定义一个身份,这就是 Router-ID,并且 Router-ID 在网络中绝对不可以有重名,否则路由器收到的链路状态,就无法确定发起者的身份,也就无法通过链路状态信息确定网络位置。
OSPF 路由器发出的链路状态都会写上自己的 Router-ID,可以理解为该链路状态的签名,不同路由器产生的链路状态,签名绝不会相同。如果一台路由器收到一条链路状态,无法到达该 Router-ID 的位置,就无法到达链路状态中的目标网络。Router-ID 只在OSPF启动时计算,或者重置 OSPF 进程后计算。每一台 OSPF 路由器只有一个 Router-ID,Router-ID 使用 IP 地址的形式来表示,确定 Router-ID 的方法为:
手工指定 Router-ID。
路由器上活动 Loopback 接口中 IP 地址最大的,也就是数字最大的,如 C 类地址优先于B类地址,一个非活动的接口的IP地址是不能被选为 Router-ID 的。
如果没有活动的 Loopback 接口,则选择活动物理接口 IP 地址最大的。
4、LSA 类型解析**:** LSA(Link State Advertisement,链路状态通告)是 OSPF 协议的 “核心信息载体”,用于描述网络拓扑细节(如路由器接口、网段、外部路由等)。
不同类型的 LSA 承担不同功能,且仅在特定 OSPF 区域内传播,最终共同构成路由器的 “链路状态数据库(LSDB)”,为路由计算提供依据。
所有 LSA 都包含20 字节的公共头部 ,用于标识和管理 LSA,核心字段如下(不同类型 LSA 的差异仅在头部后的 “具体内容”):
无论是哪种类型的 LSA,通过三个字段才可以唯一的表示一个 LSA:LSA 类型(LS Type)、LSA 名字(Link State ID)、产生 LSA 的路由器(Advertising Router)。也称为LSA三元组。
字段名
长度
含义
LS age
16比特
LSA产生后所经过的时间,单位是秒。无论LSA是在链路上传输,还是保存在LSDB中,其值都会在不停的增长。
Options
8比特
可选项:
• E:允许泛洪AS-External-LSA。
• N/P:处理Type7 LSA。
• DC:处理按需链路。
LS type
8比特
LSA的类型:
• Type1:Router-LSA。
• Type2:Network-LSA。
• Type3:Network-Summary-LSA。
• Type4:ASBR-Summary-LSA。
• Type5:AS-External-LSA。
• Type7:NSSA-LSA。
Link State ID
32比特
与LS Type一起描述路由域中唯一一个LSA。
Advertising Router
32比特
产生此LSA的设备的Router ID。
LS sequence number
32比特
LSA的序列号。其他设备根据这个值可以判断哪个LSA是最新的。
LS checksum
16比特
除了LS age外其他各域的校验和。如果收到的LSA损坏<Checksum错误>,则不接收该LSA,但会继续泛洪告知该LSA存在问题
length
16比特
LSA的总长度,包括LSA Header,以字节为单位。
LSA 类型
名称
生成者
泛洪范围
适用区域
区域间传播方式
说明
跨区域传播
跨区域时是否变化
区域间传播方式
备注
1
Router LSA
区域内所有路由器
区域内
所有区域(含 Stub)
区域内泛洪
每个路由器生成的 Router LSA 只包含该路由器和直接连接的网络信息,仅在所在区域内传播,不会跨越到其他区域。
不会传播
-
仅在本地区域内传播,不能跨区域传播
2
Network LSA
DR(指定路由器)
区域内
所有区域(含 Stub)
区域内泛洪
由 DR(指定路由器)生成,描述网络中连接的所有路由器。仅在本区域内传播,不会跨越到其他区域。
不会传播
-
在广播和非广播多路访问(NBMA)网络中生成,且仅在本地区域传播
3
Summary LSA(IP 前缀)
ABR
区域间
所有区域(Stub 可用,Totally Stub 抑制)
ABR 重生成再泛洪
区域间的路由汇总信息,LSA 由 ABR(区域边界路由器)生成。不同区域之间的 Summary LSA 可能会根据 ABR 的汇总配置发生变化(如某些路由可能被汇总为一个更大的路由前缀)。
会传播
会变化(ABR 重生成)
跨区域传播,用于区域间的路由汇总
4
Summary LSA(ASBR 信息)
ABR
区域间
Totally Stub 区域和 Totally NSSA 区域会过滤 Type 4 LSA,不允许其存在
ABR 重生成再泛洪
由 ABR 生成,用于标识和传播 ASBR 在 OSPF 网络中的可达性。跨区域传播,通常用于连接外部路由器(如 BGP、静态路由)。
会传播
会变化(ABR 重生成)
跨区域传播,描述 ASBR(自治系统边界路由器)可达性
5
AS External LSA
ASBR
全网(除 Stub/NSSA)
Regular Area(不进 Stub/NSSA)
ASBR 生成后全网泛洪
描述从 ASBR 学到的外部路由(如与外部路由协议互联的网络)。跨越所有区域传播。如果外部网络发生变化,相关的 External LSA 也会发生变化。
会传播
不变
跨所有区域传播,描述外部网络的可达性
泛洪LSA时,遇到NSSA 区域,NSSA 会转换为 Type7 → Type5
有 E1/E2 开销类型E1 :外部开销 + 到 ASBR 的内部开销E2 :只计外部开销(内部开销忽略)
6
Type 6 - Group Membership LSA
原MOSPF路由器
全网
全网
已废弃
用于组播路由信息的传播,通常在多播环境下使用,跨区域传播。当组播组的成员发生变化时,LSA 会发生变化。
发生变化(组播组的变化)
跨区域传播,描述组播信息
7
NSSA External LSA
NSSA 内 ASBR
NSSA 内
NSSA(Not-So-Stubby Area)
NSSA ABR 转换为 LSA5 后全网泛洪
由 ASBR 生成,在 NSSA 区域内传递外部路由信息。与 Type 5 LSA 类似,但是专门针对 NSSA 区域。类型 7 的 LSA 在 NSSA 区域内有效,无法直接跨越到标准区域。
会传播(但不能直接出 NSSA)
会被 ABR 转换成 LSA5
仅在 NSSA(Not So Stubby Area)区域内传播,不能跨区域传播
8
Type 8 - Link Local LSA
OSPFv3 用于 IPv6 网络中的 LSA 类型,包含链路本地地址信息,传递 IPv6 链路状态信息。
不变
在 OSPFv3 中使用,传递链路本地信息
9
Opaque LSA(局部)
任意
区域内
所有区域
用于 IPv6 地址前缀的传播,仅在本地区域内传播,描述区域内部的网络前缀。
不变
在 OSPFv3 中用于描述区域内的网络前缀
10
Opaque LSA(区域范围)
任意
区域范围
所有区域
11
Opaque LSA(AS 范围)
任意
全网
所有区域
5、各类 LSA 核心字段对比: 字段类别
Type 1(Router LSA)
Type 2(Network LSA)
Type 3(Network Summary)
Type 4(ASBR Summary)
Type 5(AS External)
Type 7(NSSA External)
1. 基础标识字段
(共有)Link State ID、Advertising Router、LS Age、LS Sequence Number、LS Checksum
(共有)同上,无额外基础字段
(共有)同上
(共有)同上
(共有)同上
(共有)同上,额外增加P-bit(Propagate bit) (标记是否需 ABR 转换为 Type 5)
2. 拓扑 / 路由描述字段(核心差异)
- Router ID :产生者的 Router ID- Link Count :路由器的 OSPF 接口数量- Link List (链路列表):每个链路的类型(如点对点、Stub 网)、接口 IP、邻居 Router ID、度量值(Metric)
- Network Mask :广播 / NBMA 网络的子网掩码- Attached Router List :连接到该网络的所有路由器的 Router ID(含 DR/BDR)
- Network Mask :汇总后的子网掩码- Metric :ABR 到该汇总子网的度量值
- Network Mask :0.0.0.0(因仅需指向 ASBR,无需子网)- Metric :ABR 到 ASBR 的度量值
- Network Mask :外部路由的子网掩码- E-bit(External Bit) :E=0(Type 1 外部路由,Metric 叠加);E=1(Type 2 外部路由,Metric 仅取外部值)- Forwarding Address :转发外部流量的下一跳 IP(非 0.0.0.0 时生效)- External Metric :外部路由的度量值
- Network Mask :外部路由的子网掩码- E-bit :同 Type 5- Forwarding Address :同 Type 5- External Metric :同 Type 5- N-bit(Notification bit) :标记是否为 NSSA 区域的外部路由
3. 区域 / 范围关联字段
- 无(仅在本区域传播,字段隐含区域属性)
- 无(仅在本区域传播)
- 隐含 “从 ABR 所在区域传递到其他区域” 的属性
- 隐含 “指向 ASBR 所在区域” 的属性
- 无区域限制(除 NSSA)
- 隐含 “仅在 NSSA 区域内传播” 的属性,需 P-bit 控制转换
LSA Type
Link State ID
Advertising Router
Network Mask
Metric
关键标志 / 字段
用途与范围
1 Router
始发者 RID
始发者 RID
无(链路段级拓扑)
16 比特链路开销
V/E/B 标志;Link 字段携带链路类型 / 邻居 RID/DR IP / 子网等
区域内拓扑:接口、链路类型、开销
2 Network
DR 接口 IP
DR 的 RID
本网段掩码
无(配合 Type 1 得开销)
Attached Router(列出本网段所有 RID)
区域内广播 / NBMA 网段描述
3 Summary
目的网段 IP
本区域 ABR
目的网段掩码
24 比特域间开销
域间路由;跨 ABR 时 Adv Rtr 会改写
域间路由通告(区域间)
4 ASBR Summary
ASBR 的 RID
本区域 ABR
0.0.0.0(无意义)
24 比特到 ASBR 开销
指向 ASBR 位置;Adv Rtr 跨 ABR 改写
告知其他区域 “ASBR 在哪”
5 AS-External
外部路由前缀
ASBR(全程不变)
外部路由掩码
24 比特外部开销
E 标志(E1/E2);Tag 可选
外部路由;正常区域全网泛洪(非 Stub/NSSA)
C、建立邻居: 1、运行机制: 状态序号
状态名称
核心触发条件
设备核心行为
状态意义与后续走向
涉及报文类型
1
Down(初始)
设备刚启动 OSPF 进程,或未在 “Hello 死亡时间” 内收到邻居的 Hello 报文。
1. 周期性发送 Hello 报文(间隔由 “Hello 间隔” 决定,如以太网默认 10 秒);2. 未记录任何邻居信息。
OSPF 邻居关系的 “起点”,无任何邻居雏形,需等待 Hello 报文触发状态变更。
无
路由器未收到任何 Hello 报文
2
Init(初始化)
设备收到邻居发送的 Hello 报文,但报文中的 “邻居列表”(记录邻居的 Router ID)不含自身 Router ID。
1. 在本地邻居表中创建该邻居条目,状态标记为 Init;2. 后续发送的 Hello 报文中,将该邻居的 Router ID 加入 “邻居列表”。
确认 “单向可达”:知道邻居存在,但邻居尚未发现自己,属于邻居关系的初始雏形 。
Hello
向外发送 Hello,宣布自己存在
3
2-Way(双向确认)
设备收到邻居的 Hello 报文,且报文中的 “邻居列表” 包含自身 Router ID。
1. 将邻居状态从 Init 更新为 2-Way;2. 此时双方确认 “双向可达”,邻居关系正式成立 。
邻居关系的 “里程碑”:- 若为广播型网络(如以太网) :需选举 DR/BDR,非 DR/BDR 设备间仅停留在此状态;- 若为点到点 / 点到多点网络 :直接进入下一状态(无需 DR 选举)。
Hello
双方互相在 Hello 中看到对方 Router ID;在广播/多播网络中选举 DR/BDR
4
ExStart(交换启动)
2-Way 状态后,设备决定与邻居建立 “邻接(Adjacency)” 关系(如 DR/BDR 与其他设备、点到点网络设备)。
1. 发送DBD 报文(数据库描述报文) ,协商 “主从关系”(通过比较 Router ID,大的为主);2. 主设备决定 DBD 报文的发送顺序,从设备被动响应。
为后续 LSA 摘要交换做准备,确定 “谁主导数据同步”。
DD(Database Description)选举 Master/Slave,确定 DD 序列号;DD 报文开始出现
5
Exchange(交换)
主从关系协商完成。
1. 主设备发送 DBD 报文(含本地 LSA 数据库的 “摘要信息”,如 LSA 的类型、ID、通告者 ID、序列号);2. 从设备接收后,用 DBD 报文确认,并发送自己的 LSA 摘要;3. 双方记录已接收的 LSA 摘要,标记 “待请求的 LSA”。
完成 LSA 数据库的 “摘要同步”,明确双方需要补充的 LSA(避免全量发送,节省带宽)。
DD(Database Description)
双方通过 DD 报文互相交换 LSDB 摘要信息
6
Loading(加载)
Exchange 状态结束,双方发现本地缺少对方拥有的 LSA。
1. 发送LSR 报文(链路状态请求报文) ,向邻居请求缺失的 LSA;2. 邻居收到 LSR 后,用LSU 报文(链路状态更新报文) 携带完整 LSA 进行响应;3. 接收方收到 LSU 后,发送LSAck 报文(链路状态确认报文) 确认,避免 LSA 丢失。
主动补充缺失的 LSA,完成本地 LSA 数据库的 “增量同步”。
LSR(Link State Request) 、LSU(Link State Update) 、LSAck(Link State Acknowledgment)对比发现缺失的 LSA 后,请求(LSR)、更新(LSU)、确认(LSAck)
7
Full(完全邻接)
双方完成所有缺失 LSA 的请求与接收,本地 LSA 数据库完全一致。
1. 将邻居状态更新为 Full,在邻居表中标记 “邻接关系建立完成”;2. 后续仅周期性发送 Hello 报文保活,及触发式发送 LSA(如拓扑变化时)。
OSPF 邻居关系的最终目标状态 :仅 DR/BDR 与其他设备、DR 与 BDR、点到点网络设备间会达成,此时可基于一致的 LSA 数据库计算路由。
LSAck(Link State Acknowledgment)链路状态数据库同步完成,仅维持定期 Hello
2、寻找邻居**:** OSPF 协议启动后,先寻找网络中的邻居( Neighbor ),也就是通过 Hello 报文确认可以双向通信。如果两台路由器共享一条公共数据链路,并且能够成功协商各自 Hello 报文中所指定的某些参数,就能形成邻居关系。
常见原因
说明
Area ID 不一致
不在同一区域,邻居不成立
子网掩码不一致
掩码不同,无法匹配网络
Hello/Dead 时间不同
定时器参数不同,邻居失败
认证方式/密码不一致
一方未配置或口令不同
网络类型不一致
一端 P2P,一端 Broadcast 等
接口未加入 OSPF / 被被动接口
不发送 Hello
3、建立邻接关系: 一部分路由器形成邻居关系后,就开始进行建立邻接关系( Adjacency )。建立了邻居关系的路由器才能互相传递链路状态信息。
当邻接关系进入Full 状态 (LSDB 完全同步)后,DD 报文的使命基本完成,后续维护依赖其他机制:
建立邻接关系的通用前提(所有网络类型必满足)
双方 OSPF 进程号、区域 ID 一致;
Hello 间隔、Dead 间隔完全相同;
若启用认证:认证类型 + 密钥(含 ID)一致;
接口 IP 在同一子网(点到多点手动指定邻居除外);
Stub/NSSA 等特殊区域属性一致。
组合类型
特殊适配要求
广播 ↔ 非广播
1. 非广播端手动配置广播端 IP 为邻居;2. 统一双方 Hello/Dead 间隔
点到点 ↔ 广播 / 非广播
将广播 / 非广播端网络类型强制改为 “点到点”(避免 DR 选举冲突)
点到多点 ↔ 非广播
1. 非广播端强制改 “点到多点”;2. 必要时手动指定邻居;3. 统一间隔
非广播 ↔ 非广播
双方均手动配置对方 IP 为邻居(无组播自动发现)
不可能原因
核心依据
OSPF 进程号不同
进程号是设备内部标识,不影响设备间报文交互
直连接口 IP 不在同一网段
无法二层互通,Hello 报文丢失,连 Init 状态都无法进入
两台设备 Router ID 相同
ID 冲突导致 Hello 交互中断,停留在 Init 状态
仅非直连接口配置被动接口
直连接口仍能正常发送 / 接收 Hello 报文,不影响邻接推进
4、链路状态信息同步: 建立邻接关系的 OSPF 路由器在网络中交互 LSA (链路状态通告),最后形成包含网络完整链路状态信息的 LSDB(链路状态数据库)。
5、计算路由: LSDB 同步完成后,OSPF 区域内的每个路由器对网络结构有相同的认识,邻居路由器之间形成完全的邻接关系。然后,每台路由器根据 LSDB 的信息使用 SPF(最短路径优先)算法独立计算出路由。
6、维护和更新路由表: 根据 SPF 算法得出最短路径树后,每台路由器将计算得出的最短路径加载到 OSPF 路由表形成指导数据转发的路由表项,并且实时更新。同时,邻居之间交互 Hello 报文进行保活,维持邻居关系或邻接关系,并且周期性地重传 LSA。
网络变更时立即向另据发送 LSA 摘要信息 网络未变化,每隔 30min 向邻居发送 LSA 摘要邻居收到摘要,对比自身链路状态信息,发现对方具备自己没有的链路信息则发出请求,否则不做动作
降低 OSPF 路由计算负荷的原因和方法对照表
负荷来源
原因解释
降低负荷的方法
邻居数量过多
OSPF 需要与所有邻居建立邻接关系并维护心跳、LSA 交换,邻居越多,计算与维护开销越大
- 在广播/多访问网络中使用 DR/BDR 机制 ,减少全邻接数- 合理设计网络,避免过多邻居
区域过大
单一区域内路由器过多,LSA 泛洪范围大,路由计算量增大
- 使用 区域划分 ,将骨干与非骨干区域分开- 引入 Stub/ Totally Stub/NSSA 区域
频繁的拓扑变化
链路频繁抖动或不稳定导致 LSA 频繁更新,触发 SPF 计算
- 增加 接口抖动抑制(LSA 抑制/ SPF 抑制) - 提高链路质量,避免频繁 flap
LSA 数量过多
网络规模大,路由前缀多,LSA 表规模膨胀,导致 SPF 计算复杂
- 使用 路由汇总(Summary) 减少 LSA 数量- 在 ABR/ASBR 处做聚合
过度的外部路由引入
大量外部路由(如静态、BGP)注入 OSPF,形成 LSAs,导致计算与转发表压力大
- 控制 路由引入策略 ,只引入必要路由- 在 ASBR 做 汇总/过滤
SPF 计算频繁触发
每次 LSDB 变化都会触发 SPF,若拓扑不稳定会高频触发
- 调整 SPF 定时器(spf-delay、spf-holdtime) ,避免过于频繁计算
设备硬件性能不足
CPU 性能低或内存不足时,SPF 计算和 LSA 处理压力更明显
- 升级硬件或在设计时 减少该路由器的 OSPF 负担 (汇聚层/核心层承担更多计算)
D、选举 DR 和 BDR: 1、DR 和 BDR 的介绍 在 OSPF 协议中,DR(指定路由器)和 BDR(备份指定路由器)是用于减少 OSPF 网络中的路由器之间的链路状态更新(LSU)数量的重要角色。这种机制主要应用于多访问网络(如以太网)中,以优化 OSPF 的效率和性能。
DR(指定路由器) :
BDR(备份指定路由器) :
BDR 是 DR 的备份,在 DR 故障时,BDR 会接管 DR 的职责。和全部路由器建立邻接关系。
BDR 与所有其他路由器建立邻接关系,进行链路状态信息的交换,但不进行广播,除非它接管了 DR 的职责。
选举中优先级(或 Router ID)仅次于 DR 的路由器。若未指定 DR,BDR 会被优先选举为 DR;若已有 DR,BDR 则作为备份存在。
需同时监听两个组播地址:
DROther(其他路由器) :
在特定的多访问网络中既不是 DR 也不是 BDR 的路由器。
这些路由器与 DR 和 BDR 建立邻接关系,但不直接与其他 DR Other 路由器建立邻接关系。
选举中优先级(或 Router ID)低于 DR 和 BDR 的路由器,无法成为 DR 或 BDR(除非 DR/BDR 失效且重新选举时其优先级 / ID 更优)
仅监听224.0.0.5(AllSPFRouters),其生成的 LSA 需先发送给 DR/BDR(通过224.0.0.6),再由 DR/BDR 向全网分发;DR other 从 DR/BDR 获取同步的 LSA。
DR(指定路由器)和 BDR(备份指定路由器)是特定接口上的角色,而不是整台路由器的角色。也就是说,DR 和 BDR 的选举是基于每个多访问网络(如广播网络或 NBMA 网络)的接口,而不是整个路由器。在 OSPF 中,每个接口在连接到多访问网络时会参与 DR 和 BDR 的选举,并在该特定网络上承担相应的角色。这意味着同一个路由器在不同的网络中可以有不同的角色。
2、什么是 MA 网络: MA 网络,即多路访问网络,是在同一个共享介质中连接多个设备的网络。网络中的任意两台设备都能直接进行二层通信。MA 网络有两种,一种是 BMA 网络,即广播型多路访问网络,比如以太网,典型场景就是一台以太网交换机连接着多台路由器,如果有一个广播数据发出来,整个网络中的路由器都能收到。另一种是 NBMA 网络,即非广播型多路访问网络,比如帧中继,只是帧中继不支持广播。
在 MA 网络中,n 台路由器都两两建立邻接关系,那么就有 n(n-1)/2 个邻接关系,会消耗大量的路由器资源,增加网络中 LSA 的泛洪数量。为了优化邻接关系数量,减少不必要的协议流量,OSPF 会在每一个 MA 网络中选举一个 DR(指定路由器)和一个 BDR(备用指定路由器)。
既不是 DR 也不是 BDR 的路由器叫做 DR Other ,MA网络中所有 DR Other 只和 DR 及 BDR 建立 OSPF 邻接关系,BDR 也和 DR 建立邻接关系,DR Other 之间只停留在 2-Way 状态。这样,就有 2(n-2)+1 个邻接关系,数量得到优化。
DR 会侦听网络中的拓扑变化信息,并将变更信息通知给其它路由器。BDR 会监控 DR 状态,当 DR 发生故障时就接替它的工作。
3、选举过程: **DR 和 BDR 的选举:**DR 和 BDR 的选举过程在 OSPF 网络初始化时进行,也可以在网络拓扑发生变化时进行。通过 Hello 报文实现。如果路由器是在一个 MA 网络,邻居状态在 2-Way 后,会进行 DR 和 BDR 选举。选举过程如下:
路由器优先级 :Hello 报文有路由器接口的 DR 优先级,每个路由器都有一个优先级(Priority),范围为0到255,默认为1。优先级值越大,优先级越高,越可能被选为 DR 或 BDR。优先级为0的路由器不参与 DR 和 BDR 的选举。优先级为0的不参与选举。
Router ID :如果两个路由器的优先级相同,Router ID 较大的路由器将被选为 DR 或 BDR。
当接口激活 OSPF 后,它会查看网络中是否存在 DR ,如果有就使用已经存在的 DR ,也就是 DR 不可抢占,否则选择最高优先级的路由器成为 DR 。当优先级相等时,选择 Router-ID 最大的路由器成为 DR 。之后还会进行 BDR 的选举,选举过程与 DR 类似。
一旦选出 DR/BDR,不会自动重新选举 ,除非:当前 DR/BDR 故障;接口重启;网络拓扑变化导致重新建立邻居。
需要注意的是,DR 和 BDR 是一个接口级别的概念。某台路由器是 DR ,这种说法不准确,严谨的说法是:某台路由器的某个接口在这个 MA 网络中是 DR 。
在一个 MA 网络中,DR 要确保网络中的所有路由器有相同的 LSDB ,也就是确保 LSDB 同步。DR Other 感知到拓扑变化时,向 224.0.0.6 发送 LSU 报文通告这个变化,DR 和 BDR 会侦听这个组播地址。DR 使用组播地址 224.0.0.5 将汇总后的 LSA 再组播给所有路由器,所有 OSPF 路由器都会侦听这个组播地址,并同步自己的 LSDB 。
4、DD 报文: 在一个 MA 网络中,DR 要确保网络中的所有路由器有相同的 LSDB ,也就是确保 LSDB 同步。DR 使用组播地址 224.0.0.5 向网络中发送 LSU 报文,所有 OSPF 路由器都会侦听这个组播地址,并同步自己的 LSDB 。而 DROther 感知到拓扑变化时,向 224.0.0.6 发送 LSU 报文通告这个变化,DR 和 BDR 会侦听这个组播地址。
E、相关字段解释: 二、协议查缺补漏: A、邻居能建成但路由无法计算的常见原因 原因
详细解释
DR/BDR字段不一致
Broadcast端想要参与DR/BDR选举,而Point-to-Point端没有选举逻辑 → 导致LSA传播异常
Hello/Dead计时不一致
有时默认不匹配,虽然Hello能收,但会因状态不稳造成LSA撤销
LSA传递路径出错
网络类型不同会导致 Router-LSA或Network-LSA类型不一致 ,Link ID识别异常
Neighbor状态判断失误
某些场景下Neighbor表正常但 LSDB同步不完整或不一致 ,导致路由表未生成
Interface类型影响LSA Link-ID
Point-to-Point上Link ID是对端Router ID,而Broadcast是DR IP地址,导致Link信息不匹配
因类别
具体原因
现象描述
排查命令/检查点
网络类型问题
接口OSPF网络类型不匹配
一端为Broadcast,另一端为P2P或NBMA等,导致DR选举机制冲突。
display ospf interface GigabitEthernet0/0/1 查看双方的Type 字段
DR/BDR选举问题
接口优先级均为0(正常情况)
双方都是DROther,无需建立FULL邻接 ,停留在2-Way是预期行为 。
display ospf peer 查看角色是否为DROther ;display ospf interface 查看Priority
链路是广播/NBMA 类型
非DR/BDR路由器之间关系止步于2-Way是OSPF协议的正常机制。
确认网络类型是否需要DR/BDR
基础配置错误
区域ID(Area ID)不匹配
双方直连接口不在同一个OSPF区域。
display ospf interface 查看Area 字段
子网掩码不一致
IP地址网络号相同但掩码长度不同,导致逻辑上不在同一网段。
display ip interface brief 核对双方接口掩码
Hello/Dead计时器不匹配
双方保活时间不一致,关系不稳定。
display ospf interface 查看Hello/Dead 间隔
安全策略拦截
OSPF认证失败
认证类型或密钥不一致,导致后续DBD等报文被拒绝。
检查接口下的ospf authentication-mode配置
ACL过滤了OSPF报文
访问控制列表丢弃了目的地址为224.0.0.5或224.0.0.6的OSPF组播报文。
检查接口和应用的方向上的ACL规则
B、虚连接: ospf多层次区域使得每个区域都要与骨干区域也就是区域0相连接之后才能互相进行通信,但有时也回出现上图所示的情况,此时区域1和区域2无法通信,区域0也学习不到区域2的路由,为了不改变网络拓扑,我们可以实现虚连接(virtual link)来扩大区域0的面积,实现区域互通.
虚连接配置视图为OSPF进程视图。虚连接违背了OSPF区域间的防环规则。
特征项
描述
所属区域
虚连接始终属于 Area 0
必须条件
两端必须是 ABR,并且之间有一条可达路径
穿越区域
虚连接通常穿越一个中间区域 (如 Area 1)
配置方式
在两端 ABR 上分别配置 area X virtual-link <对端Router-ID>
逻辑通道
虚连接仅是逻辑上的,不需要专门的物理链路
稳定性要求
依赖中间区域的稳定性,虚连接不建议长期使用
NSSA限制
虚连接不能穿越 NSSA 区域传递默认路由
错误说法
正确解释
虚连接可以在任意ABR之间建立
❌ 只能在共享同一个非骨干区域的ABR之间 建立
虚连接属于中间区域
❌ 虚连接属于 Area 0
虚连接可跨多个区域
❌ 只能穿越一个区域
所有非骨干区域都能建立虚连接
❌ NSSA 有限制,无法传递默认路由
D、定时器汇总:
定时器
作用
默认值
备注/适用场景
Hello Interval
发送 Hello 包间隔
10s(广播/点到点)/30s(NBMA)
邻居必须一致
Dead Interval
邻居失效判定时间
4 × Hello Interval
邻居必须一致
Wait Timer
DR/BDR 选举等待时间
= Dead Interval
只在广播/NBMA 网络有用
LSA Refresh Time
LSA 刷新周期
1800s
周期性刷新以保持有效
LSA Max Age
LSA 最大寿命
3600s
超时则删除
MaxAgeDiff
LSA 年龄差判断
900s
用于一致性检查
SPF Delay
首次 SPF 计算延迟
5s
防抖,避免频繁计算
SPF Hold Time
两次 SPF 计算最小间隔
10s
防止频繁计算
SPF Max Wait Time
多次触发时的最大延迟
10s
控制 SPF 抖动
Rxmt Interval
LSA 重传间隔
5s
邻居数据同步用
Poll Interval
NBMA 网络 Hello 轮询间隔
120s
NBMA 特有
E、 LSA 振荡 :
#
类别
根因/场景
关键特征
快速判定线索
常用解决/规避手段
1
协议自身
Router-ID 冲突(同区域或跨区)
两台设备互认为“自己”,序列号交替上涨
同一条 LSA 的 Adv Router 相同,age≈0,Seq 疯涨
全网唯一 RID;loopback 做 RID
2
协议自身
同一设备双进程+虚链路/互重分发
LSA 被进程间来回抛
Seq 几秒一次跳变,age 始终很小
取消多余进程或阻断互引
3
协议自身
刷新报文受阻 → age 跑到 3600 s 被删再重生
“删除-再生”循环
日志交替出现 aged out / Flooding new LSA
降低 CPU/链路负载;调大重传间隔
4
报文层
单向链路(收 Hello 能、Update 不能)
重传一次 Seq+1
邻居 UP 但重传计数持续增加
检测光纤方向;开启 BFD
5
报文层
接口 MTU 不一致+DF 置位
大包 LSU 被丢弃
大包 ping 不通;重传计数涨
统一 MTU;允许分片或调小 MTU
6
报文层
中间网络丢弃 224.0.0.5/6
邻居正常但 LSA 传不过去
重传计数高;组播 ping 失败
放行组播;改单播 neighbor
7
拓扑层
物理环路+cost 相同+链路 flapping
多路径 LSA 到达时序乱
ECMP 路径震荡;Seq 小幅跳动
改 cost 破环;加链路保护
8
拓扑层
虚链路跨越不稳定链路
vlink 随底层 area 0 抖动
vlink 状态频繁变;对应 LSA 刷新
让 vlink 走稳定链路;少用 vlink
9
实现差异
厂商lsa-pacing/interval 缺省值不同
超前刷新
对接设备刷新频率明显差异
手动对齐 interval;升同源版本
10
配置调优
手工把 lsa-originate-interval 设 0
丢包即“你删我建”
Seq 增长频率与链路 flap 同步
恢复缺省或智能定时器
11
外部注入
双向重分发未过滤-tag/-metric
外部路由来回注入
Type-5/7 Seq 疯涨;tag 来回变
重分发加 route-tag;route-map 过滤
12
外部注入
两台 ASBR 同时 redistribute 同前缀
生成同一条 Type-5 不同实例
两台 ASBR RID 相同即回到 1
分标签/metric 隔离;只保留一台注入
超详细的OSPF协议详解! - 掘金
22张图详解OSPF:最常用的动态路由协议-ospf是动态路由协议吗
Network系列:OSPF路由器类型、LSA类型、防环、特殊区域(三) - YinJayChen - 博客园
OSPF技术连载1:OSPF基础知识,7000字总结!-云社区-华为云
OSPF 的 Area 类型汇总(包括特殊区域:Stub Area、Total Stub Area、NSSA Area、Total NSSA Area)
OSPF特殊区域及其他特性-CSDN博客
OSPF区域属性