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

HCIP(OSPF)(3)

  1. OSPF 报文结构

    • 公共头部:包含版本(8bit)、类型(8bit)、报文长度(16bit)、路由器 ID(32bit)、区域 ID(32bit)、校验和(16bit)、验证类型(16bit)以及认证数据(32bit,可能出现两次)等字段 ,这些字段是 OSPF 报文的基本标识和验证信息。

    • Hello 报文格式:除公共头部外,还包括网络掩码(在以太网中校验,P2P 网络不验证)、Hello 间隔(16bit)、可选项(8bit,特殊区域标记)、路由器优先级(8bit)、路由器失效时间(32bit)、指定路由器(32bit)、备份指定路由器(32bit)以及邻居(32bit,可能出现多次)等字段。Hello 报文用于发现和维护邻居关系,字段信息影响邻居建立及网络拓扑发现。
    • 其他报文格式
      • DBD 报文:版本为 2,类型为 2。先利用无摘要信息的 DBD 报文进行主从关系选举(I 标志用于选举,M 标志保证对端接收所有摘要信息,MS 仅主设备发送的 DBD 报文置为 1),之后交换携带摘要信息的 DBD 报文比对数据库,再通过序列号隐性确认,确保 DBD 报文可靠传输,主设备控制确认顺序。
      • LSR 报文(链路状态请求报文):版本为 2,类型为 3。通过 LSA 三元组(链路状态类型、链路状态 ID、通告路由器,共同唯一标识一条 LSA),逐条请求 LSA,用于获取特定链路状态信息。
      • LSU 报文(链路状态更新报文):版本为 2,类型为 4。携带 LSA 个数及具体 LSA 信息,用于回复对端请求的 LSA,实现链路状态信息更新。
      • LSACK 报文:版本为 2,类型为 5。通过 LSA 头部信息确认 LSU 报文,保障 LSU 报文可靠传输。
  2. OSPF 邻居关系建立失败因素:涉及 RID(路由器 ID)、Area ID(区域 ID)、认证、网络掩码(以太网中校验,不一致会导致邻居建立失败,P2P 网络不验证)、hello 时间和 dead 时间、可选项(特殊区域标记)、DR(指定路由器)和 BDR(备份指定路由器)等因素。其中,DR 和 BDR 所有设备认知必须一致,否则影响邻居关系建立。
  3. OSPF 的接口网络类型
    • BMA(广播多路访问,如以太网环境):工作方式为 Broadcast,需条件匹配,MTU 默认 1500 字节,hello 时间为 10S,dead 时间为 40S,可建立多个邻居。通过 display ospf interface GigabitEthernet 0/0/0 可查看接口信息,如开销值(Cost),其计算公式为参考带宽 / 真实带宽(参考带宽默认 100Mbps ,计算值小于 1 取整为 1,大于 1 舍去小数部分),用于 OSPF 选路。还可通过 bandwidth-reference 命令修改参考带宽。此外,DR 与 BDR 在接口上选举,因为不同接口可能处于不同广播域。
      [r2]display ospf interface GigabitEthernet 0/0/0OSPF Process 1 with Router ID 2.2.2.2InterfacesInterface: 23.0.0.1 (GigabitEthernet0/0/0)
      Cost: 1       State: BDR       Type: Broadcast     MTU: 1500
      Priority: 1
      Designated Router: 23.0.0.2
      Backup Designated Router: 23.0.0.1
      Timers: Hello 10 , Dead 40 , Poll 120 , Retransmit 5 , Transmit Delay 1DR与BDR的选举,实质上是接口进行选举,因为路由器不同的接口工作在不同的广播域中
    • P2P(点到点网络):无需条件匹配,不能建立多个邻居,Hello 时间 10S,Dead 时间 40S,MTU 默认 1500 字节。相比 MA 网络,没有 two - way 状态,收敛速度更快,如串口链路。环回接口开销为定义值,默认视为 P2P 类型。
      P2P状态变化
      [r1]
      Apr 17 2025 20:21:34-08:00 r1 %%01IFNET/4/LINK STATE (1) [8] : The line protocol PPP
      IPCP on the interface Serial4/0/0 has entered the UP state.
      [r1]
      Apr 17 2025 20:21:34-08:00 r1 %%01OSPF/4/NBR CHANGE_E (1) [9] : Neighbor changes eve
      nt: neighbor status changed. (ProcessId=256, NeighborAddress=2. 0.0.12, NeighborE
      vent=HelloReceived, NeighborPreviousState=Down, NeighborCurrentState=Init)
      [r1]
      Apr 17 2025 20:21:44-08:00 r1 %%01OSPF/4/NBR CHANGE E (1) [10] : Neighbor changes ev
      ent: neighbor status changed. (ProcessId=256, NeighborAddress=2. 0. 0.12, Neighbor
      Event=2WayReceived, NeighborPreviousState=Init, NeighborCurrentState=ExStart)
      [r1]
      Apr 17 2025 20:21:44-08:00 r1 %%01OSPF/4/NBR CHANGE E (1) [11] : Neighbor changes ev
      ent: neighbor status changed. (ProcessId=256, NeighborAddress=2.0.0.12, Neighbor
      Event=NegotiationDone, NeighborPreviousState=ExStart, NeighborCurrentState=Excha
      nge)
      [r1]
      Apr 17 2025 20:21:44-08:00 r1 %%01OSPF/4/NBR CHANGE E (1) [12] : Neighbor changes ev
      ent: neighbor status changed. (ProcessId=256, NeighborAddress=2.0.0.12, Neighbor
      Event=ExchangeDone, NeighborPreviousState=Exchange, NeighborCurrentState=Loading
      )
      [r1]
      Br 17 2025 20:21:44-08:00 r1 %%01OSPF/4/NBR_CHANGE_E (1) [13] : Neighbor changes ev
      ent: neighbor status changed. (ProcessId 256, NeighborAddress-2. 0.0.12, Neighbor
      Event=LoadingDone, NeighborPreviousState=Loading, NeighborCurrentState=Full)
      [r1]display ospf interface Serial    4/0/0OSPF Process 1 with Router ID 1.1.1.1Interfaces
      Interface: 12.0.0.1 (Serial4/0/0) -- > 12.0.0.2
      Cost: 4882    State: P-2-P     Type: P2P         MTU: 1500
      Timers: Hello 10 , Dead 40 , Poll 120 , Retransmit 5 , Transmit Delay 1串口E1标准2.048此时参考带宽=10000,参考/真实=4882.XXX舍去小数部分
      环回接口--主要环回接口开销是定义值
      <r3>display ospf interface LoopBack 0OSPF Process 1 with Router ID 3.3.3.3InterfacesInterface: 192.168.3.1 (LoopBack0)
      Cost: 0      State: P-2-P      Type: P2P      MTU: 1500
      Timers: Hello 10 , Dead 40 , Poll 120 , Retransmit 5 , Transmit Delay 1
    • P2MP(点到多点网络):无需条件匹配,hello 时间 30S,死亡时间 120S,允许同时建立多个邻居。可通过命令 ospf network - type p2p 修改接口网络类型为 P2MP ,以适应特定网络环境。
      [r3-GigabitEthernet0/0/0]display ospf interface GigabitEthernet 0/0/0OSPF Process 1 with Router ID 3.3.3.3InterfacesInterface: 23.0.0.2 (GigabitEthernet0/0/0) 
      Cost: 10      State: P-2-P     Type: P2MP     MTU: 1500
      Timers: Hello 30 , Dead 120 , Poll 120 , Retransmit 5 , Transmit Delay 1
    • NBMA(非广播多路访问,如帧中继,逐渐被淘汰):需要进行 DR 和 BDR 选举,hello 时间 30S,dead 时间 120S,Poll 时间 120S(用于轮询,防止因对端未及时配置导致邻居状态误判为 down)。设备需指定单播邻居(如 [r3 - ospf - 1]peer 23.0.0.1 ),存在 Attempt(等待)状态,等待对端设备指定单播邻居,状态变化过程与其他网络类型不同。
      [r3-GigabitEthernet0/0/0]display ospf interface GigabitEthernet 0/0/0OSPF Process 1 with Router ID 3.3.3.3InterfacesInterface: 23.0.0.2 (GigabitEthernet0/0/0)
      Cost: 10      State: Waiting    Type: NBMA     MTU: 1500
      Priority: 1
      Designated Router: 0.0.0.0
      Backup Designated Router: 0.0.0.0
      Timers: Hello 30 , Dead 120 , Poll  120 , Retransmit 5 , Transmit Delay 1
      需要进行DR和BDR选举
      Interface: 23.0.0.2 (GigabitEthernet0/0/0)
      Cost: 10      State:Waiting      Type: NBMA      MTU: 1500
      Priority: 1
      Designated Router: 0.0.0.0
      Backup Designated Router: 0.0.0.0
      Timers: Hello 30 ,Dead 120 , Poll  120 , Retransmit 5 , Transmit Delay 1
      [r3-GigabitEthernet0/0/0]
      [r3-GigabitEthernet0/0/0]
      [r3-GigabitEthernet0/0/0]
      [r3-GigabitEthernet0/0/0]
      [r3-GigabitEthernet0/0/0]display ospf interface GigabitEthernet 0/0/0OSPF Process 1 with Router ID 3.3.3.3InterfacesInterface: 23.0.0.2 (GigabitEthernet0/0/0)
      Cost: 10     State: DR         Type: NBMA        MTU: 1500
      Priority: 1
      Designated Router: 23.0.0.2
      Backup Designated Router: 0.0.0.0 
      Timers: Hello 30 , Dead 120 , Poll 120 ,Retransmit 5 , Transmit Delay 1
      
      [r3-ospf-1]peer  23.0.0.1---指定建立邻居的设备IP地址(作为目标IP)
      Apr 17 2025 20:54:44-08:00 r2 %%01OSPF/4/NBR CHANGE E (1) [0] : Neighbor changes eve
      nt: neighbor status changed. (ProcessId=256, NeighborAddress=2.0.0.23, NeighborE
      vent=Start, NeighborPreviousState=Down, NeighborCurrentState=Attempt)
      [r2-ospf-1]
      NBMA状态变化
      [r3-ospf-1]peer 23.0.0.1
      Apr 17 2025 20:58:45-08:00 r3 %%01OSPF/4/NBR_CHANGE_E (1) [9] : Neighbor changes eve
      nt: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.23, NeighborE
      vent=Start, NeighborPreviousState=Down, NeighborCurrentState=Attempt)
      [r3-ospf-1]
      [r3-ospf-1]
      Apr 17 2025 20: 58: 45-08:00 r3 %%01OSPF/4/NBR_CHANGE_E (1) [10] : Neighbor changes ev
      ent: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.23, Neighbor
      Event=HelloReceived, NeighborPreviousState=Attempt, NeighborCurrentState=Init)
      [r3-ospf-1]
      Apr 17 2025 20:58:45-08:00 r3 %%01OSPF/4/NBR CHANGE_E (1) [11] : Neighbor changes ev
      ent: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.23, Neighbor
      Event=2WayReceived, NeighborPreviousState=Init, NeighborCurrentState=ExStart)
      [r3-ospf-1]
      Apr 17 2025 20:58: 45-08:00 r3 %%01OSPF/4/NBR_CHANGE_E (1) [12] : Neighbor changes ev
      ent: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.23, Neighbor
      Event=NegotiationDone, NeighborPreviousState=ExStart, NeighborCurrentState=Excha
      nge)
      [r3-ospf-1]
      Apr 17 2025 20:58:45-08:00 r3 %%01OSPF/4/NBR CHANGE_E (1) [13] : Neighbor changes ev
      ent: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.23, Neighbor
      Event=ExchangeDone, NeighborPreviousState=Exchange, NeighborCurrentState=Loading
      )
      [r3-ospf-1]
      Apr 17 2025 20:58:45-08:00 r3 %%01OSPF/4/NBR_CHANGE_E (1) [14] : Neighbor changes ev
      ent: neighbor status changed. (ProcessId=256, NeighborAddress=1.0.0.23, Neighbor
      Event=LoadingDone, NeighborPreviousState=Loading, NeighborCurrentState=Full)

相关文章:

  • qt报“use multi-arg instead [clazy-qstring-arg]”警告的解决方法
  • QML FontDialog:使用FontDialog实现字体选择功能
  • 如何Ubuntu 22.04.5 LTS 64 位 操作系统部署运行SLAM3! 详细流程
  • SAP获利分析KEA0-值字段无法被分配,原因既然是。。
  • Node.js技术原理分析系列8——将Node.js内置模块外置
  • 机器学习超参数优化全解析
  • 一洽智能硬件行业解决方案探索与实践
  • 德施曼重磅发布五大突破性技术及多款重磅新品,开启AI智能管家时代
  • 2025年五大ETL数据集成工具推荐
  • mcpo的简单使用
  • .NET仓储层在 using 块中创建 SqlSugarClient 的风险
  • 射频系统级芯片集成技术研究
  • echarts模板化开发,简易版配置大屏组件-根据配置文件输出图形和模板(vue2+echarts5.0)
  • Vue 3 Watch 监听 Props 的踩坑记录
  • Git常用操作命令
  • Qt 下载的地址集合
  • 【Maven】配置文件
  • audio 核心服务AudioPolicyService 和AudioFlinger启动流程
  • jsconfig.json文件的作用
  • 【SAP-CO】生产的成本流转和成本分析
  • “80后”师虎已任陕西旬邑县委书记
  • 大卫·第艾维瑞谈历史学与社会理论②丨马克斯·韦伯与历史学研究
  • 我们的免疫系统,是世界上最好的“医生”
  • 世界读书日丨上图东馆开启残疾人无障碍文化服务
  • 罗马教皇方济各去世
  • 同济研究生开发AI二维码拿下大奖,新一代00后开发者掀起AI创业潮