最短路径优先算法
OSPF路由协议使用SPF(Shortest Path First)算法计算路由的非常好的路径。该算法是由一位荷兰的计算机科学家Dijkstra于1959年发现的,所以该算法也称为Dijkstra算法。IS-IS也使用这种算法。
该算法把网络考虑为一组点到点连接的节点,每条链路有一个开销值,每个节点有它自己的名称及一个包含已知物理拓扑的完整链路信息的数据库。如图10-32所示的网络环境。
下图描述了每一台路由器到达邻居的开销,如果从R-A路由器出发访问到R-F将会有两条链路,通过SPF的算法将链条链路的Cost值相加得出的结果为:
* R-A→R-B→R-D→R-F的cost值为50。
* R-A→R-C→R-E→R-F的cost值为97。
根据SPF的算法规定,R-A到达R-F的非常好的路径为R-A→R-B→R-D→R-F。
在图下中可以看到R-D与R-E之间还有一条链路,这对于网络本身来说造成了环路,无论这条链路的Cost值为多少,都将不会列入OSPF路由协议的非常好的路径之中。OSPF路由协议会使用SPF算法计算出一条路径优先树以避免环路。
图: 运行OSPF路由协议的网络环境