第56篇:OSPF 网络类型——广播、NBMA、P2P、P2MP
关键词
OSPF、网络类型、Broadcast、NBMA、P2P、P2MP、DR/BDR、邻居建立
一、为什么需要理解 OSPF 网络类型?
OSPF 是一种链路状态路由协议,但物理链路的特性各不相同——以太网是广播型多路访问网络,串行链路是点到点网络,Frame Relay 是非广播多路访问网络。
OSPF 必须适应不同的物理介质,因此定义了四种网络类型。网络类型决定了:
- 邻居发现方式——是否需要 DR/BDR
- Hello 报文发送方式——组播还是单播
- 邻居建立条件——是否自动发现
二、四种网络类型对比
| 网络类型 | 典型介质 | 是否选 DR/BDR | 通信方式 | 邻居自动发现 |
|---|---|---|---|---|
| Broadcast | 以太网 | ✅ | 组播 224.0.0.5/6 | ✅ |
| NBMA | Frame Relay、ATM | ✅ | 单播 | ❌ 需手动指定 |
| P2P | 串行链路、GE 子接口 | ❌ | 组播 224.0.0.5 | ✅ |
| P2MP | 部分互联的 NBMA 网络 | ❌ | 单播 | ❌ 需手动指定 |
三、Broadcast(广播型多路访问)
3.1 特征
- 典型场景:以太网交换机互联
- 一条链路上可以连接多台路由器
- 使用组播地址发送 Hello
- 需要选举 DR(Designated Router) 和 BDR(Backup Designated Router)
3.2 Hello 发送方式
RouterA ──── Switch ──── RouterB
│
│
RouterC
每台路由器向 224.0.0.5 发送 Hello
DR/BDR 向 224.0.0.6 发送 LSU
其他路由器(DRother)向 224.0.0.5 发送 LSU
3.3 为什么需要 DR/BDR
如果每两台路由器之间都建立邻接(Adjacency),N 台路由器需要 N×(N-1)/2 个邻接关系。DR/BDR 机制将邻接数量降为 N-1 个(每台非 DR 路由器只与 DR 和 BDR 建立邻接)。
3.4 关键配置
# 接口下配置网络类型(默认即为 broadcast,通常不需要改)
interface GigabitEthernet0/0/0
ospf network-type broadcast
四、NBMA(非广播多路访问)
4.1 特征
- 典型场景:Frame Relay、ATM
- 一台物理接口可以连接多个逻辑对端
- 不支持广播/组播,必须手动指定邻居
- 同样需要 DR/BDR
4.2 配置要点
interface Serial1/0/0
ip address 10.0.12.1 255.255.255.0
ospf network-type nbma
# 手动指定邻居
ospf 1
peer 10.0.12.2
peer 10.0.12.3
4.3 注意问题
| 问题 | 说明 |
|---|---|
| 邻居必须手动指定 | 无法通过组播自动发现 |
| DR 选举 | 需要确保 hub 端成为 DR(通过 priority 控制) |
| 水平分割 | Frame Relay 子接口可能有水平分割限制 |
建议:在实际现网中,NBMA 网络类型已很少使用。推荐改用 P2MP(非广播)或在子接口上改用 P2P。
五、P2P(点到点)
5.1 特征
- 典型场景:串行链路(PPP、HDLC)、GE 子接口
- 只有两个端点,不选举 DR/BDR
- 使用组播发送 Hello
5.2 优势
| 优势 | 说明 |
|---|---|
| 无需 DR/BDR | 简化邻接建立过程,加快收敛 |
| 无需 LSA Type2 | P2P 链路上不产生 Network LSA |
| 配置简单 | 不需要手动指定邻居 |
5.3 常见场景
# 串行接口默认就是 P2P
interface Serial1/0/0
link-protocol ppp
ip address 10.0.12.1 255.255.255.252
# 以太网子接口上改为 P2P(避免 DR 选举)
interface GigabitEthernet0/0/0.10
vlan-type dot1q 10
ip address 10.0.12.1 255.255.255.252
ospf network-type p2p
5.4 P2P 的 LSDB 特点
P2P 链路上不产生 Type2 Network LSA,Router LSA 中的链路类型为 P2P(Type 1),而非 Transit(Type 2)。
六、P2MP(点到多点)
6.1 特征
- 典型场景:部分互联的 NBMA 网络,如 Hub-Spoke 拓扑
- 不需要 DR/BDR
- 必须手动指定邻居
- 以单播方式发送 Hello
6.2 P2MP vs NBMA
| 对比项 | NBMA | P2MP |
|---|---|---|
| DR/BDR | ✅ | ❌ |
| 邻居配置 | 手动指定 | 手动指定 |
| 通信方式 | 单播 | 单播 |
| LSA 泛洪 | 通过 DR 泛洪 | 逐邻居复制 |
| 适用场景 | 全互联或 Hub-Spoke | Hub-Spoke |
6.3 配置示例
interface Serial1/0/0
ip address 10.0.12.1 255.255.255.0
ospf network-type p2mp
ospf 1
peer 10.0.12.2
peer 10.0.12.3
6.4 P2MP 的两种子类型
| 子类型 | 说明 |
|---|---|
| P2MP(非广播) | 需手动指定邻居,单播通信 |
| P2MP Broadcast | 模拟广播能力,使用组播通信(华为支持) |
# 华为设备支持 p2mp broadcast
interface Serial1/0/0
ospf network-type p2mp broadcast
七、网络类型选择决策树
链路是否为多路访问?
├─ 是 → 是否支持广播/组播?
│ ├─ 是 → Broadcast(以太网)
│ └─ 否 → 能否改为 P2P 子接口?
│ ├─ 是 → P2P(推荐)
│ └─ 否 → NBMA 或 P2MP
└─ 否 → P2P(串行链路)
现网最佳实践:
- 以太网互联:默认 Broadcast
- 串行链路:P2P(天然)
- 子接口下尽量避免 DR 选举:改为 P2P
- Hub-Spoke 场景:P2MP(推荐)优于 NBMA
八、总结
| 网络类型 | 是否需要 DR | 邻居发现 | 典型场景 |
|---|---|---|---|
| Broadcast | ✅ | 组播自动 | 以太网 |
| NBMA | ✅ | 手动指定 | Frame Relay(已淘汰) |
| P2P | ❌ | 组播自动 | 串行链路、子接口 |
| P2MP | ❌ | 手动指定 | Hub-Spoke |
九、思考
- 为什么以太网链路需要 DR/BDR?
- NBMA 网络为什么不支持组播自动发现邻居?
- P2P 网络与 Broadcast 网络在 LSDB 层面有什么区别?
- 在一个 Hub-Spoke 拓扑中,推荐使用哪种网络类型?为什么?
- 如果你将一个以太网接口的网络类型改为 P2P,会发生什么?
下篇预告:第57篇《DR/BDR 选举机制与影响》——详解 DR/BDR 的选举规则、优先级调优以及 DR 变化对网络的影响。