📜  固定和泛洪路由算法

📅  最后修改于: 2021-09-27 06:21:47             🧑  作者: Mango

在大多数情况下,数据包需要多跳才能到达目的地。路由是分组交换网络设计中最复杂和最关键的方面之一。

路由算法的理想特性:-

  • 正确性和简单性
  • 鲁棒性:网络即使在遇到故障时也能通过某些路由传送数据包的能力。
  • 稳定性:面对网络中不断变化的条件,算法应该快速收敛到平衡。
  • 公平与最优
  • 效率:最小的开销。

路由算法的设计参数:

  • 性能标准:跳数、成本(以高带宽路径发送数据包成本较低)、延迟(队列大小)、吞吐量时间(传输的数据包数量/时间)。
  • 决策时间:何时决定路由数据包?每包(数据报)或每会话(虚拟电路)。
  • 决策地点:谁来决定路由?每个节点(分布式)、中心节点(集中式)、源节点(源)。
  • 网络信息源:无、本地、相邻节点、沿途节点、所有节点。
  • 网络信息更新时间:连续、周期性、主要负载变化、拓扑变化。

路由策略:

  1. 固定路由
  2. 洪水
  3. 动态路由
  4. 随机路由
  5. 基于流的路由

固定路由 –

  • 为网络中的每个源节点和目标节点对选择一条路由。
  • 路线固定;仅当网络拓扑发生变化时才会发生变化。

固定路由:示例 (1)


图 –具有六个节点(路由器)的简单分组交换网络


图 –基于最低成本路径算法的中央路由表

  • 基于存储在网络控制中心的最低成本路径创建中央路由矩阵
  • 该矩阵显示了路由的每个源目的地,路由上的下一个节点的身份。
  • 缺点:如果网络控制中心出现故障,那么一切都会崩溃。因此它是不可靠的。

固定路由:示例 (2)


图 –存储在网络不同节点的路由表

  • 为每个节点创建路由表。这称为分布式路由算法
  • 可以使用最小路径或最小跳到达方法创建路由表。两种著名的路径算法
    1. Dijkstra 算法
    2. 贝尔曼福特算法

优点 –

  • 简单的
  • 在可靠网络中工作良好,在可靠网络中负载稳定
  • 虚电路和数据报相同

缺点——

  • 缺乏灵活性
  • 不对故障或网络拥塞做出反应

洪水——

  • 不需要拓扑、负载条件、差异成本等网络信息。路径
  • 到达节点的每个传入数据包都会在每个传出数据包上发送出去,除了它到达的那个。
  • 例如上图
    • 到 (1) 的传入数据包被发送到 (2), (3)
    • 从(2)发送到(6),(4)和从(3)发送到(4),(5)
    • 从(4)发送到(6),(5),(3),从(6)发送到(2),(4),(5),从(5)发送到(4) ),(3)

特征 –

  • 源和目的地之间的所有可能的路由都被尝试。如果路径存在,数据包将始终通过
  • 尝试所有路线后,将至少有一条路线最短
  • 访问所有直接或间接连接的节点

限制 –

  • 洪水会产生大量重复的数据包
  • 必须使用合适的阻尼机制

跳数 –

  • 跳计数器可以包含在分组报头中,其在每一跳处递减。
    当计数器变为零时,数据包被丢弃
  • 发送方初始化跳计数器。如果不知道估计值,则将其设置为子网的全直径。
  • 使用序列号跟踪负责泛洪的数据包。避免再次发送它们。

选择性泛洪:路由器不会在每条线路上发送每个传入的数据包,只会在那些大致朝着目的地方向进入的线路上发送。

洪水的优点:

  • 可以发送高度稳健的紧急消息或即时消息(例如军事应用)
  • 在虚电路中建立路由
  • 洪水总是选择最短路径
  • 向所有节点广播消息

参考 –
数据和计算机通信

阅读下一篇文章 – 路由协议集 1(距离矢量路由)