注:本文为 “OSPF | 表 | 网络类型 | 报文 | 状态 | 建立条件“ 相关文章合辑。
未整理去重。
【OSPF】OSPF 的 4 种网络类型
派大星的好朋友叮当猫已于 2022-02-17 12:33:24 修改
-
OSPF 网络类型是一个非常重要的接口变量,这个变量将影响 OSPF 在接口上的操作,例如采用什么方式发送 OSPF 协议报文,以及是否需要选举 DR、BDR 等。
-
OSPF 有 4 种网络类型,分别是 P2P、P2MP、BMA (Broadcast)、NBMA。
-
OSPF 网络类型的影响:一般情况下,链路两端的 OSPF 接口网络类型必须一致,否则双方无法建立邻居关系。
P2P (Point-to-Point 点对点)
-
P2P 指的是在一段链路上只能连接两台网络设备的环境,一根网线,一左一右。
-
该环境下只有 2 台设备,也只能是 2 台设备,链路中间不能加入其他设备。如,一条链路上不能加入交换机设备。
-
典型的例子是 PPP 链路。当接口采用 PPP 封装时,OSPF 在该接口上采用缺省网络类型是 P2P。
P2MP (Point ti Multi-Point 点到多点)
-
P2MP 相当于将多条 P2P 链路的一段进行捆绑得到的网络。
-
没有一种链路层协议会被缺省的认为是 P2MP 网络类型。该类型必须由其他网络类型手动更改。
-
常用的做法是将非全连通的 NBMA 改为点到多点的网络。
P2MP 示例图
MA,Multi-Access, 多路访问网络有 2 种类型:广播型多路访问网络(BMA)和非广播型多路访问(NBMA)
BMA (Broadcast Multiple Access 广播多路访问)
-
BMA 也被称为 Broadcast,指的是一个允许多台设备接入的、支持广播的环境。
-
典型的例子是 Ethernet 以太网。当接口采用 Ethernet 封装时,OSPF 在该接口上采用的缺省网络类型为 BMA。
NBMA (Non-Broadcast Multiple Access 非广播多路访问)
-
NBMA 指的是一个允许多台网络设备接入且不支持广播的环境。
-
典型的例子是帧中继(Frame-Relay)网络。
OSPF 网络类型可以在接口下通过命令手动修改以适应不同网络场景,如可以将 BMA 网络类型修改为 P2P。
示例:
配置完接口,默认是 BMA
[AR1-GigabitEthernet0/0/0] dis this
[V200R003C00]
#
interface GigabitEthernet0/0/0
ip address 10.1.12.1 255.255.255.0
#
return
查看可以修改的网络类型
[AR1-GigabitEthernet0/0/0] ospf network-type ?
broadcast Specify OSPF broadcast network
nbma Specify OSPF NBMA network
p2mp Specify OSPF point-to-multipoint network
p2p Specify OSPF point-to-point network
修改为 P2P,重新建立邻居关系
[AR1-GigabitEthernet0/0/0] ospf network-type p2p
Feb 16 2022 21:54:50-08:00 AR1 %%01OSPF/3/NBR_CHG_DOWN (l)[8]:Neighbor event:neighbor state changed to Down. (ProcessId=256, NeighborAddress=2.2.2.2, NeighborEvent=KillNbr, NeighborPreviousState=Full, NeighborCurrentState=Down)
[AR1-GigabitEthernet0/0/0]
[AR1-GigabitEthernet0/0/0]
Feb 16 2022 21:54:50-08:00 AR1 %%01OSPF/3/NBR_DOWN_REASON (l)[9]:Neighbor state leaves full or changed to Down. (ProcessId=256, NeighborRouterId=2.2.2.2, NeighborAreaId=0, NeighborInterface=GigabitEthernet0/0/0,NeighborDownImmediate reason=Neighbor Down Due to Kill Neighbor, NeighborDownPrimeReason=Interface Parameter Mismatch, NeighborChangeTime=2022-02-16 21:54:50-08:00)
[AR1-GigabitEthernet0/0/0]
Feb 16 2022 21:54:56-08:00 AR1 %%01OSPF/4/NBR_CHANGE_E (l)[10]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=2.12.1.10, NeighborEvent=HelloReceived, NeighborPreviousState=Down, NeighborCurrentState=Init)
[AR1-GigabitEthernet0/0/0]
Feb 16 2022 21:54:56-08:00 AR1 %%01OSPF/4/NBR_CHANGE_E (l)[11]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=2.12.1.10, NeighborEvent=2WayReceived, NeighborPreviousState=Init, NeighborCurrentState=ExStart)
[AR1-GigabitEthernet0/0/0]
Feb 16 2022 21:54:56-08:00 AR1 %%01OSPF/4/NBR_CHANGE_E (l)[12]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=2.12.1.10, Neighb
orEvent=NegotiationDone, NeighborPreviousState=ExStart, NeighborCurrentState=Exchange)
[AR1-GigabitEthernet0/0/0]
Feb 16 2022 21:54:56-08:00 AR1 %%01OSPF/4/NBR_CHANGE_E (l)[13]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=2.12.1.10, NeighborEvent=ExchangeDone, NeighborPreviousState=Exchange, NeighborCurrentState=Loading)
[AR1-GigabitEthernet0/0/0]
Feb 16 2022 21:54:56-08:00 AR1 %%01OSPF/4/NBR_CHANGE_E (l)[14]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=2.12.1.10, NeighborEvent=LoadingDone, NeighborPreviousState=Loading, NeighborCurrentState=Full)
OSPF 的五种报文、七种状态、七种 LSA 类型和三张表
乐悲蔚蓝湖已于 2025-02-24 11:17:32 修改
一、OSPF 的七种 LSA 类型
- 路由器 LSA (Router LSA)
- 产生者:区域内所有路由器。
- 传播范围:仅在本区域内泛洪。
- LS ID:始发该 LSA 的路由器 Router ID。
- Adv Rtr:始发该 LSA 的路由器 Router ID。
- 内容:
- TransNet 型:Link ID 为该网段 DR 的 IP 地址,Data 为本路由器在该网段的 IP 地址。
- StubNet 型:Link ID 为该网段的网络地址,Data 为该网段的子网掩码(32 位子网掩码表示环回接口,非 32 位表示 P2P 接口)。
- 网络 LSA (Network LSA)
- 产生者:区域内 DR 或 BDR 路由器。
- 传播范围:仅在本区域内泛洪。
- LS ID:该网段 DR 的 IP 地址。
- Adv Rtr:始发该 LSA 的路由器(DR)的 Router ID。
- 内容:Netmask 和 Attached Router(该网段的所有路由器的 Router-ID)。
- 网络汇总 LSA (Network Summary LSA)
- 产生者:ABR 路由器。
- 传播范围:域间路由,可泛洪到整个 AS,但始发路由器除外。
- LS ID:自治系统区域外的某个网段的网络地址。
- Adv Rtr:始发该 LSA 的路由器的 Router ID。
- 内容:通告本区域内的路由器通往区域外的路由信息。如果 ABR 收到多条网络汇总 LSA,则选择代价最低的 LSA 进行通告。
- ASBR 汇总 LSA (ASBR Summary LSA)
- 产生者:ABR 路由器。
- 传播范围:泛洪到整个 AS。
- LS ID:ASBR 的 Router ID。
- Adv Rtr:始发该 LSA 的 ABR 的 Router ID。
- 内容:无。用于将 ASBR 的 Router ID 传播到其他区域,告知其位置。
- 注意:在 ASBR 直连的区域内,不会产生 4 类 LSA,因为 ASBR 会发出 1 类 LSA 指明自身为 ASBR。
- 自治系统外部 LSA (Autonomous System External LSA)
- 产生者:ASBR 路由器。
- 传播范围:域外路由,不属于某个区域,一个 LSA 即一条路由信息。
- LS ID:外部某个网段的网络地址。
- Adv Rtr:引入该网段的 ASBR 的 Router ID。
- 内容:外部路由的子网掩码。
- 特点:唯一不与具体区域相关联的 LSA,将在整个自治系统中泛洪。
- 组成员 LSA (Group Membership LSA)
- 说明:目前不支持组播 OSPF (MOSPF 协议)。
- NSSA 外部 LSA (NSSA External LSA)
- 产生者:ASBR 路由器。
- 传播范围:仅在始发该 NSSA 外部 LSA 的非纯末梢区域内部泛洪。
- 内容:与 LSA 5 类似,但在 NSSA 区域中不能有 LSA 5 报文,因此 ASBR 产生 LSA 7 报文发给本区域路由器。
二、OSPF 的七种状态
- Down:刚开机时,随即发送第一个 Hello 报文的状态。
- Init:发送第一个 Hello 报文后,等待收到对方发来的 Hello 报文的状态。
Attempt:与 Init 状态类似,但仅用于 NBMA 接口网络类型。 - 2-Way:双向连接,收到邻居发来的 Hello 报文,完成 DR 和 BDR 的选举。
- ExStart:双方开始交换“空”的 DD 报文,通过 DD 报文中序号等摘要信息协商并选举出主从设备。
- 目的:选举主从设备用于确定由哪台路由器开始发送 DBD 包,保证 DBD 数据库描述信息可靠交互。
- 选举依据:与 Router-ID 有关,Router ID 较大的设备为主设备。
- Exchange:双方交换携带 LSA 摘要的 DD 报文,用于同步 LSDB。
- Loading:加载 Exchange 交换之后各自缺少的 LSA 报文(此过程会发送 LSR、LSU、LSAck 报文)。
- Full:同步 LSDB 完成。拓扑链路发生变化时,会发送 Hello、DD、LSR、LSU、LSAck 报文以动态刷新 LSDB。
注意事项
- 邻居关系与邻接关系
- 邻居关系:仅能发送 Hello 报文
- 邻接关系:可以发送 OSPF 的五种报文
- DR、BDR 和 DR Other
- DR:指定路由器
- BDR:备份指定路由器
- DR Other:除 DR 和 BDR 之外的其他路由器。
- 关系区别
- DR/BDR 与 DR Other 之间是邻接关系
- BDR 与 DR 之间是邻接关系
- DR Other 与 DR Other 之间是邻居关系
三、OSPF 的五种报文
- Hello 报文
- 功能:发现、协商、维护 OSPF 邻居(周期性发送)。
- 发现方式:
- 自动发现:发送目的 IP 地址为 224.0.0.5。
- 手工指定(NBMA)。
- 邻居建立条件:
- ① version 版本一致
- ② Router ID 不一致
- ③ Area ID 一致。
- ④ authentication-mode 认证方式和 password 密码一致
- ⑤ 子网掩码一致(广播、NBMA 网络要求)
- ⑥ Hello/Dead 时间一致
- ⑦ Option 字段的 N 位和 E 位一致
- N 位/E 位功能:
- N=0,E=0:Stub 区域(末节区域)
- N=0,E=1:普通区域
- N=1,E=0:NSSA 区域(Not so 末节区域)
- N=1:支持 7 类 LSA
- E=1:支持 5 类 LSA
- DD(Database Description)报文
- 功能:携带 LSA 的摘要信息。
- 摘要字段:Link State Type、Link State ID、Advertiser (ADV)。
- LSR(Link State Request)报文
- 功能:请求本设备缺少的 LSA 信息,通过携带 LSA 的摘要信息实现请求。
- LSU(Link State Update)报文
- 功能:携带 LSA 信息的报文。
- 特点:
- ① 收到 LSR 请求后回复。
- ② 默认周期为 1800 秒,Dead Time 为 3600 秒。
- ③ 网络变化时会触发更新。
- LSAck(Link State Acknowledgment)报文
- 功能:确认收到 LSU 报文,携带 LSA 的摘要信息。
- 特点:类似于快递员验收确认,仅携带 LSA 摘要,不携带完整 LSA。
四、OSPF 的三张表
- 邻居表
- 命令:
display ospf peer
- 功能:显示 OSPF 邻居信息。
- 命令:
- LSDB 表
- 命令:
display ospf lsdb
- 功能:存放 LSA 的数据库,用于存储链路状态信息。
- 命令:
- 路由表
- 命令:
display ip routing-table
- 功能:显示 OSPF 计算后的路由信息。
- 命令:
OSPF 的三张表(邻居表、LSDB 表、路由表)、LSA、LSDB、SPF 与路由表之间的关联、OSPF 建立的 8 种必要条件
Hades_Ling 于 2023-01-03 15:21:34 发布
OSPF 的三张表(邻居表、链路状态数据库表、路由表)
邻居表
记录 ospf 路由器之间的邻居状态。
<AR4>display ospf peer brief
OSPF Process 1 with Router ID 4.4.4.4
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.0 GigabitEthernet0/0/0 5.5.5.5 Full
----------------------------------------------------------------------------
LSDB 表
存在着 OSPF 的 LSA 详细信息,通过命令 display ospf lsdb 查看时为首要信息,需要查看详细的 LSA 信息需要通过 display ospf lsdb router 或 network… 等进行查看。
同一个 OSPF 网络维护着一张 LSDB 表,所有同一网络的 OSPF 路由器,其 LSDB 表都是相同的。
<AR4>display ospf lsdb
OSPF Process 1 with Router ID 4.4.4.4
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 4.4.4.4 4.4.4.4 660 48 8000000C 1
Router 5.5.5.5 5.5.5.5 660 48 8000000C 1
Network 10.1.45.5 5.5.5.5 660 32 80000009 0
路由表
对于 OSPF 来说,存在于路由表中的 OSPF 路由,都是通过 SPF 算法计算出来的最优路由。
<AR4>display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost Flags NextHop Interface
4.4.4.4/32 Direct 0 0 D 127.0.0.1 LoopBack0
5.5.5.5/32 OSPF 10 1 D 10.1.45.5 GigabitEthernet0/0/0
10.1.45.0/24 Direct 0 0 D 10.1.45.4 GigabitEthernet0/0/0
10.1.45.4/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
10.1.45.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
LSA、LSDB、SPF 与路由表的关联
相互交换自己的 LSA 从而组成 LSDB。【LSDB 的形成】
通过 SPF 算法对 LSDB 中的路径信息进行一个计算,得出最优的 OSPF 路由。【路由的产生】
最优的 OSPF 路由放置在路由表中。如果存在其它路由协议的最优路由与 OSPF 的最优路由相同,将进行比较路由优先级,优先级小的信任度更高,将成为最优路由放置在路由表中。
OSPF 邻居与邻接关系建立的 8 种必要条件
先从外部出发(协议上)
-
Version 版本(OSPFv2、OSPFv3)
-
区域要一致(两端链路配置的区域不一致将无法建立邻居)
-
Router-id 不能冲突
再到内部(链路上)
-
认证类型 auth type/Data 要相同
-
Netmask 掩码要求一致(两端配置的接口地址掩码要一致)
-
Hello 时间要一致
-
Dead 时间要一致
-
option 中(E、N)区域类型要一致(OSPF 的是否为特殊区域)
-
【非必要】对于华为设备来说,并不会在意链路的 MTU 值是否一致。
在 OSPF 邻居与邻接关系建立的过程中,通常有以下必要条件:
外部:协议层面
- 版本一致:OSPFv2 和 OSPFv3 不能直接兼容,因此版本必须一致。
- 区域一致:两端设备必须配置在同一个 OSPF 区域(Area ID)中。
- Router-ID 唯一:Router-ID 必须在 OSPF 网络中唯一,不能冲突。
内部:链路层面
-
认证类型一致:认证方法(如 MD5 或明文)和认证数据必须匹配。
-
Hello 和 Dead 时间间隔一致:Hello 时间间隔和 Dead 时间间隔必须相同。
-
网络掩码一致:在广播型网络(Broadcast)中,接口的网络掩码必须一致。
-
Options 字段一致:Options 字段中的 E-bit 和 N-bit 必须一致,这决定了区域的类型(如是否为末梢区域)。
-
网络类型一致:链路的 OSPF 网络类型(如广播型、点到点等)必须匹配。
-
【非必要】对于华为设备来说,并不会在意链路的 MTU 值是否一致。
对于华为设备,默认情况下,DD 报文携带的 IP MTU 值为 0,且不对 MTU 值进行一致性检测。只有在启用
ospf mtu-enable
命令后,才会检查 MTU 值是否一致。因此,MTU 值在默认情况下不是必要条件,但在某些配置下可能需要一致。在上述条件中,前 8 条是 OSPF 邻居关系建立的通用必要条件,而 MTU 值的检查则取决于设备的具体配置。
via:
-
OSPF 的三张表 - 优快云 博客
https://blog.youkuaiyun.com/qq_39689711/article/details/103796524 -
【OSPF】OSPF 的 4 种网络类型_什么叫非广播多路环境 - 优快云 博客
https://blog.youkuaiyun.com/Brielle_Zhang/article/details/122971655 -
ospf 的五种报文,七种状态,七种 LSA 类型,三张表_ospf 七种状态 - 优快云 博客
https://blog.youkuaiyun.com/lebiewi/article/details/145266103 -
OSPF 的三张表(邻居表、LSDB 表、路由表)、LSA、LSDB、SPF 与路由表之间的关联、OSPF 建立的 8 种必要条件 - 优快云 博客
https://blog.youkuaiyun.com/qq_45443704/article/details/128533697