spf算法
SPF算法也被称为Dijkstra算法,这是因为最短路径优先算法SPF是由荷兰计算机科学家狄克斯特拉于1959年提出的。
SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器根据一个统一的资料库会计算出路由域的拓扑结构图,该结构图类似于一棵树,在SPF算法中,被称为最短路径树。
SPF算法是OSPF路由协定的基础。SPF算法有时也被称为Dijkstra算法,这是因为最短路径优先算法SPF是Dijkstra发明的。SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器根据一个统一的资料库会计算出路由域的拓扑结构图,该结构图类似于一棵树,在SPF算法中,被称为最短路径树。在OSPF路由协定中,最短路径树的树干长度,即OSPF路由器至每一个目的地路由器的距离,称为OSPF的Cost,其算法为:Cost = 100×(10)^6/链路频宽 .
在这里,链路频宽以bps来表示。也就是说,OSPF的Cost 与链路的频宽成反比,频宽越高,Cost越小,表示OSPF到目的地的距离越近。举例来说,FDDI或快速乙太网的Cost为1,2M串列链路的Cost为48,10M乙太网的Cost为10等。
SPF算法是OSPF路由协定的基础。在OSPF路由协定中,最短路径树的树干长度,即OSPF路由器至每一个目的地路由器的距离,称为OSPF的Cost,其算法为:Cost = 100×10/链路频宽。
SPF使用开销(cost)作为度量值。开销被分配到路由器的每个接口上,默认情况下,一个接口的开销以100 M为基準自动计算得到。到某个特定目的地的路径开销是这台路由器到目的地之间的所有链路出接口的开销之和。
为了从LSA资料库中生成路由表,设备运行Dijkstra最短路径优先算法构建最短路径树,以本设备自己作为路由树的根。Dijkstra算法计算出到网路上每一个节点的开销最低的路径,设备将这些路径的路由存入自己的路由表。
OSPF不是简单地周期性广播它所有的路由选择信息。OSPF交换机使用hello报文保持邻居关係。如果一台交换机在一段特定的时间内(dead-interval)没有收到来自邻居的hello报文,则认为这个邻居可能已经不存在了。OSPF路由刷新是递增式的,交换机通常只在拓扑结构发生改变时发出刷新信息。当LSA的年龄达到1800秒(LSA刷新间隔,LSRefreshTime)时,则传送一个该LSA的更新。