网络层
前面介绍了ip编址,现在回到网络层的另一个重点,路由选择算法
路由选择算法:我们前面一直再讲路由器转发,那这个数据报经过的路由器,也就是路由路径是怎么配置的?这个就是路由选择算法来完成的
讲路由选择算法之前,我们必须先了解图,数据结构中,图就是由结点和边构成的,因此我们将每个路由器视为结点,路由器与路由器之间的链路看成边
现在,我们再考虑一下,路由选择算法应该选择一条怎么样的链路
不用想都知道,肯定是选择一条消耗最少的路径,这条路径上的权值一般是流量的大小,流量越大,越容易阻塞,所以我们倾向于选择一条流量最少的路径,这样能保证我们的数据报以最快的速率传输到目的地
有以下两种路由选择算法
- 链路状态算法LS
- 距离向量算法DV
全局式路由选择算法
如果你学过数据结构,那肯定知道数据结构中的一个算法,Dijkstra
算法,该算法以一个起点为源,求出该点到图上的其他点的最短路径,简单说明一下Dijkstra
算法
我们用一个二维数组dp[i][j]表示结点i到结点j的路径长度,那我们要如何求出i
到j
的最短路径呢,可以肯定的是,绝对不会是每次选择最短的一条路径,然后到达终点j
,这种全局性的问题,有点类似与动态规划,简单说明一下结点i到结点j的最