(っ●ω●)っ

动态路由协议 OSPF

2025-10-03

OSPF 简介

OSPF(Open Shortest Path First, 开放最短路径优先),是运用较为广泛的动态路由协议。

  1. 是一种链路状态路由协议,无路由循环(全局拓扑),标准 RFC2328。
  2. “开放”意味着非私有的。
  3. 管理性距离:110。
  4. OSPF 采用 SPF 算法计算达到目的地的最短路径:
    1. 链路(Link):路由器接口。
    2. 状态(State):描述接口以及其邻居路由器之间的联系。

技术要点

OSPF Metric

  1. 每个路由器都把自己当作根,并且给予累积成本(Cost 值)来计算到达目的地的最短路径。
  2. Cost = 参考带宽(10^8) / 接口带宽(b/s)

OSPF 报文类型

  1. Hello 建立和维护 OSPF 邻居关系。
  2. DBD 链路状态数据库描述信息(描述 LSDB 中 LSA 头部信息)。
  3. LSR 链路状态请求,向 OSPF 邻居请求链路状态信息。
  4. LSU 链路状态更新(包含一条或多条 LSA)。
  5. LSAck 对 LSU 中的 LSA 进行确认。

OSPF 区域

  1. 在区域边界可以做路由汇总,减少了路由表。
  2. 减少了 LSA 泛洪的范围,有效地把拓扑变化控制在区域内,提高了网络的稳定性。
  3. 拓扑的变化影响可以只限制涉及本区域。
  4. 多区域提高了网络的扩展性,有利于组建大规模的网络。

OSPF 的三张表

  1. 邻居表(neighbor table)

    OSPF 用邻居机制来发现和维持路由的存在,邻居表存储了双向通信的邻居关系 OSPF 路由器列表的信息。

  2. 拓扑表(topology table)

    OSPF 用 LSA(Link State Advertisement 链路状态通告)来描述网络拓扑信息,然后 OSPF 路由器用拓扑数据库来存储网络的这些 LSA。

  3. OSPF 路由表(routing table)

    对链路状态数据库进行 SPF(Dijkstra)计算,而得出的 OSPF 路由表。


OSPF 的运作

OSPF 的运行基本步骤

按顺序由上到下:

  1. 建立邻接关系(Establish router adjacencies)
  2. 必要的时候进行 DR 的选举(Elect the DR / BDR)
  3. 发现路由(Discover routes)
  4. 选择合适的路由器(Select appropriate routes)
  5. 维护路由信息(Maintain routing information)

建立邻接关系 —— Hello 包

  1. Hello 包用来发现 OSPF 邻居并建立相邻关系,通过组播地址 224.0.0.5 发送给 ALL SPF Routers。
  2. 通告两台路由器建立相邻关系所必需统一的参数。
  3. 在以太网和帧中继网络等多路访问网络中选举指定路由器(DR)和备用指定路由器(BDR)。

OSPF 网络类型

  1. BMA 广播型多路访问
  2. Point-to-Point 点对点
  3. NBMA 非广播型多路访问

LSA 的泛洪

  1. 必要时选举 DR 及 BDR。

  2. DR、BDR 的介绍和运作

    1. 为减少多路访问网络中的 OSPF 流量,OSPF 会选举一个指定路由器(DR)和一个备用指定路由器(BDR)。
    2. 选举规则:最高接口优先级被选作 DR,如果优先级相等(默认为 1),具有最高的路由器 ID(Router-ID)的路由器被选举成 DR,并且 DR 具有非抢占性。
    3. 指定路由器(DR):DR 负责使用该变化信息更新其它所有 OSPF 路由器(DRother)。
    4. 备用指定路由器(BDR):BDR 会监控 DR 的状态,并在当前 DR 发生故障时接替其角色。
  3. RouterID

    用于标识 OSPF 路由器的 ID,全网唯一性。可手动配置,也可动态选举(有 Loopback 接口时,选择最高的 Loopback IP 地址。否则,选择最高活跃物理接口的 IP 地址)。

  4. LSA 的泛洪

    1. 路由器用 224.0.0.6 通知 DR 和 BDR 路由器。
    2. DR、BDR 监听 224.0.0.6 这一组播地址。
    3. 路由器收到包含变化后的 LSA 和 LSU 后,更新自己的链路状态数据库,过一段时间(SPF 延迟),对更新的链路状态数据库执行 SPF 算法,必要时更新路由表。

OSPF 的配置

Cisco 思科设备

基本配置

  1. 开启 OSPF 进程
1
Router(config)# router ospf <process-id>
  1. 宣告特定的网络到 OSPF 区域
1
Router(config-router)# network <address> <wildcard-mask> area <area-id>

Huawei 华为设备

待补充。


其它要点

通配符掩码

通配符是一个用于决定哪些 IP 地址位该精确匹配(0 代表精确匹配)哪些地址位被忽略的 32 位数值,通常用于处理访问控制列表(ACL)、OSPF 和 EIGRP 等路由协议的网络通告。

  1. 掩码:1 位表示网络位,0 位表示主机位。掩码用于区分 IP 地址中的网络及主机部分。
  2. 通配符:1 位表示无所谓,0 位表示需严格匹配。通配符用于决定一个 IP 中的哪些位该匹配。