一、NBMA和P2MP
****NBMA:****非广播多路访问(NBMA)网络是OSPF协议中为适应特定广域网环境而设计的一种网络类型,主要应用于帧中继、ATM、X.25等不支持广播和组播的网络。其核心特点如下:
- 连接方式
NBMA网络允许多台路由器连接到同一个逻辑网络段,形成多点可达的拓扑结构,但各设备之间通过虚电路(VC) 实现点对点通信,而非真正的广播介质 。
这种网络要求在逻辑上实现全连通(Full Mesh),即任意两台路由器之间必须有直接的虚电路连接,否则需采用P2MP等替代方案 。
- DR/BDR选举
需要选举DR和BDR。
尽管NBMA网络不具备广播能力,但OSPF仍将其视为多路访问网络,因此必须选举指定路由器(DR) 和备份指定路由器(BDR),以减少邻接关系数量、优化LSA泛洪效率 。
选举依据接口优先级和Router ID,优先级最高者为DR,次高者为BDR;优先级为0则不参与选举 。
为确保中心节点(如总部路由器)当选DR,通常会手动设置较高优先级 。
- 邻居发现
必须手动配置邻居。
由于网络不支持组播,OSPF无法通过组播地址 224.0.0.5 自动发现邻居
- LSA泛洪
LSA(链路状态通告)的泛洪由DR统一管理。
当网络拓扑发生变化时,所有路由器将更新信息发送给DR和BDR(使用组播地址 224.0.0.6),再由DR向所有其他路由器(DROther)泛洪更新(使用 224.0.0.5) 。
DROther之间不建立邻接关系,仅与DR/BDR建立邻接,从而将邻接关系数量从O(n²)降至O(n),显著降低协议开销 。
5.链路开销(Cost)
由于NBMA网络多用于广域网,链路带宽通常较低,因此Cost值较高,影响最短路径计算 。
****P2MP:****点到多点(Point-to-Multipoint, P2MP) 是OSPF协议中一种特殊的网络类型,主要用于解决非全连通的非广播网络(如帧中继、ATM)中的路由通信问题。它不是任何链路层协议的默认类型,必须通过手动配置将其他网络类型(通常是NBMA)强制更改为P2MP 。
1.无需全连通拓扑
与标准NBMA要求全互联不同,P2MP适用于星型或部分网状拓扑,允许某些远程节点之间没有直接虚电路连接。两台无法直连的路由器可通过中心节点中转实现路由交换 。
2.无DR/BDR选举
P2MP网络不选举指定路由器(DR)和备份指定路由器(BDR),所有邻居之间均可建立完全邻接关系(Full Adjacency),简化了配置与管理 。
3.邻居自动发现(组播)
Hello报文以组播地址 224.0.0.5 发送,默认Hello间隔为30秒,Dead间隔为120秒。在支持组播的环境中,邻居可自动发现,无需手动配置neighbor命令 。
若网络不支持组播,则需使用"P2MP非广播"变体并手动指定邻居。
4.路由学习方式
中心节点向所有远程节点发送路由更新,远程节点仅从中心节点学习路由,彼此之间不直接交换LSA。这种设计模拟了Hub-and-Spoke结构的行为逻辑 。
5.报文传输机制
Hello报文:组播(224.0.0.5)
DD、LSR、LSU、LSAck报文:单播发送
6.LSA 泛洪
每台路由器都和所有对端节点建立 Full 邻接。
LSU 报文直接发送给各个邻居,不需要 DR 统一转发。
因为没有广播,LSA 只能逐个发送到各个节点。
7.链路开销
开销根据接口带宽计算,和 P2P 类似。
接口之间是点到点逻辑,没有广播域开销。
二、实验目的及步骤
实验目的:
-
控制OSPF DR的选举
-
修改OSPF的网络类型
实验步骤:
-
帧中继设备的配置
-
设备重命名以及IP地址的配置
-
运行OSPF
-
实验调试
1).在R1上查看OSPF的邻接关系//
R1\]display ospf peer brief 2).查看R1的OSPF的接口状态// \[R1\]display ospf interface s1/0/0 3).配置单播建立邻居 peer 10.1.1.2 4).配置R1为DR,不选择BDR ospf dr-priority 0 5).在R1上查看OSPF的邻接关系// display ospf peer brief 6).删除(3)(4)的配置,并配置网络类型 为P2MP并查看OSPF的邻居关系状态 ### ****三、实验拓扑****  ### ****四、实验配置及调试分析**** **1.帧中继设备的配置**  **2.IP及OSPF配置** R1: \[R1\]int s1/0/0 \[R1-Serial1/0/0\]link-protocol fr //二层封装协议为FR \[R1-Serial1/0/0\]fr map ip 10.1.1.2 102 broadcast //去10.1.1.2打上102的标记然后广播 \[R1-Serial1/0/0\]fr map ip 10.1.1.3 103 broadcast \[R1-Serial1/0/0\]ip add 10.1.1.1 24 \[R1\]int LoopBack 0 \[R1-LoopBack0\]ip add 1.1.1.1 24 \[R1\]ospf router-id 1.1.1.1 \[R1-ospf-1\]area 0 \[R1-ospf-1-area-0.0.0.0\]network 10.1.1.0 0.0.0.255 \[R1-ospf-1-area-0.0.0.0\]network 1.1.1.0 0.0.0.255 R2: \[R2\]int s1/0/0 \[R2-Serial1/0/0\]link-protocol fr \[R2-Serial1/0/0\]fr map ip 10.1.1.1 201 broadcast \[R2-Serial1/0/0\]ip add 10.1.1.2 24 \[R2\]int LoopBack 0 \[R2-LoopBack0\]ip add 2.2.2.2 24 \[R2\]ospf router-id 2.2.2.2 \[R2-ospf-1\]area 0 \[R2-ospf-1-area-0.0.0.0\]network 10.1.1.0 0.0.0.255 \[R2-ospf-1-area-0.0.0.0\]network 2.2.2.0 0.0.0.255 R3: \[R3\]int s1/0/0 \[R3-Serial1/0/0\]link-protocol fr \[R3-Serial1/0/0\]fr map ip 10.1.1.1 301 broadcast \[R3-Serial1/0/0\]ip add 10.1.1.3 24 \[R3\]int LoopBack 0 \[R3-LoopBack0\]ip add 3.3.3.3 24 \[R3\]ospf router-id 3.3.3.3 \[R3-ospf-1\]area 0 \[R3-ospf-1-area-0.0.0.0\]network 10.1.1.0 0.0.0.255 \[R3-ospf-1-area-0.0.0.0\]network 3.3.3.0 0.0.0.255 ****在R1上查看ospf的邻接状态****  输出中无任何邻居条目,说明当前 R1 未建立任何 OSPF 邻居关系。 ****查看R1的OSPF的接口状态****  这是路由器 Serial1/0/0 接口的 OSPF 状态信息 1. 基础信息 OSPF 进程:进程 1,Router ID 1.1.1.1 接口 IP:10.1.1.1 接口类型:NBMA(Non-Broadcast Multi-Access,非广播多点接入) 接口状态:DR(Designated Router,指定路由器) Cost(开销):48(由接口带宽计算得出) MTU:1500 字节 2. DR/BDR 选举 Priority(优先级):1(默认值,范围 0--255) DR(指定路由器):10.1.1.1(本路由器自身) BDR(备份指定路由器):0.0.0.0(未选举出 BDR,说明当前网段仅本台路由器参与选举,或对端未完成选举流程) 3. 定时器配置(NBMA 特有) Hello 间隔:30 秒(NBMA 网络默认值,区别于 Broadcast/P2P 的 10 秒) Dead 间隔:120 秒(Hello 间隔的 4 倍,符合 OSPF 规范) Poll 间隔:120 秒(NBMA 特有,用于向静默邻居发送 Hello 报文) Retransmit 间隔:5 秒 Transmit Delay:1 秒 ****配置单播建立邻居**** R1: \[R1\]ospf \[R1-ospf-1\]peer 10.1.1.2 //和10.1.1.2单播建立邻居 \[R1-ospf-1\]peer 10.1.1.3 R2: \[R2\]ospf \[R2-ospf-1\]peer 10.1.1.1 R3: \[R3\]ospf \[R3-ospf-1\]peer 10.1.1.1 ****配置R1为DR,不选择BDR**** R2: \[R2\]int s1/0/0 \[R2-Serial1/0/0\]ospf dr-priority 0 R3: \[R3\]int s1/0/0 \[R3-Serial1/0/0\]ospf dr-priority 0 ****在R1上查看邻接关系**** \[R1\]dis ospf peer brief  可以看到R2、R3都成了R1邻居 ****接下来将NBMA改为P2MP**** 将刚才建立的邻居删除 R1: \[R1\]ospf \[R1-ospf-1\]undo peer 10.1.1.2 \[R1-ospf-1\]undo peer 10.1.1.3 R2: \[R2\]ospf \[R2-ospf-1\]undo peer 10.1.1.1 R3: \[R3\]ospf \[R3-ospf-1\]undo peer 10.1.1.1 ****确认是否删除,再查看一次R1的邻接关系**** \[R1\]dis ospf peer brief  可以看到输出中无任何邻居条目,说明当前 R1 未建立任何 OSPF 邻居关系。 ****接下来将网络的类型改为P2MP**** R1: \[R1\]int s1/0/0 \[R1-Serial1/0/0\]ospf network-type p2mp //将网络类型改成p2mp R2: \[R2\]int s1/0/0 \[R2-Serial1/0/0\]ospf network-type p2mp R3: \[R3\]int s1/0/0 \[R3-Serial1/0/0\]ospf network-type p2mp ****查看OSPF的邻接关系**** \[R1\]display ospf peer br   这是路由器 Serial1/0/0 接口的 OSPF 状态信息: 1. 基础信息 OSPF 进程:进程 1,Router ID 1.1.1.1 接口 IP:10.1.1.1 接口类型:P2MP(Point-to-Multipoint,点到多点) 接口状态:P-2-P(点到点状态,体现 P2MP 无 DR/BDR 的特征) Cost(开销):48(由接口带宽计算得出,通常对应低速串行链路) MTU:1500 字节(标准以太网 MTU) 2. 核心特征:无 DR/BDR 选举 输出中无 Priority、DR、BDR 相关字段,这是 P2MP 网络类型的标志性特征: 不进行 DR/BDR 选举 所有路由器之间直接建立 Full 邻接关系 避免了广播 / 非广播网络中的选举开销与复杂度 3. 定时器配置 Hello 间隔:30 秒(P2MP 网络默认值,也可手动修改为 10 秒) Dead 间隔:120 秒(Hello 间隔的 4 倍,符合 OSPF 规范) Poll 间隔:120 秒(用于向长时间未响应的邻居发送 Hello 报文) Retransmit 间隔:5 秒(LSU 报文重传间隔) Transmit Delay:1 秒(LSA 传输延迟,用于计算老化时间) ****查看R1、R2、R3的lsdb****  三台路由器的 LSDB 条目完全一致,仅 R1 自身 LSA 序列号为 80000006(略高于其他设备的 80000005),说明 R1 刚更新过自身链路信息,全网 LSDB 已完成同步。 Age 字段:各 LSA 的老化时间(Age)均在 11\~54 秒之间,属于正常范围,未达到最大老化时间(3600 秒)。 Len 字段:R1 的 LSA 长度为 72,其他为 60,与序列号更新对应,属于正常的 LSA 内容差异。 ****查看R1所有激活ospf的接口信息****  ****接口一:LoopBack0(环回接口)**** 接口 IP:1.1.1.1 OSPF 网络类型:P2P(点到点) 说明:LoopBack 接口在 OSPF 中默认被视为 Type 1 (Router) LSA,且网络类型固定为 P2P,不进行 DR/BDR 选举。 Cost(开销):0 说明:环回口的 Cost 默认为 0,用于发布路由器 ID,确保在全网路由中可达。 MTU:1500 定时器: Hello:10 秒 Dead:40 秒 其他:Poll/Retransmit/Transmit Delay 均为标准值。 ****接口二:Serial1/0/0(串行接口)**** 接口 IP:10.1.1.1 OSPF 网络类型:P2MP(点到多点) 核心特征:无 DR/BDR 选举,所有邻居直接建立 Full 邻接。 Cost(开销):48 计算逻辑:通常由链路带宽(如 64kbps 等低速链路)根据公式 Cost = 10\^8 / 带宽 计算得出。 MTU:1500 定时器(P2MP 特有): Hello:30 秒(P2MP 网络默认 Hello 间隔,继承自 NBMA 特性) Dead:120 秒(Hello 的 4 倍) Poll:120 秒 Retransmit:5 秒 Transmit Delay:1 秒 接口类型验证: R1 上配置了两种接口:用于标识自身的 LoopBack0 (P2P) 和用于连接邻居的 Serial1/0/0 (P2MP)。 P2MP 网络状态: 接口 Type: P2MP 且状态为 P-2-P,确认 OSPF 已正确识别该接口为点到多点类型,且无需选举 DR/BDR。 ****结论**** ****:**** R1 的 OSPF 接口配置完整且规范。 LoopBack0:作为路由器标识,已正常宣告。 Serial1/0/0:已正确切换为 P2MP 模式,准备好与对端建立自动发现、无 DR 选举的邻接关系。 ****五、总结**** |-----------|-----------------------------------|----------------------------| | 对比项 | NBMA(Non-Broadcast Multi-Access) | P2MP(Point-to-Multipoint) | | 网络本质 | 原生非广播多点接入(如帧中继、ATM) | 将非广播链路逻辑化为 "点到多点" | | DR/BDR 选举 | ✅ 必须选举,和 Broadcast 一致 | ❌ 不选举,无 DR/BDR 概念 | | 邻居发现 | ❌ 无法自动发现,必须手动配置 ospf peer x.x.x.x | ✅ 自动发现,通过组播 224.0.0.5 发现邻居 | | Hello 间隔 | 默认 30 秒 | 默认 30 秒(可手动改为 10 秒) | | 邻接关系 | 仅与 DR/BDR 建立 Full 邻接 | 与所有邻居直接建立 Full 邻接 | | LSA 泛洪 | 由 DR 统一向组播泛洪,减少流量 | 逐个向所有邻居发送 LSU,无 DR 转发 | | 配置复杂度 | 高,需手动指定邻居 | 低,自动发现,无需额外配置 | | 适用场景 | 严格遵循 NBMA 原生特性的场景 | 希望简化 NBMA 部署、避免选举的场景 |