开放最短路径优先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。
-
Stub区域 - 不接受外部路由的非骨干区域。从ABR接收默认路由。
-
完全Stub区域 - 更严格的Stub区域,不接受区域间路由。
-
NSSA(Not-so-stubby area) - 特殊的Stub区域,允许带有类型7 LSA的外部路由。
-
Totally NSSA(Totally not-so-stubby area) - 更严格的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台以下,以获得最佳性能。
-
完全网状与部分网状 - 根据性能和复杂性进行选择。
-
内存要求 - OSPF需要更多内存,以确保路由器有足够的内存。
路由汇总
OSPF中的路由汇总可以减少路由表和开销,提高稳定性和安全性。它将多个路由合并成一个表示较大网络的路由。有两种类型:区域间和外部路由汇总。
- 区域间汇总是在同一AS中的ABR之间完成的。它创建代表区域内网络范围的汇总LSA。
-
外部汇总是由ASBR为来自其他AS或外部网络的路由完成的。
路由汇总的准则 –
- 尽可能进行路由汇总,以提高可扩展性和效率。
-
只在ABR和ASBR处进行路由汇总,以避免问题。
-
根据子网掩码或管理区域等自然界限进行路由汇总。
-
汇总连续和分层路由以避免复杂性。
-
对具有相同属性的路由进行汇总,以获得一致的行为和最佳路由。
再分发
再分发是从一个路由协议或源导入路由到另一个路由协议或域的过程。再分发允许路由器在不同的路由协议或源之间交换路由信息,例如OSPF,RIP,EIGRP,BGP,静态路由,连接路由等。
再分发在以下场景中很有用 –
- 从一个路由协议迁移到另一个路由协议
-
连接不同的路由域或AS
-
在路由域中注入默认路由或特定路由
-
提供备份路由或在多个路径之间进行负载平衡
但是,再分发也可能引入问题,例如 –
- 路由环回或黑洞
-
次优路由或不一致的行为
-
路由开销或不稳定性
因此,再分发应谨慎进行,并进行适当的计划和配置。
对于在OSPF中执行再分发,有几个准则和最佳实践。
- 在ABRs和ASBRs之间重新分发路由以避免创建路由环路或黑洞。
-
仅在必要时并具有明确的目的和范围重新分发路由。
-
使用路由映射来过滤和控制重新分发的路由,并设置重新分发路由的属性,即度量、类型、标记等。
-
在所有ABRs和ASBRs之间使用一致的策略和参数重新分发路由,以避免创建次优路由或不一致的行为。
-
重新分发路由的管理距离比本地OSPF路由要高,以避免被重新分发的路由覆盖OSPF路由。
-
重新分发路由的度量比默认的OSPF度量要低,以避免创建次优路由或不一致的行为。
-
重新分发路由的类型与本地OSPF路由不同,以避免创建次优路由或不一致的行为。例如,默认情况下将外部路由重新分发为类型2(E2),除非特定情况需要类型1(E1)。
OSPF的优点
OSPF相比RIP有很多优点。它是基于距离矢量路由算法的另一种内部网关协议。OSPF的优点包括:
- OSPF可以处理可变长度子网掩码(VLSM)。它可以支持不同大小的子网并优化IP地址空间的使用。
-
OSPF支持最多65535跳,而RIP的限制是15跳。这使得OSPF更具可扩展性,适用于大型网络。
-
OSPF可以执行路由汇总和重新分发。通过聚合路由并与其他路由协议交换路由,它可以减少路由开销并提高效率。
-
OSPF可以使用身份验证来保护路由更新,并防止对网络拓扑进行未经授权或恶意的更改。
-
OSPF可以将网络划分为区域,并使用不同类型的区域来降低路由复杂性并提高性能。
结论
OSPF是一种强大而灵活的路由协议,可以用于设计和构建大型和复杂的网络。OSPF使用链路状态路由算法,根据每个链路的OSPF成本计算到达每个目的地的最短路径。
OSPF允许将网络划分为区域,选择不同类型的区域和边界路由器来优化路由性能和效率。OSPF还支持身份验证、VLSM、路由汇总和重新分发以增强安全性和可扩展性。
OSPF可以在各种场景下有效使用,例如:
-
需要快速收敛、高可用性和负载均衡的企业网络。
-
需要可扩展性、可靠性和与其他路由协议的互操作性的服务提供商网络。
-
需要高性能、冗余和流量工程的数据中心网络。