先决条件 – OSPF 基础知识
开放最短路径优先 (OSPF) 是一种链路状态路由协议,用于使用自己的最短路径优先查找源路由器和目标路由器之间的最佳路径。 OSPF 由 Internet 工程任务组 (IETF) 开发,作为内部网关协议 (IGP) 之一,即旨在在大型自治系统或路由域内移动数据包的协议。它是一种网络层协议,工作在协议号 89 上,使用 AD 值 110。OSPF 使用多播地址 224.0.0.5 进行正常通信,使用 224.0.0.6 更新到指定路由器 (DR)/备份指定路由器 (BDR)。
OSPF 条款 –
- 路由器 Id –它是路由器上存在的最高活动 IP 地址。首先,考虑最高环回地址。如果未配置环回,则考虑路由器接口上的最高活动 IP 地址。
- 路由器优先级 –它是分配给运行 OSPF 的路由器的 8 位值,用于在广播网络中选举 DR 和 BDR。
- 指定路由器 (DR) – 选择它以最小化形成的邻接数。 DR 将 LSA 分发到所有其他路由器。 DR 在所有其他路由器共享其 DBD 的广播网络中选出。在广播网络中,路由器请求更新 DR,DR 将使用更新响应该请求。
- 备份指定路由器 (BDR) – BDR 是广播网络中 DR 的备份。当 DR 发生故障时,BDR 成为 DR 并执行其功能。
DR 和 BDR 选举——DR 和 BDR 选举发生在广播网络或多路访问网络中。以下是选举标准:
- 具有最高路由器优先级的路由器将被声明为 DR。
- 如果路由器优先级有关系,那么我会考虑最高的路由器。首先,考虑最高环回地址。如果未配置环回,则考虑路由器接口上的最高活动 IP 地址。
OSPF 状态 –运行 OSPF 的设备会经历某些状态。这些状态是:
- Down –在这种状态下,接口上没有收到 hello 数据包。
注 –关闭状态并不意味着接口物理关闭。这里表示OSPF邻接过程还没有开始。 - INIT –在此状态下,已收到来自其他路由器的 hello 数据包。
- 2WAY –在 2WAY 状态下,两个路由器都收到了来自其他路由器的 hello 数据包。双向连接已经建立。
注 –在 2WAY 状态和 Exstart 状态之间,进行 DR 和 BDR 选举。 - Exstart –在此状态下,交换 NULL DBD。在此状态下,进行主从选举。具有更高路由器的路由器我将成为主设备,而其他路由器则成为从设备。这次选举决定哪个路由器首先发送它的DBD(已经形成邻居的路由器将参加这次选举)。
- 交换——在这种状态下,实际的 DBD 被交换。
- Loading –在这种状态下,交换 LSR、LSU 和 LSA(链路状态确认)。
重要 –当路由器从其他路由器接收 DBD 时,它会将自己的 DBD 与其他路由器的 DBD 进行比较。如果收到的 DBD 比它自己的 DBD 更新得更多,则路由器将向其他路由器发送 LSR,说明需要哪些链路。另一台路由器回复包含所需更新的 LSU。作为回报,路由器回复链路状态确认。 - 完整 –在此状态下,所有信息都会同步。 OSPF 路由只能在 Full 状态之后开始。