内部网关协议——OSPF 协议(开放最短路径优先)(链路状态路由协议)

核心定义

OSPF 是一种链路状态 路由协议,用于在单个自治系统内决策路由。它的全称是开放最短路径优先

  • 开放:意味着它是公有的、非专有的,由IETF标准定义。

  • 最短路径优先 :指的是其使用的算法,即Dijkstra算法

  • 核心目标:发现并选择网络中的"最短路径"来传输数据。


OSPF 的基本工作原理

OSPF的工作过程可以概括为以下三个核心步骤:

1. 建立邻居关系

运行OSPF的路由器会向其直连网络发送Hello数据包 。当两台路由器在同一个网段上,并且通过Hello包协商好一系列参数(如Area ID、Hello间隔等)后,它们就成为邻居

2. 同步链路状态数据库

成为邻居后,路由器之间会进一步建立邻接关系 。建立邻接的路由器会通过LSA 来交换并同步彼此的链路状态数据库

  • LSA:是描述路由器本地链路状态(如接口、IP地址、代价、连接的邻居等)的信息单元。它是OSPF的核心信息载体。

  • LSDB :每个OSPF路由器都会收集网络中的所有LSA,并组成一个统一的链路状态数据库。在一个区域内的所有路由器,都拥有一个完全相同的LSDB

3. 计算最优路由

当LSDB同步完成后,每台路由器都会以自己为根,使用SPF算法 独立地计算出一棵到达网络中所有节点的最短路径树。然后,根据这棵树将自己路由表。

这个过程可以用下图清晰地展示:


OSPF 的关键特性与概念

1. 区域

为了解决大型网络中LSDB过大、SPF计算频繁的问题,OSPF引入了分层区域的概念。

  • 骨干区域:必须是Area 0。所有其他非骨干区域必须直接连接到骨干区域。骨干区域负责在不同区域间汇总和传播路由信息。

  • 非骨干区域:如Area 1, Area 2等。它们通过骨干区域互联。

2. 路由器ID
  • 一个32位的数字,用于在OSPF域中唯一标识一台路由器。

  • 通常优先使用手动配置的ID,如果没有配置,则使用环回接口的最高IP地址,如果没有环回接口,则使用物理接口的最高IP地址。

3. 开销
  • OSPF使用"开销"作为路径选择的度量标准。

  • 开销主要基于链路的带宽(默认计算公式:开销 = 参考带宽 / 接口带宽)。带宽越高,开销越小,路径越优。

4. 数据包类型

OSPF使用5种类型的数据包来运作:

  1. Hello:用于发现和维持邻居关系。

  2. DBD:描述发送方的LSDB目录,用于数据库同步。

  3. LSR:向对方请求特定的LSA。

  4. LSU:包含对方所请求的一个或多个完整的LSA。

  5. LSAck:用于确认收到的LSA,确保可靠性。

5. 邻接与邻居
  • 邻居:只是通过Hello包认识了对方。

  • 邻接 :是比邻居更深一层的关系,建立了邻接的路由器之间会同步LSDB。并不是所有邻居都会建立邻接(例如,在广播网络中,为了优化,会选举DR和BDR)。

6. DR 和 BDR
  • 在广播网络(如以太网)中,为了避免路由器之间两两建立邻接关系(产生n*(n-1)/2个邻接),会选举一个指定路由器 和一个备份指定路由器

  • 所有其他路由器只与DR和BDR建立邻接关系,由DR负责将LSA泛洪到全网。


OSPF 的优点与缺点

优点:
  • 快速收敛:当网络拓扑发生变化时,能非常快地重新计算路由。

  • 无环路由:基于SPF算法计算出的路由是天然无环的。

  • 可扩展性强:通过区域划分,可以支持大规模网络。

  • 支持VLSM和CIDR:是现代无类路由协议。

  • 度量值合理:使用开销作为度量值,更能反映真实网络性能。

缺点:
  • 配置相对复杂:对管理员的技能要求较高。

  • CPU和内存消耗大:运行SPF算法和维护LSDB需要占用较多的路由器资源。

  • 设计复杂:在多区域设计中,需要仔细规划区域和骨干区域的连接。

总结

OSPF是一个强大、复杂且高度可靠的内部网关协议。它通过交换链路状态信息构建统一的拓扑数据库 ,并利用SPF算法计算出最优路径,从而实现高效、无环的网络路由。它是当今企业网和运营商网络中使用最广泛的IGP协议。

相关推荐
古城小栈5 小时前
Rust 异步、并发 一文全解
网络·rust
小码吃趴菜5 小时前
tcp连结建立与断开(三握手四挥手)
服务器·网络·tcp/ip
WTCLLB5 小时前
cmd-set-ip
网络·windows
奋斗者1号5 小时前
paho-mqtt-c + OpenSSL 3.x 连接华为云 IoTDA TLS 握手失败问题分析
c语言·网络·华为云
软件小滔5 小时前
卫生间WiFi又断了?
网络·macos·智能路由器·mac·应用推荐
深圳市恒讯科技5 小时前
常见服务器漏洞及防护方法
服务器·网络·安全
m0_738120725 小时前
应急响应——知攻善防蓝队溯源靶机Linux-2详细流程
linux·服务器·网络·安全·web安全·php
云霄IT5 小时前
centos7安装防火墙为项目开放服务器端口
服务器·网络·windows
Godspeed Zhao5 小时前
现代智能汽车中的无线技术18——Wi-Fi(6)
汽车·智能路由器
饺子大魔王的男人6 小时前
远程调试总碰壁?局域网成 “绊脚石”?Remote JVM Debug与cpolar的合作让效率飙升
网络·jvm