培训教材-路由器 * Router id-用于描述数据包的源地址,以IP地址来表示 * Area Id用于区分OSPF数据包属于的区域号,所有的OSPF数据包都属于一个特定的 OSPF区域 * Checksum-校验位,用于标记数据包在传递时有无误码 Authentication type-定义OSPF验证类型 * Authentication-包含OSPF验证信息,长为8个字节 1.3.3.0SPF基本算法 SPF算法及最短路径树 SPF算法是OSPF路由协议的基础。SPF算法有时也被称为 Dijkstra算法,这是因为最短 路径优先算法SPF是 Dijkstra发明的。SPF算法将每一个路由器作为根(ROOT)来计算其到 每一个目的地路由器的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结 构图,该结构图类似于一棵树,在SPF算法中,被称为最短路径树。在OSPF路由协议中 最短路径树的树干长度,即OSPF路由器至每一个目的地路由器的距离,称为OSPF的Cost, 其算法为: Cost=100×106/链路带宽 在这里,链路带宽以bps来表示。也就是说,OSPF的Cost与链路的带宽成反比,带宽 越高,Cost越小,表示OSPF到目的地的距离越近。举例来说,FDDL或快速以太网的Cost 为1,2M串行链路的Cost为48,10M以太网的Cost为10等。 链路状态算法 作为一种典型的链路状态的路由协议,OSPF还得遵循链路状态路由协议的统一算法。链 路状态的算法非常简单,在这里将链路状态算法概括为以下四个步骤: 1、当路由器初始化或当网络结构发生变化(例如增减路由器,链路状态发生变化等) 时,路由器会产生链路状态广播数据包LSA(Link- State Advertisement),该数据包 里包含路由器上所有相连链路,也即为所有端口的状态信息 2、所有路由器会通过一种被称为刷新( Flooding)的方法来交换链路状态数据。 Flooding 是指路由器将其LSA数据包传送给所有与其相邻的OSPF路由器,相邻路由器根据 其接收到的链路状态信息更新自己的数据库,并将该链路状态信息转送给与其相邻 的路由器,直至稳定的一个过程。 3、当网络重新稳定下来,也可以说OSPF路由协议收敛下来时,所有的路由器会根据 其各自的链路状态信息数据库计算出各自的路由表。该路由表中包含路由器到每一个可到达 目的地的Cost以及到达该目的地所要转发的下一个路由器( next-hop)。 4、第4个步骤实际上是指OSPF路由协议的一个特性。当网络状态比较稳定时,网络 中传递的链路状态信息是比较少的,或者可以说,当网络稳定时,网络中是比较安静的。这 也正是链路状态路由协议区别与距离矢量路由协议的一大特点, 培训教材-路由器 客户服务中心培训教材-路由器 培训教材-路由器 11 客户服务中心 * Router ID-用于描述数据包的源地址,以 IP 地址来表示。 * Area ID-用于区分 OSPF 数据包属于的区域号,所有的 OSPF 数据包都属于一个特定的 OSPF 区域。 * Checksum-校验位,用于标记数据包在传递时有无误码。 * Authentication type-定义 OSPF 验证类型。 * Authentication-包含 OSPF 验证信息,长为 8 个字节。 1.3.3. OSPF基本算法 SPF 算法及最短路径树 SPF 算法是 OSPF 路由协议的基础。SPF 算法有时也被称为 Dijkstra 算法,这是因为最短 路径优先算法 SPF 是 Dijkstra 发明的。SPF 算法将每一个路由器作为根(ROOT)来计算其到 每一个目的地路由器的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结 构图,该结构图类似于一棵树,在 SPF 算法中,被称为最短路径树。在 OSPF 路由协议中, 最短路径树的树干长度,即 OSPF 路由器至每一个目的地路由器的距离,称为 OSPF 的 Cost, 其算法为: Cost = 100×106/链路带宽 在这里,链路带宽以 bps 来表示。也就是说,OSPF 的 Cost 与链路的带宽成反比,带宽 越高,Cost 越小,表示 OSPF 到目的地的距离越近。举例来说,FDDI 或快速以太网的 Cost 为 1,2M 串行链路的 Cost 为 48,10M 以太网的 Cost 为 10 等。 链路状态算法 作为一种典型的链路状态的路由协议,OSPF 还得遵循链路状态路由协议的统一算法。链 路状态的算法非常简单,在这里将链路状态算法概括为以下四个步骤: 1、 当路由器初始化或当网络结构发生变化(例如增减路由器,链路状态发生变化等) 时,路由器会产生链路状态广播数据包 LSA(Link-State Advertisement),该数据包 里包含路由器上所有相连链路,也即为所有端口的状态信息。 2、 所有路由器会通过一种被称为刷新(Flooding)的方法来交换链路状态数据。Flooding 是指路由器将其 LSA 数据包传送给所有与其相邻的 OSPF 路由器,相邻路由器根据 其接收到的链路状态信息更新自己的数据库,并将该链路状态信息转送给与其相邻 的路由器,直至稳定的一个过程。 3、 当网络重新稳定下来,也可以说 OSPF 路由协议收敛下来时,所有的路由器会根据 其各自的链路状态信息数据库计算出各自的路由表。该路由表中包含路由器到每一个可到达 目的地的 Cost 以及到达该目的地所要转发的下一个路由器(next-hop)。 4、 第 4 个步骤实际上是指 OSPF 路由协议的一个特性。当网络状态比较稳定时,网络 中传递的链路状态信息是比较少的,或者可以说,当网络稳定时,网络中是比较安静的。这 也正是链路状态路由协议区别与距离矢量路由协议的一大特点