游客1774657626于2022-04-14回复
OSPF代表 Open Shortest Path First,它代表属于链路状态路由协议组的路由协议。OSPF 路由协议是当今网络中存在的最好的动态协议之一。它也被认为是一种复杂的路由协议,旨在维护无环路和准确的路由表。在这里,我们将介绍启用 OSPF 路由协议、定义 OSPF 网络、配置高级选项等所需的必要命令。我们还将了解如何以及为何使用 OSPF。
让我们先来看看一些
与距离矢量协议不同,链路状态路由协议,特别是 OSPF,具有以下关键点:
使用多播将有关其邻居(本地连接)的信息发送到整个网络
整个路由表每 30 分钟传输一次
当链路状态发生变化时传输链路状态更新 (LSA)
HELLO 消息用于维护相邻的邻居
是一种使用 VLSM 以及手动和自动汇总的无类路由协议
使用 COST 作为CISCO定义为带宽倒数的指标
创建 AREA 术语是为了提供分层结构并限制同一区域的路由器内的多播 LSA — 默认或其他核心区域是 区域 0,所有其他区域直接连接到它
基于OSPF LSA,每台路由器构建一个拓扑表,其中包含网络内的每条连接链路。然后, Dijkstra 算法遍历拓扑表以找到到其他所有路由器的最短路径,从而创建路由表。
该算法也称为 SPF 算法,运行在网络中每一个启用 OSPF 的路由器上,并且特定区域内的路由器都具有特定区域的相同拓扑树。
启用 OSPF 路由协议
为了在路由器上启用 OSPF 路由协议,需要以下命令:
Router(config)#路由器 ospf进程号
进程号只不过是路由器本地的一个数字。 它仅用于区分路由器中的进程,并且可以被赋予任意值。该值不必在区域内的每个路由器上都相同。然而,为了更好的管理,保持这个数字不变总是好的做法。
定义 OSPF 网络
启用 OSPF 不足以激活它。OSPF 进程需要知道将要发布的网络(即运行 OSPF 的接口)以及它们所在的区域。因此需要以下命令才能使 OSPF 运行:
Router(config-router)#网络地址通配符掩码区区号
地址可以是网络地址、子网或特定接口的地址。
network命令用于识别路由器上将参与 OSPF 进程的接口。 将使用这些接口创建邻接关系,并在这些接口上接收和传输 LSA。
因此,需要定义通配符掩码参数以准确识别必要的接口。
通配符掩码由 4 组 8 位组成。每个 0 位表示“必须”,每个 1 位表示“任何”。这将在下一节定义 OSPF 网络示例中变得更加清晰。
area-number 指定要与特定地址相关联的区域,并因此指定要在该区域内分组的接口。
默认 使用区域 0;如果要在网络中创建多个区域,则 区域 0是需要定义的第一个区域。
定义 OSPF 网络示例
下面的示意图说明了单个命令如何能够覆盖所有路由器接口以及如何指定单个接口。
上图中 RouterA有3个接口,一个在192.168.7.0子网,一个在192.168.8.0子网,一个在172.16.1.0。以下命令将所有接口配置为参与 OSPF 区域 0:
Router(config-router)# network 0.0.0.0 255.255.255.255 area 0
以下命令将强制仅从 192.168.0.0 寻址的接口参与 OSPF:
Router(config-router)# network 192.168.0.0 0.0.255.255 area 0
以下命令专门强制串行接口参与 OSPF 区域 0:
Router(config-router)# network 172.16.1.1 0.0.0.0 area 0
配置高级选项
一些高级选项可用于管理 OSPF,尽管它们对于 OSPF 的正常操作不是必需的。这些选项包括:
配置环回接口
指定路由器 ID (RID)
操纵 成本命令
更改路由器 优先级
配置环回接口
给定区域中的链路状态通告源由 RID 标识。此 ID 采用 IP 地址的形式,可以自动或手动定义。
自动选择 RID
如果未指定手动 RID,则 RID 取自分配给环回接口的最高 IP 地址。如果没有定义环回接口,则选择活动接口的最高 IP 地址作为 RID。
明智的做法是在路由器上配置回环接口,因为这种接口是永远不会down掉的虚拟接口;因此,RID 将永远不必更改。以下命令定义和配置环回接口:
Router(config)# interface loopback interface-number
Router(config-if)# ip address ip-address subnet-mask
手动配置 RID
这是定义 RID 的首选方法。任何唯一的 IP 地址都可以定义为 RID,即使路由器用于 RID 的接口出现故障,它也永远不会改变。
即使对 RID 进行了手动配置更改,也不会在下一次路由器重新加载或 OSPF 路由重新启动之前生效。
以下命令显示如何手动配置 RID。clear ip ospf process命令用于在 已运行 OSPF 的路由器上激活 RID:
Router(config)#路由器 ospf进程号
Router(config-router)# router-id ip-address
Router#清除ip ospf进程
配置接口开销
如前所述,OSPF 进程根据使用 带宽命令分配给接口的带宽参数的倒数为接口分配成本值。
为了计算到给定目的地的 SPF,路由器会考虑沿各种路径的链路的成本。选择成本较低的路径作为最短路径。
要强制路由器选择特定路径,可以使用以下命令手动设置沿路径的链路成本:
Router(config-if)# ip ospf cost cost
设置指定路由器选择的优先级
在多路访问网络中,优先级值最高的路由器被选为 DR,充当 LSA 交换的中心点。
在接口上分配优先级命令。OSPF 接口的默认优先级为 1。取值范围为0~255。0 表示接口不参与DR选举。
以下命令配置接口的优先级值。
Router(config)# interface interface-number
Router(config-if)# ip ospf priority priority-value
为什么使用 OSPF?
正如我在开头提到的,OSPF 路由协议是当今网络中最好的动态协议之一。它具有内部网关路由协议的所有必要功能:
可扩展性
对拓扑变化的适应性
其操作区域内的拓扑意识
OSPF 使用多播,以便每个路由器通知该区域内的所有其他路由器其邻居和成本。此信息允许每个路由器构建一个完整的拓扑树,该拓扑树由路由器和将它们连接在一起的全向链路组成。这些链接中的每一个都带有成本值。
SPF 算法在此拓扑树上运行,并计算从每个路由器到该区域中每个其他路由器的最短路径。SPF 算法的结果构建了路由器的路由表。