关于 OSPF
OSPF 是一种使用链路状态而非距离矢量进行路径选择的内部网关路由协议。OSPF 传播链路状态通告而非路由表更新。由于仅交换 LSA 而不是整个路由表,因此 OSPF 网络比 RIP 网络更快收敛。
OSPF 使用链路状态算法构建和计算所有到达已知目标的最短路径。OSPF 区域中的每台路由器包含相同的链路状态数据库,该数据库是由每台路由器可使用的接口和可到达的邻居组成的列表。
相比 RIP,OSPF 具有以下优点:
-
OSPF 链路状态数据库更新的发送频率低于 RIP 更新,并且随着过时信息的超时,链路状态数据库即时而非逐步更新。
-
路由决策基于开销,它表明通过特定接口发送数据包所需的开销。ASA 根据链路带宽而非到目标的跃点数计算接口的开销。可以配置开销来指定首选路径。
最短路径优先算法的缺点是需要大量 CPU 周期和内存。
ASA 可以在不同接口集上同时运行 OSPF 协议的两个进程。如果您具有使用相同 IP 地址的接口(NAT 允许这些接口共存,但是 OSPF 不允许重叠地址),则可能要运行两个进程。或者,可能要在内部运行一个进程,在外部运行另一个进程,并且在两个进程之间重新分发路由的子集。同样,可能需要将专用地址与公用地址分离。
您可以将路由从一个 OSPF 路由进程、RIP 路由进程或从在启用了 OSPF 的接口上配置的静态路由和已连接路由重新分发到另一个 OSPF 路由进程中。
ASA 支持以下 OSPF 功能:
-
区域内、区域间和外部(I 类和 II 类)路由。
-
虚拟链路。
-
LSA 泛洪。
-
OSPF 数据包身份验证(密码和 MD5 身份验证)。
-
将 ASA 配置为指定路由器或指定备用路由器。ASA 也可以设置为 ABR。
-
末节区域和次末节区域。
-
区域边界路由器 3 类 LSA 筛选。
OSPF 支持 MD5 和明文邻居身份验证。如有可能,应将身份验证与所有路由协议配合使用,因为在 OSPF 和其他协议(如 RIP)之间的路由重新分发可能会被攻击者用于破坏路由信息。
如果使用 NAT,如果 OSPF 是在公共和专用区域上运行,并且如果要求地址过滤,则需要运行两个 OSPF 进程,一个进程对应于公共区域,一个进程对应于专用区域。
在多个区域中具有接口的路由器称为区域边界路由器 (ABR)。充当网关以在使用 OSPF 的路由器与使用其他路由协议的路由器之间重新分发流量的路由器称为自治系统边界路由器 (ASBR)。
ABR 使用 LSA 将有关可用路由的信息发送到其他 OSPF 路由器。使用 ABR 3 类 LSA 筛选,您可以具有单独的以 ASA 作为 ABR 的专用和公共区域。3 类 LSA(区域间路由)可以从一个区域筛选到另一个区域,从而允许您在不通告专用网络即的情况下配合使用 NAT 和 OSPF。
注 |
只能筛选 3 类 LSA。如果在专用网络中将 ASA 配置为 ASBR,它将发送描述专用网络的 5 类 LSA,后者会泛洪至整个 AS,包括公共区域。 |
如果采用 NAT 但 OSPF 仅在公共区域中运行,则可以在专用网络内将到公共网络的路由作为默认或 5 类 AS 外部 LSA 重新分发。但是,需要为受 ASA 保护的专用网络配置静态路由。此外,不应在同一 ASA 接口上混用公用和专用网络。
您可以同时在 ASA 上运行两个 OSPF 路由进程、一个 RIP 路由进程和一个 EIGRP 路由进程。
快速呼叫数据包 OSPF 支持
OSPF 快速呼叫数据包支持功能提供了一种以短于一秒的间隔发送呼叫数据包的配置方式。此类配置在开放式最短路径优先 (OSPF) 网络中会导致更快的收敛。
OSPF 支持快速呼叫数据包的前提条件
OSPF 必须已在网络中进行配置或与快速呼叫数据包 OSPF 支持功能同时配置。
关于快速呼叫数据包的 OSPF 支持
与快速呼叫数据包的 OSPF 支持相关的主要概念,以及 OSPF 快速呼叫数据包的优势如下所述:
OSPF 呼叫间隔和停顿间隔
OSPF 呼叫数据包是 OSPF 进程向其 OSPF 邻居发送以保持与这些邻居的连接的数据包。呼叫数据包按照可配置间隔(以秒为单位)进行发送。对于以太网链路,默认值为 10 秒;对于非广播链路,默认值为 30 秒。呼叫数据包包含在停顿间隔内为其接收到呼叫数据包的所有邻居的列表。停顿间隔也是可配置间隔(以秒为单位),并且默认为呼叫间隔值的四倍。所有呼叫间隔的值在网络中都必须相同。同样,所有停顿间隔的值在网络中也必须都相同。
这两种间隔通过表明链路可运行来结合用于保持连接。如果路由器在停顿间隔内没有从邻居接收到呼叫数据包,则将声明该邻居关闭。
OSPF 快速呼叫数据包
OSPF 快速呼叫数据包是指按照小于 1 秒的间隔发送的呼叫数据包。要了解快速呼叫数据包,您应已了解 OSPF 呼叫数据包与停顿间隔之间的关系。请参阅 OSPF 呼叫间隔和停顿间隔。
通过使用 ospf dead-interval 命令来获取 OSPF 快速呼叫数据包。停顿间隔设置为 1 秒,并且 hello-multiplier 值设置为在该 1 秒期间要发送的呼叫数据包的数量,从而提供亚秒或“快速”呼叫数据包。
当在接口上配置了快速呼叫数据包时,此接口发出的呼叫数据包中通告的呼叫间隔设置为 0。系统将忽略通过此接口接收到的呼叫数据包中的呼叫间隔。
无论停顿间隔设置为 1 秒(对于快速呼叫数据包)还是设置为任何其他值,它在分片上都必须一致。只要在停顿间隔内发送了至少一个呼叫数据包,呼叫乘数对于整个分片便无需相同。
OSPF 快速呼叫数据包的优势
OSPF 快速呼叫数据包功能的优势是 OSPF 网络将比没有快速呼叫数据包的情况更快收敛。通过此功能,您可以在 1 秒内检测丢失的邻居。它在开放式系统互连 (OSI) 物理层和数据链路层可能未检测到邻居丢失的 LAN 分片中尤其有用。
OSPFv2 与 OSPFv3 之间的实施差异
OSPFv3 不向后兼容 OSPFv2。要使用 OSPF 路由 IPv4 和 IPv6 流量,必须同时运行 OSPFv2 和 OSPFv3。它们会共存但不相互交互。
OSPFv3 提供的其他功能包括:
-
按链路进行协议处理。
-
删除寻址语义。
-
添加泛洪范围。
-
支持每条链路多个实例。
-
使用 IPv6 链路本地地址执行网络发现和其他功能。
-
以前缀和前缀长度表示 LSA。
-
添加两种 LSA 类型。
-
处理未知 LSA 类型。
-
使用 OSPFv3 路由协议流量的 IPsec ESP 标准支持身份验证,如 RFC-4552 所指定。