网络的那些事——初级——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。

相关推荐
西装没钱买33 分钟前
C语言多进程TCP服务器与客户端
服务器·c语言·tcp/ip·进程
福理原乡大王1 小时前
Linux信号详解
linux·运维·服务器·c++·ubuntu·信号处理
xiaohanbao091 小时前
day54 python对抗生成网络
网络·python·深度学习·学习
ldq_sd2 小时前
centos 8.3(阿里云服务器)mariadb由系统自带版本(10.3)升级到10.6
服务器·阿里云·centos
孙克旭_2 小时前
day031-Shell自动化编程-数组与案例
linux·运维·自动化
喜欢踢足球的老罗2 小时前
自动化模型管理:MediaPipe Android SDK 中的模型文件下载与加载机制
android·运维·自动化
遇见火星2 小时前
自动化KVM虚拟机创建脚本详解:从模板到高效部署的线上实践!
运维·自动化·kvm
火山引擎开发者社区2 小时前
TickIt:基于 LLM 的自动化 Oncall 升级
运维·自动化·火山引擎
CatalyzeSec3 小时前
【插件推荐】WebRTC Protect — 防止 IP 泄漏
网络·webrtc
大公产经晚间消息3 小时前
蚂蚁集团法人变更:韩歆毅接任,公司治理的正常安排
网络