OSPF原理(1)

一、OSPF介绍

OSPF(Open Shortest Path First,开放最短路径优先)协议作为一种基于链路状态的路由协议,它为网络中的路由器提供了一种高效、可靠的方式来共享路由信息,并计算出最短路径。

特点:

  • 收敛速度快,能快速适应网络变化。
  • 支持区域划分,适合大规模网络。
  • 提供更准确和详细的路由信息。
  • 对网络拓扑变化的适应性强。

二、OSPF概念

1.Router ID

Router ID(路由器标识符)是一个 32 位的标识符,用于唯一标识一台 OSPF 路由器。

  • 唯一性:在一个 OSPF 域内必须是唯一的,不能与其他路由器的 Router ID 重复。

  • 选举规则:通常,管理员可以手动配置 Router ID。如果没有手动配置,OSPF 会自动选取路由器上活动的最大 IP 地址作为 Router ID。

  • 稳定性要求:一旦确定,应尽量保持不变,因为 Router ID 的改变可能会导致一些路由信息的重新计算和传播,对网络稳定性有一定影响。

  • 路由计算:在进行路由计算和构建拓扑结构时,Router ID 是关键的标识。

  • 邻居建立:在 OSPF 邻居建立过程中,Router ID 用于识别不同的路由器。

2.链路状态

链路状态指的是路由器接口的状态信息,包括接口的 IP 地址、子网掩码、网络类型、Cost(成本)值等。

链路状态信息通过 LSA(Link State Advertisement,链路状态通告)报文在路由器之间进行交换。

主要作用包括:

  • 构建拓扑图:通过收集各个路由器的链路状态信息,OSPF 可以构建出整个网络的拓扑结构,包括路由器的连接关系、链路的带宽等信息。
  • 计算最优路径:基于链路状态信息和最短路径算法,OSPF 可以计算出到达每个目的地的最优路径,并将其存储在路由表中。
  • 快速收敛:当网络拓扑发生变化时,路由器可以迅速感知并更新链路状态信息,从而快速计算出新的最优路径,实现快速收敛。
  • 避免路由环路:OSPF 通过使用链路状态信息和最短路径算法,可以避免出现路由环路,保证网络的稳定性和可靠性。

3.Cost

Cost(花销)用于表示到达目的地的路径代价。

Cost 值通常由以下因素决定:

  • 链路带宽:链路的带宽会影响 Cost 的值。一般来说,带宽越高,Cost 值越小,表示通过该链路到达目的地的代价越低。
  • 接口类型:不同类型的接口可能具有不同的默认 Cost 值。例如,以太网接口的默认 Cost 值通常为 1,而广域网接口的默认 Cost 值可能较高。
  • 手动配置:管理员可以手动配置接口的 Cost 值,以影响 OSPF 路由的选择。

Cost 的计算公式

  • 通常是参考带宽除以接口带宽。例如,如果参考带宽为 100Mbps,而接口带宽为 10Mbps,则 Cost 值为 10。

Cost 值的作用

  • 帮助 OSPF 协议选择最优路径,OSPF 路由器会根据链路状态信息和 Cost 值计算到达每个目的地的最短路径,并将其存储在路由表中。当需要转发数据包时,路由器会根据路由表选择成本最低的路径。

4.报文类型

  • Hello 报文 :用于发现、建立和维护邻居关系。
    • Hello 报文会被周期性地发送到邻居路由器,以确保链路的可用性和邻居的存在。Hello 报文还用于选举 DR和 BDR。
      • (Designated Router,指定路由器)
      • (Backup Designated Router,备份指定路由器)
  • DD报文 :数据库描述报文,用于描述本地链路状态数据库(LSDB)的情况。
    • DD 报文包含了 LSA的头部信息,用于与邻居路由器进行数据库同步。
      • (Database Description)
      • (Link State Advertisement,链路状态通告)
  • LSR报文 :链路状态请求报文,用于向邻居路由器请求自身缺少的链路状态信息。
    • 当路由器发现自己的链路状态数据库中缺少某些 LSA 时,会发送 LSR 报文请求邻居路由器发送相应的 LSA。
      • (Link State Request)
  • LSU报文 :链路状态更新报文,用于向邻居路由器发送详细的链路状态信息。
    • 当路由器接收到 LSR 报文后,会使用 LSU 报文回复请求的 LSA。LSU 报文包含了真正的 LSA 内容,用于更新邻居路由器的链路状态数据库。
      • (Link State Update)
  • LSAck报文 :链路状态确认报文,用于确认收到的 LSU 报文。
    • 当邻居路由器收到 LSU 报文后,会发送 LSAck 报文进行确认。LSAck 报文可以确保链路状态信息的传输可靠性。
      • (Link State Acknowledgment)

5.LSA类型

  • 路由器 LSA :每台运行 OSPF 的路由器都会产生这种类型的 LSA。

    • 它描述了路由器的接口和接口的Cost值以及描述路由器的特殊角色,如虚拟链路、ABR和 ASBR等。
      • (Router LSA,Type 1)
      • (Area Border Router,区域边界路由器)
      • ( Autonomous System Border Router,自治系统边界路由器)
  • 网络 LSA :在多路访问型网络(如以太网或帧中继网络)中,会选举出 DR(和 BDR。DR 会发送这种类型的 LSA,用来描述网络中的所有路由器。

    • (Network LSA,Type 2)
  • 网络汇总 LSA :由 ABR产生,用于通告其他区域的网络信息。

    • 汇总了与 ABR 相连的其他区域的网络信息,并将其发送到其他区域。
      • (Network Summary LSA,Type 3)
      • (Area Border Router,区域边界路由器)
  • ASBR 汇总 LSA :由 ABR 产生,用于通告 ASBR的位置。

    • 告诉其他区域 ASBR 的位置,以便其他区域的路由器能够通过 ABR 到达 ASBR。
      • (ASBR Summary LSA,Type 4)
      • ( Autonomous System Border Router,自治系统边界路由器)
  • 外部 LSA :由 ASBR 产生,用于通告外部路由信息。

    • 描述了 ASBR 从其他路由协议(如 BGP)学习到的路由信息,并将其通告给 OSPF 网络。
      • (External LSA,Type 5)
  • 组播 LSA :用于支持组播路由。

    • (Multicast LSA,Type 6)
  • NSSA 外部 LSA :在 NSSA使用,类似于 Type 5 LSA,但它的通告范围仅限于 NSSA 区域。

    • (NSSA External LSA,Type 7)
    • (Not-So-Stubby Area,非完全末梢区域)
相关推荐
weixin_4426434235 分钟前
推荐FileLink数据跨网摆渡系统 — 安全、高效的数据传输解决方案
服务器·网络·安全·filelink数据摆渡系统
阑梦清川1 小时前
JavaEE初阶---网络原理(五)---HTTP协议
网络·http·java-ee
阿尔帕兹1 小时前
构建 HTTP 服务端与 Docker 镜像:从开发到测试
网络协议·http·docker
FeelTouch Labs2 小时前
Netty实现WebSocket Server是否开启压缩深度分析
网络·websocket·网络协议
千天夜3 小时前
使用UDP协议传输视频流!(分片、缓存)
python·网络协议·udp·视频流
长弓三石4 小时前
鸿蒙网络编程系列44-仓颉版HttpRequest上传文件示例
前端·网络·华为·harmonyos·鸿蒙
xianwu5434 小时前
反向代理模块
linux·开发语言·网络·git
follycat4 小时前
[极客大挑战 2019]HTTP 1
网络·网络协议·http·网络安全
earthzhang20215 小时前
《深入浅出HTTPS》读书笔记(5):随机数
网络协议·http·https
xiaoxiongip6665 小时前
HTTP 和 HTTPS
网络·爬虫·网络协议·tcp/ip·http·https·ip