网络的那些事——初级——OSPF(1)

💎什么是OSPF?

OSPF(Open Shortest Path First,开放最短路径优先)是一种基于链路状态的内部网关协议(IGP),广泛应用于中大型企业及运营商网络。其核心设计目标是解决早期协议(如RIP)的局限性,提供高效、可扩展的路由解决方案。

💎开放式最短路径优先?

开放式最短路径优先OSPF(Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol)。

目前针对IPv4协议使用的是OSPF Version 2(RFC2328);针对IPv6协议使用OSPF Version 3(RFC2740)。如无特殊说明,本文中所指的OSPF均为OSPF Version 2。

在OSPF出现前,网络上广泛使用RIP(Routing Information Protocol)作为内部网关协议。

由于RIP是基于距离矢量算法的路由协议,存在着收敛慢、路由环路、可扩展性差等问题,所以逐渐被OSPF取代。

OSPF作为基于链路状态的协议,能够解决RIP所面临的诸多问题。此外,OSPF还有以下优点:

  • OSPF采用组播形式收发报文,这样可以减少对其它不运行OSPF路由器的影响。

  • OSPF支持无类型域间选路(CIDR)。

  • OSPF支持对等价路由进行负载分担。

  • OSPF支持报文加密。

由于OSPF具有以上优势,使得OSPF作为优秀的内部网关协议被快速接收并广泛使用。

⚖️OSPF工作状态图解:

OSPF(Open Shortest Path First)协议的工作状态可以分为以下几种‌

Down‌ :此状态表示路由器尚未与其他路由器交换信息。路由器会向外发送Hello分组,但还不知道DR(若为广播网络)和任何其他路由器。发送Hello分组时使用组播地址224.0.0.5‌


‌Attempt‌ :仅适用于NBMA网络,邻居是手动指定的。在此状态下,路由器将使用HelloInterval取代PollInterval来发送Hello包‌


‌Init‌ :在DeadInterval内收到了Hello包,但双向会话尚未建立。此时路由器尚未确认邻居的存在‌


‌Two-way‌:双向会话建立,RID彼此出现在对方的邻居列表中。若为广播网络,此时会选举DR和BDR‌。

‌ExStart‌:信息交换初始状态,本地路由器和邻居将建立Master/Slave关系,并确定DD Sequence Number。RID较大的成为Master‌。

Exchange‌:本地路由器和邻居交换一个或多个DBD分组(数据库描述包)。DBD包含有关LSDB中LSA条目的摘要信息‌

Loading‌ :收到DBD后,使用LSACK分组确认已收到DBD。将收到的信息与LSDB中的信息进行比较,如果有更新的链路状态条目,则向对方发送LSR请求新的LSA‌

OSPF(Open Shortest Path First)协议的工作状态可以分为以下几种‌:

Down‌ :此状态表示路由器尚未与其他路由器交换信息。路由器会向外发送Hello分组,但还不知道DR(若为广播网络)和任何其他路由器。发送Hello分组时使用组播地址224.0.0.5‌

‌Attempt‌ :仅适用于NBMA网络,邻居是手动指定的。在此状态下,路由器将使用HelloInterval取代PollInterval来发送Hello包‌

‌Init‌ :在DeadInterval内收到了Hello包,但双向会话尚未建立。此时路由器尚未确认邻居的存在‌

Two-way‌ :双向会话建立,RID彼此出现在对方的邻居列表中。若为广播网络,此时会选举DR和BDR‌

ExStart‌ :信息交换初始状态,本地路由器和邻居将建立Master/Slave关系,并确定DD Sequence Number。RID较大的成为Master‌

‌Exchange‌ :本地路由器和邻居交换一个或多个DBD分组(数据库描述包)。DBD包含有关LSDB中LSA条目的摘要信息‌

Loading‌ :收到DBD后,使用LSACK分组确认已收到DBD。将收到的信息与LSDB中的信息进行比较,如果有更新的链路状态条目,则向对方发送LSR请求新的LSA‌

‌Full‌:完全邻接状态,这种状态出现在Router LSA和Network LSA中‌。

🌐一、核心工作原理

  1. 链路状态数据库(LSDB)与SPF算法

    • 每台OSPF路由器通过洪泛(Flooding) 机制向邻居广播链路状态通告(LSA),描述自身接口、邻居及链路开销(Cost)18。

    • 所有路由器同步构建全网拓扑图(LSDB) ,并独立运行Dijkstra算法计算最短路径树(SPT),生成无环路由表458。

  2. 邻居建立与报文交互

    OSPF通过5类报文实现动态路由维护:

    • Hello报文 :发现邻居(组播地址224.0.0.5),每10秒发送一次,维持邻居关系18。

    • DBD(数据库描述):交换LSDB摘要信息。

    • LSR/LSU(链路状态请求/更新):请求并传递完整LSA。

    • LSAck(确认):确保LSA可靠传输8。

  3. DR/BDR选举机制

    • 在广播网络(如以太网)中,为避免O(N²)的LSA泛洪,选举指定路由器(DR)备份指定路由器(BDR)

    • 选举依据:接口优先级 (默认为1,0表示不参与) → Router ID(高者优先)18。


🌐 二、区域化分层设计

OSPF通过划分区域(Area)解决大规模网络扩展性问题:

  • 骨干区域(Area 0):必选核心区域,其他非骨干区域必须与之直连或通过虚链路(Virtual Link)连接110。

  • 路由器角色分类

    类型 功能
    IR(区域内路由器) 仅在本区域泛洪LSA
    ABR(区域边界路由器) 连接不同区域,汇总Type 3 LSA
    ASBR(自治系统边界路由器) 引入外部路由(如RIP、静态路由),生成Type 5/7 LSA1
  • 特殊区域类型

    • Stub区域:屏蔽外部路由(Type 4/5 LSA),由ABR注入默认路由。

    • NSSA区域:允许引入外部路由但转换为Type 7 LSA,经ABR转为Type 51。


📬 三、LSA类型与功能

OSPF定义了多种LSA类型,关键类型如下:

LSA类型 名称 泛洪范围 作用
Type 1 Router LSA 本区域内 描述路由器直连链路及Cost
Type 2 Network LSA 本区域内 DR生成,描述广播网段连接的路由器
Type 3 Summary LSA 区域间 ABR生成,通告其他区域的路由摘要
Type 5 AS External LSA 全自治系统 ASBR通告外部路由(如默认OE2/OE1)18

⚖️ 四、OSPF与RIP的对比

特性 OSPF RIP
算法基础 链路状态(Dijkstra) 距离向量(跳数)
收敛速度 秒级(触发更新) 分钟级(周期广播)
网络规模 无跳数限制(支持数千节点) 限15跳
度量值 基于带宽(Cost = 参考带宽/接口带宽) 跳数(Hop Count)
地址支持 原生支持VLSM/CIDR RIPv2支持VLSM
资源消耗 高内存/CPU(维护LSDB) 低内存,高带宽(周期广播路由表)369

✅ 五、优势与局限性

  • 优势

    • 快速收敛:链路变化时立即触发更新410。

    • 无环路由:SPF算法从根源避免环路。

    • 分层扩展:区域化设计减少路由更新流量110。

    • 安全可靠:支持MD5/明文认证17。

  • 局限性

    • 配置复杂:需规划区域、Router ID、链路Cost等46。

    • 资源消耗大:LSDB占用内存,SPF计算消耗CPU4。

    • 负载均衡限制:仅支持等价路径负载分担(同Cost值)6。

✅配置案例:

配置OSPF基本功能示例

**背景:**所有的路由器都运行OSPF,并将整个自治系统划分为3个区域,其中RouterA和RouterB作为ABR来转发区域之间的路由。

**目标:**配置完成后,每台路由器都应学到AS内的到所有网段的路由。

配置思路

采用如下的思路配置OSPF基本功能:

  1. 在各路由器上使能OSPF。

  2. 指定不同区域内的网段。

操作步骤

配置各路由器接口的IP地址

配置RouterA。

复制代码
<Huawei> system-view
[Huawei] sysname RouterA
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] ip address 192.168.0.1 255.255.255.0
[RouterA-GigabitEthernet1/0/0] quit
[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet2/0/0] ip address 192.168.1.1 255.255.255.0
[RouterA-GigabitEthernet2/0/0] quit

RouterB、RouterC、RouterD、RouterE和RouterF的配置与RouterA一致(略)

配置OSPF基本功能

配置RouterA。

复制代码
[RouterA] router id 1.1.1.1
[RouterA] ospf
[RouterA-ospf-1] area 0
[RouterA-ospf-1-area-0.0.0.0] network 192.168.0.0 0.0.0.255
[RouterA-ospf-1-area-0.0.0.0] quit
[RouterA-ospf-1] area 1
[RouterA-ospf-1-area-0.0.0.1] network 192.168.1.0 0.0.0.255
[RouterA-ospf-1-area-0.0.0.1] quit
[RouterA-ospf-1] quit

配置RouterB。

复制代码
[RouterB] router id 2.2.2.2
[RouterB] ospf
[RouterB-ospf-1] area 0
[RouterB-ospf-1-area-0.0.0.0] network 192.168.0.0 0.0.0.255
[RouterB-ospf-1-area-0.0.0.0] quit
[RouterB-ospf-1] area 2
[RouterB-ospf-1-area-0.0.0.2] network 192.168.2.0 0.0.0.255
[RouterB-ospf-1-area-0.0.0.2] quit
[RouterB-ospf-1] quit

配置RouterC。

复制代码
[RouterC] router id 3.3.3.3
[RouterC] ospf
[RouterC-ospf-1] area 1
[RouterC-ospf-1-area-0.0.0.1] network 192.168.1.0 0.0.0.255
[RouterC-ospf-1-area-0.0.0.1] network 172.16.1.0 0.0.0.255
[RouterC-ospf-1-area-0.0.0.1] quit
[RouterC-ospf-1] quit

配置RouterD。

复制代码
[RouterD] router id 4.4.4.4
[RouterD] ospf
[RouterD-ospf-1] area 2
[RouterD-ospf-1-area-0.0.0.2] network 192.168.2.0 0.0.0.255
[RouterD-ospf-1-area-0.0.0.2] network 172.17.1.0 0.0.0.255
[RouterD-ospf-1-area-0.0.0.2] quit
[RouterD-ospf-1] quit

配置RouterE。

复制代码
[RouterE] router id 5.5.5.5
[RouterE] ospf
[RouterE-ospf-1] area 1
[RouterE-ospf-1-area-0.0.0.1] network 172.16.1.0 0.0.0.255
[RouterE-ospf-1-area-0.0.0.1] quit
[RouterE-ospf-1] quit

配置RouterF。

复制代码
[RouterF] router id 6.6.6.6
[RouterF] ospf
[RouterF-ospf-1] area 2
[RouterF-ospf-1-area-0.0.0.2] network 172.17.1.0 0.0.0.255
[RouterF-ospf-1-area-0.0.0.2] quit
[RouterF-ospf-1] quit

验证配置结果

# 查看RouterA的OSPF邻居。
复制代码
[RouterA] display ospf peer
复制代码
          OSPF Process 1 with Router ID 1.1.1.1
                  Neighbors
 Area 0.0.0.0 interface 192.168.0.1(GigabitEthernet1/0/0)'s neighbors
Router ID: 2.2.2.2      Address: 192.168.0.2
   State: Full  Mode:Nbr is  Master  Priority: 1
   DR: 192.168.0.2  BDR: 192.168.0.1   MTU: 0
   Dead timer due in 36  sec
   Retrans timer interval: 5
   Neighbor is up for 00:15:04
   Authentication Sequence: [ 0 ]
                  Neighbors
 Area 0.0.0.1 interface 192.168.1.1(GigabitEthernet2/0/0)'s neighbors
Router ID: 3.3.3.3       Address: 192.168.1.2
   State: Full  Mode:Nbr is  Master  Priority: 1
   DR: 192.168.1.2  BDR: 192.168.1.1   MTU: 0
   Dead timer due in 39  sec
   Retrans timer interval: 5
   Neighbor is up for 00:07:32
   Authentication Sequence: [ 0 ]

显示RouterA的OSPF路由信息。

复制代码
[RouterA] display ospf routing
复制代码
          OSPF Process 1 with Router ID 1.1.1.1
                   Routing Tables
 Routing for Network
 Destination      Cost  Type         NextHop         AdvRouter       Area
 172.16.1.0/24     2    Transit     192.168.1.2     3.3.3.3         0.0.0.1
 172.17.1.0/24     3    Inter-area  192.168.0.2     2.2.2.2         0.0.0.0
 192.168.0.0/24    1    Transit     192.168.0.1     1.1.1.1         0.0.0.0
 192.168.1.0/24    1    Transit     192.168.1.1     1.1.1.1         0.0.0.1
 192.168.2.0/24    2    Inter-area  192.168.0.2     2.2.2.2         0.0.0.0
 Total Nets: 5
 Intra Area: 3  Inter Area: 2  ASE: 0  NSSA: 0
# 显示RouterA的LSDB。
复制代码
[RouterA] display ospf lsdb
复制代码
          OSPF Process 1 with Router ID 1.1.1.1
                  Link State Database
                          Area: 0.0.0.0
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    2.2.2.2         2.2.2.2            317  48    80000003    1
 Router    1.1.1.1         1.1.1.1            316  48    80000002    1
 Network   192.168.0.2     2.2.2.2            399  32    800000F8    0
 Sum-Net   172.16.1.0      1.1.1.1            250  28    80000001    2
 Sum-Net   172.17.1.0      2.2.2.2            203  28    80000001    2
 Sum-Net   192.168.2.0     2.2.2.2            237  28    80000002    1
 Sum-Net   192.168.1.0     1.1.1.1            295  28    80000002    1
                          Area: 0.0.0.1
Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    5.5.5.5         5.5.5.5            214  36    80000004    1        
 Router    3.3.3.3         3.3.3.3            217  60    80000008    1
 Router    1.1.1.1         1.1.1.1            289  48    80000002    1
 Network   192.168.1.1     1.1.1.1            202  28    80000002    0
 Network   172.16.1.1      3.3.3.3            670  32    80000001    0
 Sum-Net   172.17.1.0      1.1.1.1            202  28    80000001    3
 Sum-Net   192.168.2.0     1.1.1.1            242  28    80000001    2
 Sum-Net   192.168.0.0     1.1.1.1            300  28    80000001    1
# 查看RouterD的路由表,并使用Ping进行测试连通性。
复制代码
[RouterD] display ospf routing
复制代码
          OSPF Process 1 with Router ID 4.4.4.4
                   Routing Tables
 Routing for Network
 Destination        Cost  Type       NextHop      AdvRouter       Area
 172.16.1.0/24      4  Inter-area 192.168.2.1     2.2.2.2         0.0.0.2
 172.17.1.0/24      1  Transit    172.17.1.1      4.4.4.4         0.0.0.2
 192.168.0.0/24     2  Inter-area 192.168.2.1     2.2.2.2         0.0.0.2
 192.168.1.0/24     3  Inter-area 192.168.2.1     2.2.2.2         0.0.0.2
 192.168.2.0/24     1  Transit    192.168.2.2     4.4.4.4         0.0.0.2
 Total Nets: 5
 Intra Area: 2  Inter Area: 3  ASE: 0  NSSA: 0
[RouterD] ping 172.16.1.1
  PING 172.16.1.1: 56  data bytes, press CTRL_C to break
    Reply from 172.16.1.1: bytes=56 Sequence=1 ttl=253 time=62 ms
    Reply from 172.16.1.1: bytes=56 Sequence=2 ttl=253 time=16 ms
    Reply from 172.16.1.1: bytes=56 Sequence=3 ttl=253 time=62 ms
    Reply from 172.16.1.1: bytes=56 Sequence=4 ttl=253 time=94 ms
    Reply from 172.16.1.1: bytes=56 Sequence=5 ttl=253 time=63 ms
  --- 172.16.1.1 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 16/59/94 ms

配置OSPF虚连接示例

Area2没有与骨干区域直接相连。Area1被用作传输区域(Transit Area)来连接Area2和Area0。RouterA和RouterB之间配置一条虚连接。

配置思路

采用如下的思路配置OSPF虚连接:

  1. 在各路由器上配置OSPF基本功能。

  2. 在RouterA和RouterB上配置虚连接,使非骨干区域与骨干区域连通。

操作步骤

配置各路由器接口的IP地址

配置RouterA。

复制代码
<Huawei> system-view
复制代码
[Huawei] sysname RouterA
复制代码
[RouterA] interface gigabitethernet 1/0/0
复制代码
[RouterA-GigabitEthernet1/0/0] ip address 192.168.1.1 24
复制代码
[RouterA-GigabitEthernet1/0/0] quit
复制代码
[RouterA] interface gigabitethernet 2/0/0
复制代码
[RouterA-GigabitEthernet2/0/0] ip address 10.1.1.1 8
复制代码
[RouterA-GigabitEthernet2/0/0] quit

RouterB、RouterC和RouterD的配置与RouterA一致(略)

配置OSPF基本功能

配置RouterA。

复制代码
[RouterA] ospf 1 router-id 1.1.1.1
复制代码
[RouterA-ospf-1] area 0
复制代码
[RouterA-ospf-1-area-0.0.0.0] network 10.0.0.0 0.255.255.255 
复制代码
[RouterA-ospf-1-area-0.0.0.0] quit
复制代码
[RouterA-ospf-1] area 1
复制代码
[RouterA-ospf-1-area-0.0.0.1] network 192.168.1.0 0.0.0.255 
复制代码
[RouterA-ospf-1-area-0.0.0.1] quit

配置RouterB。

复制代码
[RouterB] ospf 1 router-id 2.2.2.2
复制代码
[RouterB-ospf-1] area 1
复制代码
[RouterB-ospf-1-area-0.0.0.1] network 192.168.1.0 0.0.0.255 
复制代码
[RouterB-ospf-1-area-0.0.0.1] quit
复制代码
[RouterB-ospf-1] area 2
复制代码
[RouterB–ospf-1-area-0.0.0.2] network 172.16.0.0 0.0.255.255
复制代码
[RouterB–ospf-1-area-0.0.0.2] quit

配置RouterC。

复制代码
[RouterC] ospf 1 router-id 3.3.3.3 
复制代码
[RouterC-ospf-1] area 0
复制代码
[RouterC-ospf-1-area-0.0.0.0] network 10.0.0.0 0.255.255.255 
复制代码
[RouterC-ospf-1-area-0.0.0.0] quit

配置RouterD。

复制代码
[RouterD] ospf 1 router-id 4.4.4.4
复制代码
[RouterD-ospf-1] area 2
复制代码
[RouterD-ospf-1-area-0.0.0.2] network 172.16.0.0 0.0.255.255 
复制代码
[RouterD-ospf-1-area-0.0.0.2] quit
#查看RouterA的OSPF路由表。

注:由于Area2没有与Area0直接相连,所以RouterA的路由表中没有Area2中的路由。

复制代码
[RouterA] display ospf routing
复制代码
          OSPF Process 1 with Router ID 1.1.1.1
复制代码
                   Routing Tables
复制代码
 Routing for Network
复制代码
 Destination        Cost  Type       NextHop         AdvRouter       Area
复制代码
 10.0.0.0/8         1   Transit       10.1.1.1        1.1.1.1         0.0.0.0
复制代码
 192.168.1.0/24     1   Transit       192.168.1.1     1.1.1.1         0.0.0.1
复制代码
 Total Nets: 2
复制代码
 Intra Area: 2  Inter Area: 0  ASE: 0  NSSA: 0

验证配置结果

# 查看RouterA的OSPF路由表。
复制代码
[RouterA] display ospf routing
复制代码
          OSPF Process 1 with Router ID 1.1.1.1
复制代码
                   Routing Tables
复制代码
 Routing for Network
复制代码
 Destination        Cost  Type       NextHop         AdvRouter       Area
复制代码
 172.16.0.0/16      2   Inter-area 192.168.1.2        2.2.2.2         0.0.0.2
复制代码
 10.0.0.0/8         1   Transit       10.1.1.1        1.1.1.1         0.0.0.0
复制代码
 192.168.1.0/24     1   Transit       192.168.1.1     1.1.1.1         0.0.0.1
复制代码
 Total Nets: 3
复制代码
 Intra Area: 2  Inter Area: 1  ASE: 0  NSSA: 0

配置OSPF的DR选择示例

RouterA的优先级为100,它是网络上的最高优先级,所以RouterA被选为DR;RouterC是优先级第二高的,被选为BDR;RouterB的优先级为0,这意味着它将无法成为DR或BDR;RouterD没有配置优先级,取缺省值1。

配置思路

采用如下的思路配置OSPF的DR选择:

  1. 配置各路由器上router id,使能OSPF,指定网段。

  2. 在缺省优先级情况下,查看各路由器DR/BDR状态。

  3. 配置接口上的DR优先级,查看DR/BDR状态。

操作步骤

配置各接口的IP地址

配置RouterA的各接口的IP地址。

复制代码
<Huawei> system-view
[Huawei] sysname RouterA
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] ip address 192.168.1.1 255.255.255.0
[RouterA-GigabitEthernet1/0/0] quit

RouterB、RouterC和RouterD的配置同RouterA此处略。

配置OSPF基本功能

配置RouterA。

复制代码
[RouterA] router id 1.1.1.1
复制代码
[RouterA] ospf
复制代码
[RouterA-ospf-1] area 0
复制代码
[RouterA-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
复制代码
[RouterA-ospf-1-area-0.0.0.0] quit
复制代码
[RouterA-ospf-1] quit

配置RouterB。

复制代码
[RouterB] router id 2.2.2.2
复制代码
[RouterB] ospf
复制代码
[RouterB-ospf-1] area 0
复制代码
[RouterB-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255 
复制代码
[RouterB-ospf-1-area-0.0.0.0] quit
复制代码
[RouterB-ospf-1] quit

配置RouterC

复制代码
[RouterC] router id 3.3.3.3
复制代码
[RouterC] ospf
复制代码
[RouterC-ospf-1] area 0
复制代码
[RouterC-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255 
复制代码
[RouterC-ospf-1-area-0.0.0.0] quit
复制代码
[RouterC-ospf-1] quit

#配置RouterD。

复制代码
[RouterD] router id 4.4.4.4
复制代码
[RouterD] ospf
复制代码
[RouterD-ospf-1] area 0
复制代码
[RouterD-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255 
复制代码
[RouterD-ospf-1-area-0.0.0.0] quit
复制代码
[RouterD-ospf-1] quit
# 查看DR/BDR的状态。
复制代码
[RouterA] display ospf peer
复制代码
          OSPF Process 1 with Router ID 1.1.1.1
复制代码
                  Neighbors
复制代码
 Area 0.0.0.0 interface 192.168.1.1(GigabitEthernet1/0/0)'s neighbors
复制代码
 Router ID: 2.2.2.2      Address: 192.168.1.2
复制代码
State: 2-Way  Mode:Nbr is  Master  Priority: 1
复制代码
DR: 192.168.1.4  BDR: 192.168.1.3  MTU: 0
复制代码
   Dead timer due in 32  sec
复制代码
   Retrans timer interval: 5
复制代码
   Neighbor is up for 00:04:21
复制代码
   Authentication Sequence: [ 0 ]
复制代码
 Router ID: 3.3.3.3      Address: 192.168.1.3
复制代码
State: Full  Mode:Nbr is  Master  Priority: 1
复制代码
DR: 192.168.1.4  BDR: 192.168.1.3  MTU: 0
复制代码
   Dead timer due in 37  sec
复制代码
   Retrans timer interval: 5
复制代码
   Neighbor is up for 00:04:06
复制代码
   Authentication Sequence: [ 0 ]
复制代码
 Router ID: 4.4.4.4      Address: 192.168.1.4
复制代码
State: Full  Mode:Nbr is  Master  Priority: 1
复制代码
DR: 192.168.1.4  BDR: 192.168.1.3  MTU: 0
复制代码
   Dead timer due in 37  sec
复制代码
   Retrans timer interval: 5
复制代码
   Neighbor is up for 00:03:53
复制代码
   Authentication Sequence: [ 0 ]

查看RouterA的邻居信息,可以看到DR优先级(缺省为1)以及邻居状态,此时RouterD为DR,RouterC为BDR。

当优先级相同时,router-id高的为DR。若DR、BDR已经选择完毕,当一台新路由器加入后,即使它的DR优先级值最大,也不会立即成为该网段中的DR。

配置接口上的DR优先级

配置RouterA。

复制代码
[RouterA] interface gigabitethernet 1/0/0
复制代码
[RouterA-GigabitEthernet1/0/0] ospf dr-priority 100
复制代码
[RouterA-GigabitEthernet1/0/0] quit

配置RouterB。

复制代码
[RouterB] interface gigabitethernet 1/0/0
复制代码
[RouterB-GigabitEthernet1/0/0] ospf dr-priority 0
复制代码
[RouterB-GigabitEthernet1/0/0] quit

配置RouterC。

复制代码
[RouterC] interface gigabitethernet 1/0/0
复制代码
[RouterC-GigabitEthernet1/0/0] ospf dr-priority 2
复制代码
[RouterC-GigabitEthernet1/0/0] quit

# 查看DR/BDR的状态。

复制代码
[RouterD] display ospf peer
复制代码
          OSPF Process 1 with Router ID 4.4.4.4
复制代码
                  Neighbors
复制代码
 Area 0.0.0.0 interface 192.168.1.4(GigabitEthernet1/0/0)'s neighbors
复制代码
 Router ID: 1.1.1.1      Address: 192.168.1.1
复制代码
   State: Full  Mode:Nbr is  Slave  Priority: 100
复制代码
DR: 192.168.1.4  BDR: 192.168.1.3  MTU: 0
复制代码
   Dead timer due in 31  sec
复制代码
   Retrans timer interval: 5
复制代码
   Neighbor is up for 00:11:17
复制代码
   Authentication Sequence: [ 0 ]
复制代码
 Router ID: 2.2.2.2      Address: 192.168.1.2
复制代码
   State: Full  Mode:Nbr is  Slave  Priority: 0
复制代码
DR: 192.168.1.4  BDR: 192.168.1.3  MTU: 0
复制代码
   Dead timer due in 35  sec
复制代码
   Retrans timer interval: 5
复制代码
   Neighbor is up for 00:11:19
复制代码
   Authentication Sequence: [ 0 ]
复制代码
 Router ID: 3.3.3.3      Address: 192.168.1.3
复制代码
   State: Full  Mode:Nbr is  Slave  Priority: 2
复制代码
DR: 192.168.1.4  BDR: 192.168.1.3  MTU: 0
复制代码
   Dead timer due in 33  sec
复制代码
   Retrans timer interval: 5
复制代码
   Neighbor is up for 00:11:15
复制代码
   Authentication Sequence: [ 0 ]

验证配置结果

# 查看OSPF邻居状态。
复制代码
[RouterD] display ospf peer
复制代码
          OSPF Process 1 with Router ID 4.4.4.4
复制代码
                  Neighbors
复制代码
 Area 0.0.0.0 interface 192.168.1.4(GigabitEthernet1/0/0)'s neighbors
复制代码
 Router ID: 1.1.1.1      Address: 192.168.1.1
复制代码
State: Full  Mode:Nbr is  Slave  Priority: 100
复制代码
DR: 192.168.1.1  BDR: 192.168.1.3  MTU: 0
复制代码
   Dead timer due in 35  sec
复制代码
   Retrans timer interval: 5
复制代码
   Neighbor is up for 00:07:19
复制代码
   Authentication Sequence: [ 0 ]
复制代码
 Router ID: 2.2.2.2      Address: 192.168.1.2
复制代码
State: 2-Way  Mode:Nbr is  Master  Priority: 0
复制代码
DR: 192.168.1.1  BDR: 192.168.1.3  MTU: 0
复制代码
   Dead timer due in 35  sec
复制代码
   Retrans timer interval: 5
复制代码
   Neighbor is up for 00:07:19
复制代码
   Authentication Sequence: [ 0 ]
复制代码
 Router ID: 3.3.3.3      Address: 192.168.1.3
复制代码
State: Full  Mode:Nbr is  Slave  Priority: 2
复制代码
DR: 192.168.1.1  BDR: 192.168.1.3  MTU: 0
复制代码
   Dead timer due in 37  sec
复制代码
   Retrans timer interval: 5
复制代码
   Neighbor is up for 00:07:17
复制代码
   Authentication Sequence: [ 0 ]
# 查看OSPF接口的状态。
复制代码
[RouterA] display ospf interface
复制代码
          OSPF Process 1 with Router ID 1.1.1.1
复制代码
                  Interfaces
复制代码
 Area: 0.0.0.0
复制代码
 IP Address  Type        State    Cost  Pri   DR              BDR
复制代码
 192.168.1.1 Broadcast   DR     1     100 192.168.1.1 192.168.1.3
复制代码
[RouterB] display ospf interface
复制代码
          OSPF Process 1 with Router ID 2.2.2.2
复制代码
                  Interfaces
复制代码
 Area: 0.0.0.0
复制代码
 IP Address      Type         State    Cost  Pri   DR              BDR
复制代码
 192.168.1.2     Broadcast    DROther  1     0 192.168.1.1 192.168.1.3

如果邻居的状态是Full,这说明它和邻居之间形成了邻接关系;如果停留在2-Way的状态,则说明都不是DR或BDR,两者之间不需要交换LSA。

如果OSPF接口的状态是DROther,则说明它既不是DR,也不是BDR。


💎 总结

OSPF凭借其分层架构高效收敛强扩展性,成为中大型网络的首选IGP协议。尽管配置复杂度较高,但其在避免环路、支持VLSM/CIDR、区域化流量控制等方面的优势,使其全面超越RIP等早期协议。实际部署中需结合网络规模合理划分区域,并优化DR选举与路由聚合策略以提升性能1410。

相关推荐
一叶知秋yyds1 天前
Ubuntu 虚拟机安装 OpenClaw 完整流程
linux·运维·ubuntu·openclaw
瀚高PG实验室1 天前
审计策略修改
网络·数据库·瀚高数据库
forAllforMe1 天前
etherCAT的协议VoE,FoE,EoE,CoE的概念和区别
网络
专吃海绵宝宝菠萝屋的派大星1 天前
使用Dify对接自己开发的mcp
java·服务器·前端
斯普信云原生组1 天前
Prometheus 环境监控虚机 Redis 方案(生产实操版)
运维·docker·容器
大数据新鸟1 天前
操作系统之虚拟内存
java·服务器·网络
迷藏4941 天前
**eBPF实战进阶:从零构建网络流量监控与过滤系统**在现代云原生架构中,**网络可观测性**和**安全隔离**已成为
java·网络·python·云原生·架构
zmj3203241 天前
汽车电子内部网络架构图
网络·汽车
safestar20121 天前
ES批量写入性能调优:BulkProcessor 参数详解与实战案例
java·大数据·运维·jenkins
来一颗砂糖橘1 天前
负载均衡的多维深度解析
运维·负载均衡