OSPF 如何将数据包从源路由到目标?

开放最短路径优先(OSPF) 是一种路由器协议,用于在数据包通过一组连接的网络时为其找到最佳路径。

该协议由 Internet 工程任务组 (IETF) 指定为内部网关协议 (IGP) 之一,其目标是在更大的自治系统网络(如单个企业网络)内移动流量,而该网络又可能由许多独立的本地网络组成通过路由器连接的区域网络。

解释

区域 1 边界路由器 区域 0 骨干区域 边界路由器 区域 2 OSPF。

OSPF 协议称为链路状态路由协议,它维护链路状态数据库。网络中路由的状态就是成本。OSPF 协议允许每个路由器计算到任何给定可达目的地的路由成本。

具有 OSPF 的路由器接口将通过多播过程(称为 hello 过程)将其链路成本通告给相邻路由器。该网络分为多个区域,可以简化管理并优化流量和资源利用。

区域由 32 位点十进制表示表示。按照惯例,Area 0 代表 OSPF 网络的骨干区域,如上图所示。

每个区域都必须与 OSPF 主干区域有连接。此类连接由互连路由器实现,如上图所示,称为区域边界路由器 (ABR)。

边界路由器为其连接的每个区域实施单独的链路状态数据库,并维护网络中所有区域的汇总路由。OSPF 检测网络拓扑的变化,例如链路故障,并在极短的时间内收敛到一个新的无环路路由结构。

在 OSPF 中,信息会发送到每个节点,因此流量会非常高,因为我们必须进行泛洪。链路状态路由很复杂,因为它使用 Dijkstra 算法来找到节点之间的最短路径。

边界路由器将接收所有被淹没的数据包并汇总信息。一个区域的全部信息将保存在一个数据包中,并将发送到其他区域。边界路由器将信息转发给骨干路由器,骨干路由器将信息转发给另一个区域的边界路由器。

OSPF 数据包格式

OSPF 数据包格式如下:

0                               8                   16
31

版本类型信息
源地址
区号
校验和认证类型
验证

这里,

版本 - 它代表当前版本

类型 - 表示 OSPF 消息的类型 (1-5)。

  • 类型 1 - “你好”消息,

  • 类型 2 - 请求,

  • 类型 3 - 发送,

  • 类型 4 - 确认收到链路状态消息,

  • 类型 5 - 保留。

消息长度 - 表示要交换的消息的长度。

SourceAddr - 识别发件人。

AreaId - 节点所在区域的 32 位标识符。

校验和 - 16 位互联网校验和。

身份验证类型 - 1(普通密码),2(加密身份验证)。

Authentication - 它包含密码或加密校验和。