计算机网络中的最短路径路由是什么?
在此算法中,为了选择路由,算法会发现两个节点之间的最短路径。它可以使用多个跳点、以公里为单位的地理区域或弧的标记来测量路径长度。
弧的标记可以使用平均排队时间、标准测试数据包的小时传输延迟,或者计算为带宽、平均距离流量、通信成本、平均队列长度、测量延迟或其他因素的函数。
在最短路径路由中,拓扑通信网络使用有向加权图来定义。图中的节点定义交换组件,图中的有向弧定义交换组件之间的通信连接。每个弧都有一个权重,该权重定义了在特定方向上两个节点之间共享数据包的成本。
此成本通常是一个正值,可以表示延迟、吞吐量、错误率、财务成本等因素。两个节点之间的路径可以经过各种中间节点和弧。最短路径路由的目标是在两个节点之间找到总成本最低的路径,其中路径的总成本是该路径中弧成本的总和。
例如,Dijkstra 算法使用节点与其沿已知最佳路径到源节点的距离的标记。最初,所有节点都标记为无穷大,随着算法的进行,标记可能会发生变化。标记图显示在图中。
可以按如下方式进行多次传递,其中 A 为源节点。
第1次传递:B (2, A), C(∞,−), F(∞,−), e(∞,−), d(∞,−), G 60
第2次传递:B (2, A), C(4, B), D(5, B), E(4, B), F(∞,−),G(∞,−)
第3次传递:B(2, A), C(4, B), D(5, B), E(4, B), F(7, C), G(9, D)
我们可以看到 A 和 G 之间可以有两条路径。一条路径经过 ABCFG,另一条路径经过 ABDG。第一条路径长度为 11,第二条路径长度为 9。因此,选择第二条路径,即 G (9, D)。类似地,节点 D 从 A 出发也有三条路径 ABD、ABCD 和 ABED。第一条路径长度为 5,其余两条路径长度为 6。因此,选择第一条路径。
在多次传递中搜索所有节点,最终,将具有最短路径长度的路由设为永久性,并将路径的节点用作下一轮的工作节点。