计算机网络——DV和LS算法笔记

大前提:认清这两个算法
一、距离向量(DV)算法预习:
每个路由器维护一个距离矢量(通常是以延时是作变量的)表,然后通过相邻路由器之间的距离矢量通告进行距离矢量表的更新
每个距离矢量表项包括两部分:到达目的结点的最佳输出线路,和到达目的结点所需时间或距离,通信子网中的其它每个路由器在表中占据一个表项,并作为该表项的索引。每隔一段时间,路由器会向所有邻居结点发送它到每个目的结点的距离表,同时它也接收每个邻居结点发来的距离表。这样以此类推,经过一段时间后便可将网络中各路由器所获得的距离矢量信息在各路由器上统一起来,这样各路由器只需要查看这个距离矢量表就可以为不同来源分组找到一条最佳的路由。


二、链路状态LS算法预习:
1、链路状态路路由选择算法是一种全局式路由选择算法,我们下面给出的链路状态路由选择算法叫做Dijkstra算法,在了解此算法之前,我们首先明白以下几个记号:
D(v):表示从源节点到目标结点v的最低费用路径的费用
p(x):从源结点到目标节点v(最低费用路径)的前一个结点(v的邻居)
N’:如果从源到v的最低费用路径已知,那么可以将v加入N’集合中
w:可被加入到N’ 中结点,且节点的费用最小

2、算法原理
我们通过图来形象化描述路由选择问题,G=(N,E)是一个有N个节点(代表路由器),E条边(代表链路)的图(代表网络拓扑)。每条链路上的数字代表此链路的费用,如下图所示:
计算机网络——DV和LS算法笔记_第1张图片假设源节点为u,我们要找到从源节点到其他节点的最低消费路径,其算法如下:

  • 以u节点为源节点(与u邻居节点的距离是最低消费,不是邻居节点的是∞)
  • 找到邻居节点里面最低消费最小的,加到u后面(如图x是最低消费)(如果有相同消费的,随便选择-路径可以有多种,不拘泥于一种)
  • 一直到所有节点都已经加到后面了,就是我们要的路径(如图)
  • 依次类推,我们可以得到源节点到任意目标节点最低消费路径的完整路径
    简单来说就是每次都选最小的就没错了(没错了,就是最小生成树的算法)
    计算机网络——DV和LS算法笔记_第2张图片所以,对于u节点路由,通过存储到每个目的节点路由最低费用路径的下一跳节点即可,于是u节点路由表生成如下:
    计算机网络——DV和LS算法笔记_第3张图片

你可能感兴趣的:(计算机网络笔记,算法)