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


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

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

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

计算机网络——DV和LS算法笔记相关推荐

  1. 计算机网络DV和LS

    前言(DV和LS的引导): 我们知道网络层的核心设备就是路由器,而核心功能就是路由和转发,然而路由器的转发依赖于转发表(路由表),那么转发表里面的内容是怎么来的呢? 前面也说过路由分为静态路由和动态路 ...

  2. DV、LS路由算法Java编程实现

    1. 在500*500的场景中,随机生成N(可设置)个节点(节点坐标x, y):考虑节点的信号覆盖半径为R(可设置):如果两个节点之间的欧氏距离小于等于R,则认为这两个节点可以直接通信(有一条直接相连 ...

  3. 距离向量DV与链路状态LS算法的区别

    距离向量DV算法与链路状态LS算法最大的区别就在于:前者为分布式.迭代算法,而后者为"集中式"的算法.什么意思呢?先来看一下两种算法的原理. 距离向量路由算法(Bellman-Fo ...

  4. 操作系统,计算机网络,数据库刷题笔记11

    操作系统,计算机网络,数据库刷题笔记11 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle,尤其s ...

  5. c++ string 删除字符_算法笔记|(5)第二章C、C++的快速入门字符数组的存放方式string.h文件...

    字符数组的存放方式 由于字符数组是由若干个char类型的元素组成的,因此字符数组的每一位都是一个char字符,除此之外,在一维字符数组或者二维字符数组的第二维的末尾都有一个空字符\0表示存放的字符串的 ...

  6. 算法笔记--二分图判定

    算法笔记 挑战程序设计p98 #include<bits/stdc++.h> using namespace std; #define ll long long #define ls rt ...

  7. 函数传参数_算法笔记(7)第二章C、C++快速入门函数,main函数,

    #includevoid change(int x){ x=x+1;}int main(){ int x=10; change(x); prinf("%d\n",x); retur ...

  8. 数据库,计算机网络、操作系统刷题笔记20

    数据库,计算机网络.操作系统刷题笔记20 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle,尤其s ...

  9. 操作系统,计算机网络,数据库刷题笔记10

    操作系统,计算机网络,数据库刷题笔记10 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle,尤其s ...

最新文章

  1. Oracle 学习笔记:Backup Recovery 常用命令
  2. 用计算机计算性别,2018预测生男生女计算器 超准的怀孕计算器查生男生女
  3. SQL server中的SELECT查询语句执行顺序
  4. window10 安装出现the error code is 2503错误的解决方法
  5. php小程序的wxparse.js是什么,微信小程序如何解析HTML富文本(使用wxParse解析富文本的demo)...
  6. 页面 动态显示cmd执行结果_把代码执行演示嵌在你的PPT中
  7. AD19PCB增加board shape即增大黑色布的面积
  8. linux sftp创建多用户,同一台 Centos (Linux)服务器设置多个sftp 账号,并限制用户只能访问指定文件路径...
  9. 如何在VS 2010中使用 VS2013的解决方案
  10. ios 点击出现另外一套tabbar_iOS 点击UITabBar触发刷新
  11. 使用说明 思迅收银系统_浅析思迅软件收银系统常见的功能主要有哪些?
  12. Datasqueeze v2.0.7
  13. python更改文件路径_更换路径python
  14. ac9260网卡linux,#Linux# 在OpenSUSE下安装9260AC驱动
  15. 《趣学Python——教孩子学编程》——第1部分 学习编程 第1章 Python不是大蟒蛇 1.1 关于计算机语言...
  16. 数据分析师对年龄有限制吗?现在转行还来得及吗?
  17. 绩效辅导面谈中的STAR法则和SPIN
  18. JSP学习(1)—— 基本语法
  19. 分享股票level2接口的量价趋势指标源码
  20. Bash脚本基础:环境变量定义与使用

热门文章

  1. phpstorm学习
  2. 多功能检测按键 单按 长按 多个按键 响应方式
  3. uC/OS-II 中文手册
  4. 孙悟空为什么可以做CTO
  5. 全氟己基碘烷行业研究及十四五规划分析报告
  6. 中国2-己氧乙醇市场发展现状与投资前景分析报告2022-2028年
  7. 【面试题】8.Redis相关
  8. win11安装Ubuntu错误Installing, this may take a few minutes… WslRegisterDistribution failed with error: 0
  9. 普元mobile_普元Primeton Mobile 7.1发布
  10. Lake Shore—625 型超导磁体电源