根据 RFC 2328 以及华为 VRP 系统的实现规范,这四种网络类型的核心差异源于链路层是否支持广播/组播以及 节点间的可达性(全连通 vs 非全连通) 。
OSPF 网络类型特性深度对比
1. Hello 时间与存活判定 (Dead Interval)
计时器的设定本质上是为了平衡协议收敛速度与 链路带宽开销 。
- P2P (Point-to-Point) 与 Broadcast: * Hello: 10s / Dead: 40s
- 设计逻辑: 这两类网络通常运行在高质量的物理链路(如以太网、PPP、HDLC)上。由于支持组播(224.0.0.5),邻居发现速度快,因此采用较短的计时器以实现快速收敛。
- NBMA (Non-Broadcast Multi-Access) 与 P2MP (Point-to-Multipoint):
- Hello: 30s / Dead: 120s
- 设计逻辑: 这类网络(如传统的 Frame Relay 或 ATM)通常是低带宽或按需拨号链路。为了减少协议报文对虚电路(VC)带宽的占用,RFC 规定了更长的周期。
- 注:在 NBMA 这种不支持组播的网络中,Hello 报文是以单播形式发送的。
2. DR/BDR 选举机制的差异
选举机制的存在是为了优化多路访问网络中的 LSA 泛洪(Flooding)。
- Broadcast 与 NBMA:进行选举
- 原理: 这两类网络在逻辑上被视为“多路访问”。为了将 $n(n-1)/2$ 的邻接关系简化为 $n-1$ 个,必须选举 DR(Designated Router)。
- 差异点: Broadcast 自动发现邻居;而 NBMA 必须通过
peer命令手动指定邻居,因为无法通过组播发送 Hello 报文。
- P2P 与 P2MP:不进行选举
- 原理: * P2P 物理上仅有两个节点,不存在泛洪冗余,直接建立 Full 邻接关系。
- P2MP 实际上是多个 P2P 的逻辑集合。RFC 认为 P2MP 的拓扑通常是非全连通的(Hub-and-Spoke),在无法保证任意两点间直接二层可达的情况下,强制选举 DR 会导致 LSA 无法正常同步。
- 原理: * P2P 物理上仅有两个节点,不存在泛洪冗余,直接建立 Full 邻接关系。
关键差异总结表
| 网络类型 | Hello/Dead 时间 | 选举 DR/BDR | 邻居发现方式 | 常见底层协议 |
|---|---|---|---|---|
| P2P | 10s / 40s | No | 组播 (224.0.0.5) | PPP, HDLC |
| Broadcast | 10s / 40s | Yes | 组播 (224.0.0.5) | Ethernet |
| NBMA | 30s / 120s | Yes | 单播 (Manual) | Frame Relay, ATM |
| P2MP | 30s / 120s | No | 组播 (224.0.0.5) | 强行更改的 FR/子接口 |
HCIE 进阶考量:关于 NBMA 的特别说明
在实际工程中,若你在 Frame Relay 等非广播环境下必须运行 OSPF,你需要注意:
- NBMA 必须全连通: 如果底层虚电路不是 Full-mesh,选举出的 DR 若与某个成员没有直连 VC,会导致 LSDB 同步失败。
- P2MP 的灵活性: P2MP 不要求全连通,它是通过将网络前缀细化为主机路由(/32)并利用反向地址解析来确保可达性的,这也是它不选举 DR 的深层原因。