当前位置: 首页 > news >正文

OSPF协议:核心概念与配置要点解析

OSPF协议:核心概念与配置要点解析

OSPFOpen Shortest Path First)是一种非常重要的链路状态路由协议

链路状态协议
  • 每个路由器广播整个路由表。
  • 每个路由表负责描述自己直连链路的状态(如:连接到哪些网络、邻居路由器是谁、链路开销等),并将这些信息封装在LSA(链路状态通告)中。
  • 这些LSA会在区域内泛洪,使得区域内的每个路由最终都拥有一个完全相同的链路状态数据库
  • 路由器基于这个数据库,使用Dijkstra(一种经典的最短路径算法)独立计算出一个以自己为根的、无环的最短路径树,从而得到到达所有已知目标网络的最优路径(路由表)。
快速收敛:
  • 链路状态发生变化会触发快速更新(仅发送变化的LSA),迅速重新计算路由,收敛速度快。
  • 30分钟周期性更新,确保数据库中包含最新的链路状态记录,证lsdb(链路状态数据库)的同步,提高可靠性。
分层设计(区域):
  • 核心优势!将大型网络划分为更小的管理单元——区域
  • 骨干区域:必须是 Area 0。所有其他非骨干区域必须直接连接到 Area 0。区域间路由信息必须通过骨干区域传递。
  • 减少 LSA 泛洪范围:大多数 LSA 只在区域内泛洪,大大减少了路由器的 LSDB 大小和 SPF 计算复杂度。
  • 提高稳定性:一个区域内的拓扑变化不会影响其他区域内的路由器进行 SPF 计算(区域边界路由器会进行汇总和过滤)。
  • 优化资源使用:降低路由器 CPU 和内存消耗。
路由器类型:
  • 内部路由器:所有接口都在同一个区域内。
  • 区域边界路由器:连接多个区域(其中一个是 Area 0),负责汇总区域内的路由信息(3 类 LSA)并注入到骨干区域,反之亦然。
  • 骨干路由器:至少有一个接口在 Area 0。
  • 自治系统边界路由器:将 OSPF 域外部的路由(如静态路由、RIP、EIGRP、BGP 路由)重分布到 OSPF 域中(5 类/7 类 LSA)。
通信类型:
  • 区域内通信——在同一个区域内的路由器之间的通信。
  • 区域间通信——不同区域的路由器断之间的通信。
  • 区域外部通信——OSPF域内路由器之间域另一个自治系统内的各区域及路由器进行任务分工。
度量值:
  • OSPF 使用 开销 作为度量值。
  • 开销主要基于接口的带宽计算(参考带宽 / 接口带宽,参考带宽默认 100 Mbps)。
  • 开销值越低,路径越优。
  • 路径总开销是到达目标网络路径上所有出站接口开销的总和

DR/BDR选举的详细流程

  1. 邻居发现(Hello 协议)
    • 路由器通过发送 Hello 包发现同一网段上的 OSPF 邻居。
    • Hello 包中包含字段:
      Router IDNeighbor ListPriorityDRBDR
  2. 参与选举的条件
    • 只有 OSPF 邻居状态进入 2-Way 或更高 的路由器才参与选举。
    • 每个路由器的 OSPF 接口优先级(默认=1,范围 0-255):
      • 优先级=0 → 不参与选举(永远为 DROther)
      • 优先级>0 → 参与选举
  3. 选举规则(严格优先级顺序)
    • 最高接口优先级
      • 比较所有邻居的 Priority 值(数值越高越优先)。
    • 最高 Router ID(若优先级相同)
      • 手动配置的 Router ID > 最大 Loopback IP > 最大活动物理接口 IP
  4. 选举过程(非抢占性)
    • 始化选举(网络首次启动时):
      • 路由器在 Hello 包中宣告自己为 DR=0.0.0.0, BDR=0.0.0.0
      • 等待 Wait Timer(默认=40秒),收集所有邻居的 Hello 包。
      • 根据收集到的邻居优先级和 RID,选举出:
        • **BDR先选举:**从所有宣告自己为 BDR 或优先级>0的路由器中选最优者。
        • **DR再选举:**从所有宣告自己为 DR 或优先级>0的路由器中选最优者(通常 BDR 升级为 DR)。
    • 最终结果
      • 最优者 → DR
      • 次优者 → BDR
      • 其余 → DROther
    • 关键特性:非抢占性
      • 一旦选举完成,新加入的高优先级路由器不会抢占现有 DR/BDR
      • 除非 DR/BDR 失效(Dead Timer 超时),否则角色不变。

    在这里插入图片描述

实验:

一、实验拓扑

在这里插入图片描述

二、实验需求
  1. 按照图示配置IP地址
  2. 按照图示分区配置OSPF,实现全网互通
  3. 路由器使用环回口作为 Router-id,ABR 的环回口宣告进骨干区域
  4. 测试,查看路由表和关系表
三、实验步骤
  1. 按照图示配置IP地址

    [R1]int g0/0
    [R1-GigabitEthernet0/0]ip add 10.1.12.1 24
    [R1-GigabitEthernet0/0]int g0/1
    [R1-GigabitEthernet0/1]ip add 10.1.14.1 24
    [R1-GigabitEthernet0/1]int lo0
    [R1-LoopBack0]ip add 1.1.1.1 32
    [R1-LoopBack0]qu
    
    [R2]int g0/0
    [R2-GigabitEthernet0/0]ip add 10.1.12.2 24
    [R2-GigabitEthernet0/0]int g0/1
    [R2-GigabitEthernet0/1]ip add 10.1.23.2 24
    [R2-GigabitEthernet0/1]int lo0
    [R2-LoopBack0]ip add 2.2.2.2 32
    [R2-LoopBack0]qu
    
    [R3]int g0/0
    [R3-GigabitEthernet0/0]ip add 10.1.23.3 24
    [R3-GigabitEthernet0/0]int g0/1
    [R3-GigabitEthernet0/1]ip add 10.1.35.3 24
    [R3-GigabitEthernet0/1]int lo0
    [R3-LoopBack0]ip add 3.3.3.3 32
    [R3-LoopBack0]qu
    
    [R4]int g0/0
    [R4-GigabitEthernet0/0]ip add 10.1.14.4 24
    [R4-GigabitEthernet0/0]int lo0
    [R4-LoopBack0]ip add 4.4.4.4 32
    [R4-LoopBack0]qu
    
    [R5]int g0/0
    [R5-GigabitEthernet0/0]ip add 10.1.35.5 24
    [R5-GigabitEthernet0/0]int lo0
    [R5-LoopBack0]ip add 5.5.5.5 32
    [R5-LoopBack0]qu
    
  2. 按照图示分区配置OSPF,实现全网互通

    #进入ospf 1,配置router-id
    #进入area 0
    #宣告网段10.1.12.0、1.1.1.1
    #进入area 1
    #宣告网段10.1.14.0[R1]ospf 1 router-id 1.1.1.1
    [R1-ospf-1]area 0
    [R1-ospf-1-area-0.0.0.0]network 10.1.12.0 0.0.0.255
    [R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
    [R1-ospf-1-area-0.0.0.0]dis th
    #area 0.0.0.0network 1.1.1.1 0.0.0.0network 10.1.12.0 0.0.0.255
    #
    return
    [R1-ospf-1-area-0.0.0.0]area 1
    [R1-ospf-1-area-0.0.0.1]network 10.1.14.0 0.0.0.255
    [R1-ospf-1-area-0.0.0.1]dis th
    #area 0.0.0.1network 10.1.14.0 0.0.0.255
    #
    return
    [R1-ospf-1-area-0.0.0.1]qu
    [R1-ospf-1]qu
    [R1]
    
    #进入ospf 1,配置router-id
    #进入area 0
    #宣告网段10.1.12.0、10.1.23.0、2.2.2.2[R2]ospf 1
    [R2]ospf 1 router-id 2.2.2.2
    [R2-ospf-1]area 0
    [R2-ospf-1-area-0.0.0.0]network 10.1.12.0 0.0.0.255
    [R2-ospf-1-area-0.0.0.0]network 10.1.23.0 0.0.0.255
    [R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
    [R2-ospf-1-area-0.0.0.0]dis th
    #area 0.0.0.0network 2.2.2.2 0.0.0.0network 10.1.12.0 0.0.0.255network 10.1.23.0 0.0.0.255
    #
    return
    [R2-ospf-1-area-0.0.0.0]qu
    [R2-ospf-1]qu
    
    #进入ospf 1,配置router-id
    #进入area 0
    #宣告网段10.1.23.0、3.3.3.3
    #进入area 2
    #宣告网段10.1.35.0[R3]ospf 1 router-id 3.3.3.3
    [R3-ospf-1]area 0
    [R3-ospf-1-area-0.0.0.0]network 10.1.23.0 0.0.0.255
    [R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
    [R3-ospf-1-area-0.0.0.0]dis th
    #area 0.0.0.0network 3.3.3.3 0.0.0.0network 10.1.23.0 0.0.0.255
    #
    return
    [R3-ospf-1-area-0.0.0.1]area 2
    [R3-ospf-1-area-0.0.0.2]network 10.1.35.0 0.0.0.255
    [R3-ospf-1-area-0.0.0.2]dis th
    #area 0.0.0.2network 10.1.35.0 0.0.0.255
    #
    return
    [R3-ospf-1-area-0.0.0.2]qu
    [R3-ospf-1]qu
    
    #进入ospf 1,配置router-id
    #进入area 1
    #宣告网段10.1.14.0、4.4.4.4[R4]ospf 1 router-id 4.4.4.4
    [R4-ospf-1]area 1
    [R4-ospf-1-area-0.0.0.1]network 10.1.14.0 0.0.0.255
    [R4-ospf-1-area-0.0.0.1]network 4.4.4.4 0.0.0.0
    [R4-ospf-1-area-0.0.0.1]dis th
    #area 0.0.0.1network 4.4.4.4 0.0.0.0network 10.1.14.0 0.0.0.255
    #
    return
    [R4-ospf-1-area-0.0.0.1]qu
    [R4-ospf-1]qu
    
    #进入ospf 1,配置router-id
    #进入area 2
    #宣告网段10.1.35.0、5.5.5.5[R5]ospf 1 router-id 5.5.5.5
    [R5-ospf-1]area 2
    [R5-ospf-1-area-0.0.0.2]network 10.1.35.0 0.0.0.255
    [R5-ospf-1-area-0.0.0.2]network 5.5.5.5 0.0.0.0
    [R5-ospf-1-area-0.0.0.2]dis th
    #area 0.0.0.2network 5.5.5.5 0.0.0.0network 10.1.35.0 0.0.0.255
    #
    return
    [R5-ospf-1-area-0.0.0.2]qu
    [R5-ospf-1]qu
    
  3. 查看邻居关系表

    [R1]display ospf peerOSPF Process 1 with Router ID 1.1.1.1Neighbor Brief InformationArea: 0.0.0.0        Router ID       Address         Pri Dead-Time  State             Interface2.2.2.2         10.1.12.2       1   31         Full/BDR          GE0/0Area: 0.0.0.1        Router ID       Address         Pri Dead-Time  State             Interface4.4.4.4         10.1.14.4       1   31         Full/BDR          GE0/1
    
    [R2]display ospf peerOSPF Process 1 with Router ID 2.2.2.2Neighbor Brief InformationArea: 0.0.0.0        Router ID       Address         Pri Dead-Time  State             Interface1.1.1.1         10.1.12.1       1   30         Full/DR           GE0/03.3.3.3         10.1.23.3       1   39         Full/BDR          GE0/1
    
    [R3]display ospf peerOSPF Process 1 with Router ID 3.3.3.3Neighbor Brief InformationArea: 0.0.0.0        Router ID       Address         Pri Dead-Time  State             Interface2.2.2.2         10.1.23.2       1   36         Full/DR           GE0/0Area: 0.0.0.2        Router ID       Address         Pri Dead-Time  State             Interface5.5.5.5         10.1.35.5       1   40         Full/BDR          GE0/1
    
    [R4]display ospf peerOSPF Process 1 with Router ID 4.4.4.4Neighbor Brief InformationArea: 0.0.0.1        Router ID       Address         Pri Dead-Time  State             Interface1.1.1.1         10.1.14.1       1   37         Full/DR           GE0/0
    
    [R5]display ospf peerOSPF Process 1 with Router ID 5.5.5.5Neighbor Brief InformationArea: 0.0.0.2        Router ID       Address         Pri Dead-Time  State             Interface3.3.3.3         10.1.35.3       1   35         Full/DR           GE0/0
    
  4. 查看路由表

    [R1]dis ip routing-table Destinations : 20       Routes : 20Destination/Mask   Proto   Pre Cost        NextHop         Interface
    0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0
    1.1.1.1/32         Direct  0   0           127.0.0.1       InLoop0
    2.2.2.2/32         O_INTRA 10  1           10.1.12.2       GE0/0
    3.3.3.3/32         O_INTRA 10  2           10.1.12.2       GE0/0
    4.4.4.4/32         O_INTRA 10  1           10.1.14.4       GE0/1
    5.5.5.5/32         O_INTER 10  3           10.1.12.2       GE0/0
    10.1.12.0/24       Direct  0   0           10.1.12.1       GE0/0
    10.1.12.1/32       Direct  0   0           127.0.0.1       InLoop0
    10.1.12.255/32     Direct  0   0           10.1.12.1       GE0/0
    10.1.14.0/24       Direct  0   0           10.1.14.1       GE0/1
    10.1.14.1/32       Direct  0   0           127.0.0.1       InLoop0
    10.1.14.255/32     Direct  0   0           10.1.14.1       GE0/1
    10.1.23.0/24       O_INTRA 10  2           10.1.12.2       GE0/0
    10.1.35.0/24       O_INTER 10  3           10.1.12.2       GE0/0
    127.0.0.0/8        Direct  0   0           127.0.0.1       InLoop0
    127.0.0.1/32       Direct  0   0           127.0.0.1       InLoop0
    127.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0
    224.0.0.0/4        Direct  0   0           0.0.0.0         NULL0
    224.0.0.0/24       Direct  0   0           0.0.0.0         NULL0
    255.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0
    
    [R2]dis ip routing-table Destinations : 20       Routes : 20Destination/Mask   Proto   Pre Cost        NextHop         Interface
    0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0
    1.1.1.1/32         O_INTRA 10  1           10.1.12.1       GE0/0
    2.2.2.2/32         Direct  0   0           127.0.0.1       InLoop0
    3.3.3.3/32         O_INTRA 10  1           10.1.23.3       GE0/1
    4.4.4.4/32         O_INTER 10  2           10.1.12.1       GE0/0
    5.5.5.5/32         O_INTER 10  2           10.1.23.3       GE0/1
    10.1.12.0/24       Direct  0   0           10.1.12.2       GE0/0
    10.1.12.2/32       Direct  0   0           127.0.0.1       InLoop0
    10.1.12.255/32     Direct  0   0           10.1.12.2       GE0/0
    10.1.14.0/24       O_INTER 10  2           10.1.12.1       GE0/0
    10.1.23.0/24       Direct  0   0           10.1.23.2       GE0/1
    10.1.23.2/32       Direct  0   0           127.0.0.1       InLoop0
    10.1.23.255/32     Direct  0   0           10.1.23.2       GE0/1
    10.1.35.0/24       O_INTER 10  2           10.1.23.3       GE0/1
    127.0.0.0/8        Direct  0   0           127.0.0.1       InLoop0
    127.0.0.1/32       Direct  0   0           127.0.0.1       InLoop0
    127.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0
    224.0.0.0/4        Direct  0   0           0.0.0.0         NULL0
    224.0.0.0/24       Direct  0   0           0.0.0.0         NULL0
    255.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0
    
    [R3]dis ip routing-table Destinations : 20       Routes : 20Destination/Mask   Proto   Pre Cost        NextHop         Interface
    0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0
    1.1.1.1/32         O_INTRA 10  2           10.1.23.2       GE0/0
    2.2.2.2/32         O_INTRA 10  1           10.1.23.2       GE0/0
    3.3.3.3/32         Direct  0   0           127.0.0.1       InLoop0
    4.4.4.4/32         O_INTER 10  3           10.1.23.2       GE0/0
    5.5.5.5/32         O_INTRA 10  1           10.1.35.5       GE0/1
    10.1.12.0/24       O_INTRA 10  2           10.1.23.2       GE0/0
    10.1.14.0/24       O_INTER 10  3           10.1.23.2       GE0/0
    10.1.23.0/24       Direct  0   0           10.1.23.3       GE0/0
    10.1.23.3/32       Direct  0   0           127.0.0.1       InLoop0
    10.1.23.255/32     Direct  0   0           10.1.23.3       GE0/0
    10.1.35.0/24       Direct  0   0           10.1.35.3       GE0/1
    10.1.35.3/32       Direct  0   0           127.0.0.1       InLoop0
    10.1.35.255/32     Direct  0   0           10.1.35.3       GE0/1
    127.0.0.0/8        Direct  0   0           127.0.0.1       InLoop0
    127.0.0.1/32       Direct  0   0           127.0.0.1       InLoop0
    127.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0
    224.0.0.0/4        Direct  0   0           0.0.0.0         NULL0
    224.0.0.0/24       Direct  0   0           0.0.0.0         NULL0
    255.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0
    
    [R4]dis ip routing-table Destinations : 18       Routes : 18Destination/Mask   Proto   Pre Cost        NextHop         Interface
    0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0
    1.1.1.1/32         O_INTER 10  1           10.1.14.1       GE0/0
    2.2.2.2/32         O_INTER 10  2           10.1.14.1       GE0/0
    3.3.3.3/32         O_INTER 10  3           10.1.14.1       GE0/0
    4.4.4.4/32         Direct  0   0           127.0.0.1       InLoop0
    5.5.5.5/32         O_INTER 10  4           10.1.14.1       GE0/0
    10.1.12.0/24       O_INTER 10  2           10.1.14.1       GE0/0
    10.1.14.0/24       Direct  0   0           10.1.14.4       GE0/0
    10.1.14.4/32       Direct  0   0           127.0.0.1       InLoop0
    10.1.14.255/32     Direct  0   0           10.1.14.4       GE0/0
    10.1.23.0/24       O_INTER 10  3           10.1.14.1       GE0/0
    10.1.35.0/24       O_INTER 10  4           10.1.14.1       GE0/0
    127.0.0.0/8        Direct  0   0           127.0.0.1       InLoop0
    127.0.0.1/32       Direct  0   0           127.0.0.1       InLoop0
    127.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0
    224.0.0.0/4        Direct  0   0           0.0.0.0         NULL0
    224.0.0.0/24       Direct  0   0           0.0.0.0         NULL0
    255.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0
    
    [R5]dis ip routing-table Destinations : 18       Routes : 18Destination/Mask   Proto   Pre Cost        NextHop         Interface
    0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0
    1.1.1.1/32         O_INTER 10  3           10.1.35.3       GE0/0
    2.2.2.2/32         O_INTER 10  2           10.1.35.3       GE0/0
    3.3.3.3/32         O_INTER 10  1           10.1.35.3       GE0/0
    4.4.4.4/32         O_INTER 10  4           10.1.35.3       GE0/0
    5.5.5.5/32         Direct  0   0           127.0.0.1       InLoop0
    10.1.12.0/24       O_INTER 10  3           10.1.35.3       GE0/0
    10.1.14.0/24       O_INTER 10  4           10.1.35.3       GE0/0
    10.1.23.0/24       O_INTER 10  2           10.1.35.3       GE0/0
    10.1.35.0/24       Direct  0   0           10.1.35.5       GE0/0
    10.1.35.5/32       Direct  0   0           127.0.0.1       InLoop0
    10.1.35.255/32     Direct  0   0           10.1.35.5       GE0/0
    127.0.0.0/8        Direct  0   0           127.0.0.1       InLoop0
    127.0.0.1/32       Direct  0   0           127.0.0.1       InLoop0
    127.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0
    224.0.0.0/4        Direct  0   0           0.0.0.0         NULL0
    224.0.0.0/24       Direct  0   0           0.0.0.0         NULL0
    255.255.255.255/32 Direct  0   0           127.0.0.1       InLoop0
    
  5. 在PC_4上 ping PC_5

    [R4]ping 5.5.5.5
    Ping 5.5.5.5 (5.5.5.5): 56 data bytes, press CTRL+C to break
    56 bytes from 5.5.5.5: icmp_seq=0 ttl=252 time=2.119 ms
    56 bytes from 5.5.5.5: icmp_seq=1 ttl=252 time=2.179 ms
    56 bytes from 5.5.5.5: icmp_seq=2 ttl=252 time=1.936 ms
    56 bytes from 5.5.5.5: icmp_seq=3 ttl=252 time=1.791 ms
    56 bytes from 5.5.5.5: icmp_seq=4 ttl=252 time=2.031 ms--- Ping statistics for 5.5.5.5 ---
    5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
    round-trip min/avg/max/std-dev = 1.791/2.011/2.179/0.137 ms
    [R4]%Jul  9 20:22:33:614 2025 R4 PING/6/PING_STATISTICS: Ping statistics for 5.5.5.5: 5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss, round-trip min/avg/max/std-dev = 1.791/2.011/2.179/0.137 ms.
    
http://www.dtcms.com/a/272263.html

相关文章:

  • 虚拟项目[3D物体测量]
  • 从真人到数字分身:3D人脸扫描设备在高校数字人建模教学中的应用
  • 强化学习 MDP
  • Selenium 4 教程:自动化 WebDriver 管理与 Cookie 提取 || 用于解决chromedriver版本不匹配问题
  • 《PyQt6-3D:开启Python 3D开发新世界》
  • Windows Edge 播放 H.265 视频指南
  • OpenAI正准备推出一款搭载人工智能功能的网络浏览器,试图直接挑战Alphabet旗下
  • 前端面试专栏-算法篇:21. 链表、栈、队列的实现与应用
  • NAT技术(网络地址转换)
  • 【实战】使用 ELK 搭建 Spring Boot Docker 容器日志监控系统
  • OSPF实验以及核心原理全解
  • 【SkyWalking】配置告警规则并通过 Webhook 推送钉钉通知
  • HP EVA SAN 数据恢复利器:Data recovery plugin for HP StorageWorks EVA
  • 前端项目集成husky + lint-staged + commitlint
  • Web-Bench:基于web标准和框架的benchmark
  • Fiddler中文版全面评测:功能亮点、使用场景与中文网资源整合指南
  • 什么是强化学习(RL)--2
  • 如何在VMware里的飞牛OS访问主机里面图片文件夹
  • 【运维实战】解决 K8s 节点无法拉取 pause:3.6 镜像导致 API Server 启动失败的问题
  • 【EGSR2025】材质+扩散模型+神经网络相关论文整理随笔(三)
  • 华为昇腾NPU与NVIDIA CUDA生态兼容层开发实录:手写算子自动转换工具链(AST级代码迁移方案)
  • 缓存穿透与击穿多方案对比与实践指南
  • 设计模式的六大设计原则
  • AI问答之手机相机专业拍照模式的主要几个参数解释
  • 【笔记】使用 html 创建网址快捷方式
  • 达梦数据库DMDRS搭建单向dm8-dm8数据同步
  • 【工具教程】批量提取OCR图片中固定文字保存WPS表格,批量OCR识别图像中的文字保存到Excel表格的操作步骤和注意事项
  • 虚拟环境已安装该包,且已激活,但报错
  • 智能体的记忆系统:短期记忆、长期记忆与知识图谱
  • Spring for Apache Pulsar->Reactive Support->Quick Tour