OSPF 链路状态路由协议

前言:

  1. 链路状态路由协议(Link-State Routing Protocol)是一种动态路由协议,通告的是链路状态而不是路由信息,其核心思想是通过全网拓扑信息的共享和计算,实现高效、精确的路由选择

  2. 每个路由器通过收集并分析全网链路状态信息,构建统一的网络拓扑图(链路状态数据库,LSDB),并基于此计算最短路径


OSPF的工作过程

邻居关系:

 两台OSPF路由器通过Hello报文发现彼此,并确认了双向通信(2-Way状态),但尚未进行LSDB(链路状态数据库)的同步

1. Down状态
  • 含义:初始状态,未收到任何邻居的Hello报文

  • 行为

    • 主动发送Hello报文(组播地址224.0.0.5)

    • 该组播用于泛洪LSA(如Type 1),DR通过此地址向所有OSPF路由器发送更新

  • 触发进入Init状态的条件:收到邻居的Hello报文,但未在报文中发现自己的Router ID


2. Init状态
  • 含义:收到邻居的Hello报文,但未确认双向通信

  • 行为

    • 检查Hello报文中的参数(区域ID、认证、Hello/Dead时间、网络类型)

    • 若参数匹配,将邻居的Router ID加入Hello报文的“邻居列表”中

  • 触发进入2-Way状态的条件

    • 在后续收到的Hello报文中,发现自己的Router ID被对方列出(确认双向通信)


3. 2-Way状态
  • 含义:双向通信已确认,但尚未建立邻接关系

  • 行为

    • 在广播网络(如以太网)中,进行一般为40秒的DR/BDR选举

    • DROther:既不是DR也不是BDR的路由器就是DROther路由器,保持2-Way状态,不进行后续LSDB同步

    • DR/BDR路由器:与所有邻居建立邻接关系(进入ExStart状态)

  • 关键点

    只有DR/BDR与其他路由器建立邻接关系,非DR/BDR之间保持2-Way


DR和BDR的选举规则

在广播网络中,若所有路由器两两建立邻接关系,会导致大量重复的LSA泛洪

于是便有了选举DR/BDR作为信息交换的“中心节点”

  • DROther仅与DR/BDR建立邻接关系

  • DR负责收集和分发LSA,BDR作为备份

  • DR和BDR的选举是非抢占式

  • 即一旦选举完成,即使有更高优先级的路由器加入,也不会抢占DR/BDR角色

  • 是基于具体的接口进行选举的

  • 接口的优先级越大越优先,如果该优先级设为0,则代表不参与选举,默认优先级为1

  • 若优先级相同,Router ID最大的当选

  • 224.0.0.6仅DR和BDR会监听此地址, DROther通过此地址向DR/BDR发送LSA更新或请求


邻接关系:

在邻居关系的基础上,双方完成LSDB的同步,最终进入Full状态,形成用于路由计算的完全邻接关系

4. ExStart状态

  • 含义:主从关系协商,准备交换LSDB摘要

  • 行为

    • 发送空的DD报文(Database Description Packet),并携带序列号

    • DD报文隐式确认机制:通过序列号(DD Sequence )确保报文传输的可靠性和完整性

    • 通过DD报文标志位,包含:

      • I(Init):判断是否为连续报文中的第一个DD报文,是第一个报文则=1,不是则=0

      • M(More):是否后续还有DD报文,如果有则=1,没有则=0

      • MS(Master/Slave):发送方角色(Master=1,Slave=0)

    • 通过比较Router ID确定Master/Slave角色:

      • Router ID大者成为Master,控制DD报文序列号递增

  • 触发进入Exchange状态的条件主从角色协商完成


5. Exchange状态

  • 含义:交互LSDB摘要(LSA头部信息)

  • 设行为

    • Master发送DD报文(携带LSA头部),Slave响应确认

    • 双方对比本地LSDB,标记缺失或过期的LSA

  • 触发进入Loading状态的条件:摘要交换完成,发现需要请求的LSA


6. Loading状态

  • 含义:请求并获取缺失的LSA

  • 行为

    • 发送LSR(Link State Request)报文,请求缺失的LSA

    • 收到LSU(Link State Update)报文后,更新本地LSDB

    • 发送LSAck确认接收

  • 触发进入Full状态的条件:所有缺失LSA同步完成


7. Full状态

  • 含义:邻接关系完全建立,LSDB完全同步

  • 行为

    • 触发SPF算法计算最短路径树,更新路由表

    • 周期性发送Hello报文维持邻居关系


不同网络类型中的DR和BDR的选举

OSPF网络类型常见链路层协议是否选举DR是否建立邻居关系
Point to point 点到点ppp链路建立
Point-to-Multipoint 点到多点部分帧中继
NBMA 非广播多路访问帧中继链路

DR和BDR会于DROther建立邻接关系

DROther之间只会建立邻居关系

Broadcast 广播多路访问以太网链路

Hello报文

主要功能:

  • 邻居发现建立与保持:
    通过周期性发送Hello报文(默认10秒一次),发现同一链路上的OSPF邻居,并保持邻居关系

  • 参数协商
    确保邻居双方的参数一致:

    • 区域ID(Area ID)

    • 认证方式和密码

    • 网络类型(Broadcast、P2P、NBMA等)

    • Hello间隔和Dead时间

  • DR/BDR选举
    在广播网络和NBMA网络中,通过Hello报文中的优先级和Router ID选举DR/BDR

  • 位于邻居关系建立(Down → Init → 2-Way)


DD报文

主要功能:

  • LSDB摘要交换:
    在邻接关系建立过程中,交换链路状态数据库(LSDB)的摘要信息(LSA头部),用于快速对比缺失或过期的LSA

  • 主从角色协商
    确定Master/Slave角色,控制DD报文序列号的递增

  • 隐式确认机制
    通过序列号(Sequence Number)确保报文传输的可靠性

  • 位于邻接关系建立(ExStart → Exchange → Full)


命令配置

[Huawei] ospf [process-id] router-id [router-id]
  启动进程1,手动设置Router ID为1.1.1.1
[Huawei] ospf 1 router-id 1.1.1.1

宣告进入OSPF区域 
[Huawei-ospf-1] area 0

[Huawei-ospf-1-area-0.0.0.0] network [network-address] [wildcard-mask]
 直接在OSPF中宣告192.168.1.0/24网段 后跟反掩码
[Huawei-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255

接口视图下直接启用OSPF
[Huawei] interface GigabitEthernet0/0/1  
[Huawei-GigabitEthernet0/0/1] ospf enable 1 area 0  
将接口加入OSPF进程1的区域0

选举DR的优先级
[Huawei] interface GigabitEthernet0/0/1
[Huawei-GigabitEthernet0/0/1] ospf dr-priority [value]
示例:设置接口优先级为200(默认1,0表示不参与选举)
[Huawei-GigabitEthernet0/0/1] ospf dr-priority 200

修改接口开销
[Huawei] interface GigabitEthernet0/0/1
[Huawei-GigabitEthernet0/0/1] ospf cost [value]
 设置接口开销为100(默认根据带宽计算)
[Huawei-GigabitEthernet0/0/1] ospf cost 100

修改接口类型
[Huawei] interface GigabitEthernet0/0/1
[Huawei-GigabitEthernet0/0/1] ospf network-type broadcast(默认)(nbma、p2p、p2mp)
查看邻居状态
<Huawei> display ospf peer brief
查看OSPF路由表
<Huawei> display ospf routing
查看链路状态数据库
<Huawei> display ospf lsdb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值