开放最短路径优先(OSPF)协议
开放最短路径优先(OSPF)是用于 IP 网络的路由协议。它用于网络或区域内。OSPF 是一种内部网关协议,专为单个自治系统设计。
OSPF 使用链路状态路由算法。每个路由器都拥有网络中每个链路和路由器的信息。它找到到每个目的地的最短路径。OSPF 了解网络中的所有路由器和子网以构建链路状态数据库 (LSDB)。路由器交换链路状态通告 (LSA) 以共享有关路由器、子网等的的信息。
基本术语
链路状态 - 描述两个路由器之间的链路,包括其特征。
SPF 算法 - 计算从源路由器到其他路由器的最短路径。
OSPF 成本 - 表示使用链路或路径的成本的度量。
最短路径树 - 显示从源路由器到所有其他路由器的最短路径。
区域 - OSPF 网络的逻辑细分,具有相似的特征。
边界路由器 - 连接不同的区域或外部网络。
链路状态数据包 - 包含链路状态通告,由路由器发送。
OSPF 操作
OSPF 分三个步骤运行:邻居发现、数据库交换和路由计算。
OSPF 步骤 -
邻居发现 - 路由器查找并与同一链路上的邻居通信。
数据库交换 - 路由器交换 LSA 以了解网络拓扑。
路由计算 - 路由器使用 SPF 算法查找最佳路径。
OSPF 消息格式
OSPF 消息具有不同的部分 -
OSPF 协议
版本 - 一个数字,显示正在使用的 OSPF 版本。
类型 - 一个数字,指示 OSPF 数据包的类型。
消息 - 整个消息的长度,包括报头。
OSPF 消息中的其他字段
源 IP 地址 - 发送数据包的地址。
区域标识 - 路由发生所在的区域。
校验和 - 用于查找和修复消息中的错误。
身份验证类型 - 两种类型 - 0 表示不进行身份验证,1 表示基于密码的身份验证。
身份验证 - 消息中的实际身份验证数据。
OSPF 设计
将网络划分为区域以实现高效路由。
使用 ABR 连接和汇总区域之间的路由信息。
所有区域都连接到骨干区域(区域 0)以进行网络通信。
OSPF 中的区域
OSPF 中有不同类型的区域,每个区域具有不同的特性和功能。
OSPF 区域类型
以下是不同类型的 OSPF 区域 -
骨干区域 - 连接所有其他区域和外部网络的中心区域 (0)。
标准区域 - 连接到骨干区域的非骨干区域。支持除 4 和 5 之外的所有 LSA。
存根区域 - 不接受外部路由的非骨干区域。从 ABR 接收默认路由。
完全存根区域 - 更严格的存根区域,不接受区域间路由。
非完全存根区域 (NSSA) - 特殊的存根区域,允许使用类型 7 LSA 的外部路由。
完全非完全存根区域 (NSSA) - 更严格的 NSSA,不接受区域间路由。
不同类型区域的功能
下表总结了不同类型区域的特性和功能
区域类型 |
区域 ID |
支持的 LSA 类型 |
支持的路由 |
默认路由 |
---|---|---|---|---|
骨干 |
0 |
1, 2, 3, 4, 5 |
区域内、区域间、外部 |
否 |
标准 |
非零 |
1, 2, 3, 4, 5 |
区域内、区域间、外部 |
否 |
存根 |
非零 |
1, 2, 3 |
区域内、区域间 |
是 |
完全存根 |
非零 |
1, 2 |
区域内 |
是 |
NSSA |
非零 |
1, 2, 3, 7 |
区域内、区域间、外部(在 NSSA 内) |
是 |
完全 NSSA |
非零 |
1, 2, 7 |
区域内、外部(在 NSSA 内) |
是 |
OSPF 设计技巧
每个区域的路由器数量 - 保持在 50 个以下以确保稳定性和性能。
每个路由器的邻居数量 - 保持在 10 个以下以获得最佳性能。
全网状 vs 部分网状 - 根据性能和复杂性选择。
内存需求 - OSPF 需要更多内存,以确保路由器拥有足够的内存。
路由汇总
OSPF 中的路由汇总减少了路由表和开销,提高了稳定性和安全性。它将多条路由组合成一条以表示更大的网络。有两种类型:区域间和外部路由汇总。
区域间汇总由同一 AS 中区域之间的 ABR 执行。它创建表示区域内一系列网络的汇总 LSA。
外部汇总由 ASBR 为来自其他 AS 或外部网络的路由执行。
路由汇总指南 -
尽可能汇总路由以获得更好的可扩展性和效率。
仅在 ABR 和 ASBR 上汇总路由以避免出现问题。
根据自然边界(如子网掩码或管理区域)进行汇总。
汇总连续且分层的路由以避免出现复杂情况。
汇总具有相同属性的路由以确保一致的行为和最佳路由。
重分发
重分发是将路由从一个路由协议或源导入到另一个路由协议或域的过程。重分发允许路由器在不同的路由协议或源之间交换路由信息,即 OSPF、RIP、EIGRP、BGP、静态路由、连接路由等。
重分发在以下场景中很有用 -
从一个路由协议迁移到另一个路由协议
连接不同的路由域或 AS
将默认路由或特定路由注入路由域
提供备用路由或跨多条路径的负载平衡
但是,重分发也可能导致问题,例如 -
路由循环或黑洞
次优路由或不一致的行为
路由开销或不稳定性
因此,应谨慎地执行重分发,并进行适当的计划和配置。
在 OSPF 中执行重分发有几个指南和最佳实践 -
仅在 ABR 和 ASBR 上重分发路由以避免创建路由循环或黑洞。
仅在必要时且有明确的目的和范围时重分发路由。
使用路由映射重分发路由以过滤和控制重分发的路由以及设置重分发路由的属性,即度量、类型、标记等。
在所有 ABR 和 ASBR 上使用一致的策略和参数重分发路由以避免创建次优路由或不一致的行为。
将重分发路由的管理距离设置为高于本机 OSPF 路由,以避免重分发路由覆盖 OSPF 路由。
将重分发路由的度量设置为低于默认 OSPF 度量,以避免创建次优路由或不一致的行为。
将重分发路由的类型设置为不同于本机 OSPF 路由的类型,以避免创建次优路由或不一致的行为。例如,默认情况下将外部路由重分发为类型 2 (E2),除非特定场景需要类型 1 (E1)。
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
OSPF 的优点
OSPF 比 RIP 具有许多优势。它是另一个基于距离矢量路由算法的内部网关协议。OSPF 的优点是 -
OSPF 可以处理可变长度子网掩码 (VLSM)。它可以支持不同大小的子网并优化 IP 地址空间的使用。
OSPF 可以支持多达 65535 跳,而 RIP 的限制为 15 跳。这使得 OSPF 具有更好的可扩展性,适用于大型网络。
OSPF 可以执行路由汇总和重分发。它可以通过聚合路由和与其他路由协议交换路由来减少路由开销并提高效率。
OSPF 可以使用身份验证来保护路由更新并防止对网络拓扑进行未经授权或恶意的更改。
OSPF 可以将网络划分为区域并使用不同类型的区域来降低路由复杂性并提高性能。
结论
OSPF 是一种功能强大且灵活的路由协议,可用于设计和构建大型且复杂的网络。OSPF 使用链路状态路由算法,该算法根据每条链路的 OSPF 成本计算到每个目的地的最短路径。
OSPF 允许将网络划分为区域并选择不同类型的区域和边界路由器以优化路由性能和效率。OSPF 还支持身份验证、VLSM、路由汇总和重分发以增强安全性
OSPF 可有效地用于各种场景,例如 -
需要快速收敛、高可用性和负载平衡的企业网络。
需要可扩展性、可靠性和与其他路由协议互操作性的服务提供商网络。
需要高性能、冗余和流量工程的数据中心网络。