华为HCIP - OSPF协议基础

本文深入介绍了OSPF(开放最短路径优先)协议,包括它作为链路状态路由协议的工作原理,邻居建立过程,链路状态信息,报文类型及其作用,特别是DR(指定路由器)和BDR(备份指定路由器)的角色和选举过程。内容涵盖了从Hello报文到LSDB(链路状态数据库)同步的详细步骤,帮助读者全面理解OSPF在网络中的运行机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


◉ 链路状态路由协议OSPF

在这里插入图片描述
所谓Link State(链路状态)指的就是路由器的接口状态。

路由信息传递与路由计算分离
OSPF作为链路状态路由协议,不直接传递各路由器的路由表,而传递链路状态信息,各路由器基于链路状态信息独立计算路由。

基于SPF算法
所有路由器各自维护一个链路状态数据库。邻居路由器间先同步链路状态数据库,再各自基于SPF(Shortest Path First)算法计算最优路由,从而提高收敛速度。

以“累计链路开销”作为选路参考值
在度量方式上,OSPF将链路带宽作为选路时的参考依据。“累计带宽”是一种要比“累积跳数”更科学的计算方式。

◉ OSPF的工作过程

在这里插入图片描述
OSPF的路由计算过程

  • 路由器之间发现并建立邻居关系。
  • 每台路由器产生并向邻居泛洪链路状态信息,同时收集来自其他路由器链路状态信息,完成LSDB(Link State Database)的同步。
  • 每台路由器基于LSDB通过SPF算法,计算得到一棵以自己为根的SPT(Shortest Path Tree),再以SPT为基础计算去往各目的网络的最优路由,并形成路由表。

OSPF基本工作原理

◉ 邻居建立过程

Router ID

在这里插入图片描述
用于在自治系统中唯一标识一台运行OSPF的路由器,每台运行OSPF的路由器都有一个Router ID。

Router ID是一个32位的无符号整数,其格式和IP地址的格式是一样的。

OSPF的路由器Router ID重新配置后,可以通过重置OSPF进程来更新Router ID。

Router ID选举规则

  • 手动配置OSPF路由器的Router ID(通常建议手动配置);
  • 如果没有手动配置Router ID,则路由器使用Loopback接口中最大的IP地址作为Router ID;
  • 如果没有配置Loopback接口,则路由器使用物理接口中最大的IP地址作为Router ID。

发现并建立邻居 - Hello报文

OSPF路由器之间在交换链路状态信息之前,首先需要彼此建立邻居关系,通过Hello报文实现。

  • OSPF协议通过Hello报文可以让互联的路由器间自动发现并建立邻居关系,为后续可达性信息的同步作准备。
  • 在形成邻居关系过程中,路由器通过Hello报文完成一些参数的协商。
  • 邻居关系建立后,周期性的Hello报文发送还可以实现邻居保持的功能,在一定时间内没有收到邻居的Hello报文,则会中断路由器间的OSPF邻居关系。

Hello报文的作用

  • 邻居发现:自动发现邻居路由器。
  • 邻居建立:完成Hello报文中的参数协商,建立邻居关系。
  • 邻居保持:通过Keepalive机制,检测邻居运行状态。

OSPF邻居建立过程

状态含义

  • Down:这是邻居的初始状态,表示没有从邻居收到任何信息。
  • Init:在此状态下,路由器已经从邻居收到了Hello报文,但是自己的Router ID不在所收到的Hello报文的邻居列表中,表示尚未与邻居建立双向通信关系。
  • 2-Way:在此状态下,路由器发现自己的Router ID存在于收到的Hello报文的邻居列表中,已确认可以双向通信。
    在这里插入图片描述

邻居建立过程

  • RTA和RTB的Router ID分别为1.1.1.1和2.2.2.2。当RTA启动OSPF后,RTA会发送第一个Hello报文。此报文中邻居列表为空,此时状态为Down,RTB收到RTA的这个Hello报文,状态置为Init。
  • RTB发送Hello报文,此报文中邻居列表为空,RTA收到RTB的Hello报文,状态置为Init。
  • RTB向RTA发送邻居列表为1.1.1.1的Hello报文,RTA在收到的Hello报文邻居列表中发现自己的Router ID,状态置为2-way。
  • RTA向RTB发送邻居列表为2.2.2.2的Hello报文,RTB在收到的Hello报文邻居列表中发现自己的Router ID,状态置为2-way。

因为邻居都是未知的,所以Hello报文的目的IP地址不是某个特定的单播地址。邻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值