第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 RelayATM
  • 一台物理接口可以连接多个逻辑对端
  • 不支持广播/组播,必须手动指定邻居
  • 同样需要 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(串行链路)

现网最佳实践

  1. 以太网互联:默认 Broadcast
  2. 串行链路:P2P(天然)
  3. 子接口下尽量避免 DR 选举:改为 P2P
  4. Hub-Spoke 场景:P2MP(推荐)优于 NBMA

八、总结

网络类型 是否需要 DR 邻居发现 典型场景
Broadcast 组播自动 以太网
NBMA 手动指定 Frame Relay(已淘汰)
P2P 组播自动 串行链路、子接口
P2MP 手动指定 Hub-Spoke

九、思考

  1. 为什么以太网链路需要 DR/BDR?
  2. NBMA 网络为什么不支持组播自动发现邻居?
  3. P2P 网络与 Broadcast 网络在 LSDB 层面有什么区别?
  4. 在一个 Hub-Spoke 拓扑中,推荐使用哪种网络类型?为什么?
  5. 如果你将一个以太网接口的网络类型改为 P2P,会发生什么?

下篇预告:第57篇《DR/BDR 选举机制与影响》——详解 DR/BDR 的选举规则、优先级调优以及 DR 变化对网络的影响。