本文介绍了OSPF 的基本概念和操作。我们将解释OSPF 的工作原理、如何在启用 OSPF 的路由器上构建 OSPF 表及其用途(邻居表、拓扑表、路由表)、OSPF 区域及其重要性。接下来,我们将介绍用于在 OSPF 路由器之间交换数据的OSPF 链路状态数据包类型:链路状态通告( LSA )、链路状态数据库( LSDB )、链路状态请求( LSR )、链路状态更新( LSU ) 和 链路状态确认( LSAcK )。
最后,我们来看看OSPF 的角色:区域边界路由器 (ABR)、自治系统边界路由器 (ASBR)、指定路由器 (DR)、备份 DR等等。
1. OSPF 工作流程简述
OSPF 是一种链路状态协议,被认为可能是内部网关协议 (IGP) 系列中最著名的协议,由 IETF 的 OSPF 工作组于 20 世纪 80 年代中期开发。
配置完成后,OSPF 将侦听邻居并收集所有可用的链路状态数据,以构建其网络中所有可用路径的拓扑图,然后将信息保存在其拓扑数据库(也称为链路状态数据库( LSDB ))中。使用来自其拓扑数据库的信息。根据收集到的信息,它将使用计算机科学家Edsger W. Dijkstra于 1956 年开发的称为 最短路径优先( SFP )的算法计算到每个可到达子网/网络的最佳最短路径。然后,OSPF 将构建三个表来存储以下信息:
-
邻居表[Neighbour Table]:包含所有已发现的 OSPF 邻居,将与其交换路由信息
-
拓扑表[Topology Table]:包含网络的整个路线图,包括所有可用的 OSPF 路由器以及计算出的最佳路径和替代路径。
-
路由表[Routing Table]:包含用于在邻居之间转发数据流量的当前最佳工作路径。
2. OSPF 区域
OSPF 提供了一个非常明显的特性:路由区域。这意味着将运行 OSPF 的单个自治系统内的路由器划分为多个区域,每个区域由一组相连的路由器组成。
将 OSPF 网络划分为区域的想法是为了简化管理并优化可用资源。资源优化对于拥有大量网络和链路的大型企业网络尤其重要。让许多路由器交换链路状态数据库可能会淹没网络并降低其效率——这就是导致创建区域概念的需求。
区域是OSPF 网络内部具有相同区域 ID或编号的路由器的逻辑集合,OSPF 网络本身可以包含多个区域,第一个也是主要的区域称为骨干区域“区域 0”,所有其他区域都必须连接到区域 0,如下图所示:
同一区域内的所有路由器具有相同的拓扑表-链路状态数据库- 但不同的路由表,因为 OSPF 根据每个路由器在网络拓扑中的位置为其计算不同的最佳路径,而它们都共享相同的链路状态拓扑。
设立区域的目的是使网络本地化,如下所示:
- 区域边界将提供使用汇总的机会,因为在正常链路状态协议中不可能汇总网络前缀,因为路由器应该具有与所有邻居一致的整个网络的相同地图拓扑。
- 区域边界还可以通过抑制网络中发生的变化导致路由器之间更新泛滥时发生的更新来帮助防止故障遏制。这也恰好是链路状态协议的一个弱点:当连接大型网络时,很难避免链路状态数据库泛滥。
[!IMPORTANT]
有了区域边界,更新仅保留在同一区域内,而其他区域完全不知道更新。
3. OSPF 链路状态数据包类型
OSPF 路由器会生成与相邻路由器交换的信息包。这些数据包用于多种目的,例如在路由器之间建立邻居关系、计算特定路由的成本和最佳路径等。
以下是最常用的 OSPF 数据包列表:
-
链路状态通告 (LSA):OSPF 路由器之间通信的主要方式,它是携带有关拓扑的所有基本信息的数据包,并在区域之间泛洪以执行不同的功能,共有11 种类型的 LSA 数据包
-
链路状态数据库(LSDB):LSDB数据包包含了网络间交换的所有更新的链路状态信息,同一区域内的所有路由器都有相同的 LSDB,当两个路由器形成新的邻居邻接关系时,它们会同步它们的LSDB以达到完全相邻的状态。
-
链路状态请求 (LSR):一旦形成邻居邻接关系并且交换了LSDB,邻居路由器可能会找到缺失的 LSDB 信息,然后它们发送请求数据包以认领缺失的部分,邻居收到此数据包并以LSU进行响应。
-
链路状态更新 (LSU):响应数据包通过LSR数据包发送OSPF 邻居请求的特定LSDB信息。
-
链路状态确认 (LSAcK):发送 LSR数据包的路由器通过发送确认数据包确认收到所请求的LSU,从而确认收到来自邻居的LSU。
OSPF中的角色
区域内部的工作在共享该区域的路由器之间按层次结构组织,并分类为:
-
区域边界路由器 (Area Boarder Routers (ABR)):
位于每个区域边界的路由器连接到多个 OSPF 区域,称为ABR 路由器。ABR路由器负责汇总每个区域的 IP 地址并抑制区域之间的更新以防止故障遏制。
-
自治系统边界路由器 (Autonomous System Boundary Router (ASBR)):
ASBR是一种具有连接到一个或多个 OSPF 区域的接口的路由器,与ABR类似,但与ASBR 的不同之处在于它还连接到其他路由系统,例如BGP、EIGRP、Internet等。ASBR路由器通常将来自其他路由系统的路由通告到其所属的OSPF 区域。 -
指定路由器 (Designated Router (DR)):
指定路由器由多路访问网段(例如局域网)上的路由器根据其优先级(路由器 ID、优先级)选举产生。DR路由器执行特殊功能,例如生成链路状态通告( LSA ) 并与同一区域中的所有其他路由器交换信息。同一区域中的每个路由器都将与DR和BDR建立邻接关系(下面将进行分析)。
DR使用多播地址 224.0.0.5向所有区域路由器发送更新信息。除DR外的所有 OSPF 路由器都使用多播地址 224.0.0.6向DR发送链路状态更新( LSU ) 和链路状态通告( LSA ) 数据包。
-
备份指定路由器 (Backup Designated Router (BDR)):
BDR是当现有DR发生故障时成为DR的路由器。BDR 在 OSPF 网络中具有第二高优先级(DR 具有最高优先级)。当 BDR成为DR时,将进行新的选举以寻找新的BDR。
文章评论