静态路由算法

0x00.固定路由

特性:

  1. 用一个中心路由目录维护路由。
  2. 节点只需相邻节点的信息。
  3. 对于数据包或虚电路作同样路由。

优点:

  1. 简单。
  2. 对具有稳定负载的可靠网络效率很高。

用矩阵表现固定路由

每列来看,1→2 经过2,可得节点1与节点2相邻,用1-2表示;1→3经过4,可得节点1和节点3不相邻,需要经过节点4…..依此类推可得每两两相邻的节点。


0x01.最短路径算法

测量路径长度的方法:

  1. 最小跳计数
  2. 最短距离
  3. 信道带宽
  4. 传输延迟
  5. 平均通讯量

最短路径选择方法

1.子网图

  1. 节点代表路由器。
  2. 弧线代表两个路由器之间的一条链路。

2.Dijkstra算法

找出一个节点到所有其他节点的最短路径。

e.g:使用Dijkstra算法计算A→D的最短路径

初始化:已知相邻节点与相邻节点间的长度。

step1.选择当前工作节点A

step2.标值其他节点到源的距离

此时B(2,A),2表示该点到源点A的距离,A表示与B相连的上一个节点。B(2,A),G(6,A),B点离圆点近,所以将B选择为工作节点。

step3.选择当前工作节点B

step4.标值其他节点到源的距离

此时,E(4,B),以此类推…….

3.扩散法(flooding)

将入境报文输出到所有输出线路(除去入境线路)。

e.g:使用扩散法将数据包从1传输到6

该模型初始化时没有任何路由信息,这是一种广播的方式。

数据包从1发出,2、4接收,2、4接收后进行拷贝,将数据包依次向下发送。

 

 

 

 

特性:

  1. 尝试所有可能的路由。
  2. 至少有一个包通过最小跳路到达目的端。
  3. 所有与源节点链接的节点都被访问。

优点:

  1. 具有一定健壮性。
  2. 简历虚电路。
  3. 将重要信息进行广播。

缺点:

包的拷贝数量呈指数增长。

解决方案:

  1. 在每个节点记下已发出包的表示。
  2. 在每个包中设置一跳计数。

路由选择算法概述

0x00.路由选择算法的分类

路由选择算法大致可分为两种:非自适应算法(静态路由)和自适应算法(自适应算法),常用的为自适应算法。

非自适应算法:部根据实测或估计的网络的当前通信量和拓补结构来作路由选择。

自适应算法:根据拓补结构、通信量的变化来改变其路由的选择。

前提:路由节点间交换网络状态信息,信息越多,做出的路由决策越好,但信息过多辉加重网络负担导致性能下降。

缺点:

  1. 路由决策复杂,从而加重网络节点的处理负担。
  2. 依赖于信息状态,这些状态信息在一个地方收集,却用在其他地方,从而加重了网络的交通负担。
  3. 不能太快和太慢,自适应决策太快辉引起拥塞抖动,太慢又不符合自适应的初衷。

优点:

  1. 可提高网络性能
  2. 有助于拥塞控制

0x01.路由选择算法的特征

  1. 正确性(correctness):能为数据链路找到正确的路径。
  2. 简单性(simplicity):计算路由的系统开销要小,提升整体效率。
  3. 健壮性(robustness):及鲁棒性,出现问题是可保证整体数据,不丢失不中断。
  4. 稳定性(stability):运行一段时间的稳定运行。
  5. 最优性(optimality):对不同优先级的数据包提供不同的优先级策略。
  6. 公平性(fairness):中信,中性。
  7. 有效性(efficiency):使用路由表进行数据传递时的开销要小于不适用路由表的开销。

0x02.路由技术元素

1.性能标准(常用的)

  • 跳计数:从远端到目的端经历了多少路由的转发,每经历一个,跳计数+1.
  • 成本:通常和每一条链路有关,如链路长度等(待补充)。
  • 延迟:从源端到目的端的延迟,延迟越小越好。
  • 吞吐量:从源端到目的端的吞吐量,吞吐量越大越好。

2.网络信息源

  • 无:有的算法不需要网络信息就可以进行路由选择。
  • 局部:本地的路由节点可以知道它所链接的线路的概况。
  • 邻接节点:从与该节点相邻的节点获取网络信息,所需网络信息为算法所需网络信息。
  • 全部节点:如果该算法运行前提为全部网络信息,网络信息源变为全部信息。

3.信息更新时间(是信息源和路由决策的函数)

  • 连续:连续不断的更新。
  • 定期:每隔一段时间采集网络信息。
  • 负载变化:当网络负载发生变化后将网络信息通知所有节点。
  • 拓补变化:当网络拓补结构发生变化后将网络信息通知所有节点。

4.决策时间(什么时间生成路由表)

  • 包(数据包):为每个包单独作路由决策。
  • 会晤(虚电路):在2个用户建立虚电路时就要进行决策。

5.决策地点(什么地点生成路由表)

  • 每个节点(分布):在每个节点上进行,完全分布式。分布成本高,但鲁棒性更好。
  • 中心节点(集中):在某些中心节点进行,如网络(控制)中心集中进行决策。当中心节点崩溃整个路由崩溃。
  • 原始节点(源端):在数据包的源端进行路由选择,而非网络进行选择。

6.性能标准

  • 最小跳计数。
  • 最小成本,成本与数据率有关(数据率越高,成本越低),成本与当前排队延迟有关。最短路径:1-3-6 ,成本:10

         最小成本路径:1-4-5-6 ,成本:4

7.影响路由决策的主要因素

  • 故障:当一个节点故障或一段干线故障后,就不再用作路由的一部分。
  • 拥塞:当网络的一部分严重拥塞时,要求路由绕开拥塞部位而不是继续通过拥塞区域。