路由算法归类

本文介绍了路由算法的分类,包括LS算法、Dijkstra算法、链路状态算法和距离向量算法,探讨了它们在静态与动态、单路径与多路径等维度的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

各路由算法的区别点包括:静态与动态、单路径与多路径、平坦与分层、主机智能与路由器智能、域内与域间、链接状态与距离向量

LS算法

采用LS 算法 时,每个 路由器 必须遵循以下 步骤
ls算法的步骤流程

ls算法的步骤流程

1、确认在 物理 上与之相连的 路由器 并获得它们的IP地址。当一个 路由器 开始工作后,它首先向整个 网络 发送一个“HELLO”分组 数据包 。每个接收到 数据包 路由器 都将返回一条消息,其中包含它自身的IP地址。
2、测量相邻 路由器的延时(或者其他重要的 网络参数,比如平均流量)。为做到这一点, 路由器向整个 网络发送响应分组 数据包。每个接收到 数据包的路由器返回一个应答分组 数据包。将路程往返时间除以2, 路由器便可以计算出延时。(路程往返时间是 网络当前延迟的量度,通过一个分组 数据包从远程 主机返回的时间来测量。)该时间包括了 传输和处理两部分的时间——也就是将分组 数据包发送到目的地的时间以及接收方处理分组数据包和应答的时间。
3、向 网络中的其他 路由器广播自己的 信息,同时也接收其他路由器的信息。
在这一步中,所有的 路由器共享它们的知识并且将自身的 信息广播给其他每一个路由器。这样,每一个 路由器都能够知道 网络的结构以及状态。
4、使用一个合适的 算法,确定 网络中两个 节点之间的最佳路由。
在这一步中, 路由器选择通往每一个 节点的最佳路由。它们使用一个 算法来实现这一点,如 Dijkstra 最短路径算法。在这个 算法中,一个 路由器通过收集到的其他路由器的 信息,建立一个 网络图。这个图描述 网络中的 路由器的位置以及它们之间的链接关系。每个链接都有一个数字标注,称为权值或成本。这个数字是延时和平均流量的函数,有时它仅仅表示 节点间的 跃点数。例如,如果一个 节点与目的地之间有两条链路, 路由器将选择权值最低的链路。

Dijkstra算法

Dijkstra 算法执行下列 步骤
Dijkstra算法

Dijkstra算法

1、 路由器建立一张 网络图,并且确定源 节点和目的 节点,在这个例子里我们设为V1和V2。然后 路由器建立一个矩阵,称为“邻接矩阵”。在这个矩阵中,各矩阵元素表示权值。例如,[i, j]是 节点Vi与Vj之间的链路权值。如果 节点Vi与Vj之间没有链路直接相连,它们的权值设为“无穷大”。
2、 路由器为网路中的每一个 节点建立一组状态记录。此记录包括三个字段:
前序字段——表示当前 节点之前的 节点
长度字段——表示从源 节点到当前节点的权值之和。
标号字段——表示 节点的状态。每个 节点都处于一个状态模式:“永久”或“暂时”。
3、 路由器初始化(所有 节点的)状态记录集参数,将它们的长度设为“无穷大”,标号设为“暂时”。
4、 路由器设置一个T 节点。例如,如果设V1是源T节点, 路由器将V1的标号更改为“永久”。当一个标号更改为“永久”后,它将不再改变。一个T 节点仅仅是一个代理而已。
5、 路由器更新与源T 节点直接相连的所有暂时性节点的状态记录集。
6、 路由器在所有的暂时性节点中选择 距离V1的权值最低的节点。这个 节点将是新的T节点。
7、如果这个 节点不是V2(目的节点), 路由器则返回到 步骤5。
8、如果 节点是V2, 路由器则向前回溯,将它的前序节点从状态记录集中提取出来,如此循环,直到提取到V1为止。这个 节点列表便是从V1到V2的最佳路由。

链路状态算法

链路状态 算法(也称 最短路径算法)发送路由 信息到互联网上所有的结点,然而对于每个 路由器,仅发送它的 路由表中描述了其自身链路状态的那一部分。
链路状态路由算法

链路状态路由算

距离向量算法

距离向量 算法(也称为 Bellman-Ford算法)则要求每个 路由器发送其 路由表全部或部分 信息,但仅发送到邻近结点上。从本质上来说,链路状态 算法将少量更新 信息发送至 网络各处,而距离向量算法发送大量更新信息至邻接 路由器。 ——由于链路状态 算法收敛更快,因此它在一定程度上比距离向量算法更不易产生路由循环。但另一方面,链路状态 算法要求比距离向量算法有更强的CPU能力和更多的内存空间,因此链路状态算法将会在实现时显得更昂贵一些。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值