【计算机网络笔记】路由算法之距离向量路由算法

系列文章目录

什么是计算机网络?
什么是网络协议?
计算机网络的结构
数据交换之电路交换
数据交换之报文交换和分组交换
分组交换 vs 电路交换
计算机网络性能(1)——速率、带宽、延迟
计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率
计算机网络体系结构概念
OSI参考模型基本概念
OSI参考模型中非端-端层(物理层、数据链路层、网络层)功能介绍
OSI参考模型中端-端层(传输层、会话层、表示层、应用层)功能介绍
TCP/IP参考模型基本概念,包括五层参考模型
网络应用的体系结构
网络应用进程通信
网络应用对传输服务的需求
Web应用之HTTP协议(涉及HTTP连接类型和HTTP消息格式)
Cookie技术
Web缓存/代理服务器技术
传输层服务概述、传输层 vs. 网络层
传输层——多路复用和多路分用
传输层——UDP简介
传输层——可靠数据传输原理之Rdt协议
传输层——可靠数据传输之流水线机制与滑动窗口协议
传输层——TCP特点与段结构
传输层——TCP的可靠数据传输
TCP连接管理(图解三次握手和四次挥手)
传输层——拥塞控制原理与解决方法
TCP的拥塞控制机制
网络层服务与核心功能
网络层服务模型——虚电路网络
网络层服务模型——数据报网络
Internet网络的网络层——IP协议之IP数据报的结构
IP分片
IP编址与有类IP地址
IP子网划分与子网掩码
CIDR与路由聚合
DHCP协议
网络地址转换(NAT)
ICMP(互联网控制报文协议)
IPv6简介
路由算法之链路状态路由算法


  • 系列文章目录
  • 说明
  • 示例


说明

距离向量路由算法基于Bellman-Ford方程(动态规划)。

在这里插入图片描述

在这样的基础上,作为x结点,其实并不需要知道整个网络拓扑,它只需要知道和邻居v之间直接链路的费用和邻居v到目的y的最短路径的费用就可以知道通过哪个邻居可以获得到达目的结点y的最小路径费用。

下面看一个例子:

在这里插入图片描述

u有三个邻居:v、z、w

在这里插入图片描述

u不需要获取整个路径,只需要获取最短路径的下一跳,这个信息用于转发表中。

距离向量路由算法需要很多次迭代才能得到dx (y) 。所以在很长一段时间的计算过程中,使用Dx (y) 即从结点x到结点y的最小费用估计,经过很多次计算之后可能会趋向于dx (y) 。x维护距离向量(DV): Dx = [Dx (y): y є N ]。x还需要维护到达每个邻居的费用 c(x,v)和其所有邻居的距离向量: Dv = [Dv (y): y є N ]。

核心思想就是:

  • 每个结点不定时地将其自身的DV估计发送给其邻居
  • 当x接收到邻居的新的DV估计时,即依据B-F更新其自身的距离向量估计:Dx (y) ← minv {c(x,v) + Dv (y)} for each node y ∊ N
  • Dx (y)将最终收敛于实际的最小费用 dx (y)

距离向量路由算法有几个特点:

  • 异步迭代:每一个路由器并不是同步迭代、同步结束。引发每次局部迭代的因素主要是:局部链路费用改变、来自邻居的DV更新
  • 分布式:每个结点只当DV变化时才通告给邻居。邻居在必要时(其DV更新后发生改变)再通告它们的邻居

根据这些特点,距离向量路由算法的基本描述如下所示:

在这里插入图片描述

示例

在这里插入图片描述

首先初始化估计向量。并且此时它们的邻居结点的向量并没有交换过来,所以都是∞。

在这里插入图片描述

然后交换邻居结点的距离向量,然后重新计算它到达不同结点的最小费用。

在这里插入图片描述

重新计算之后如果有变化需要重新交换给邻居。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/157390.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux中的MFS分布式文件系统

目录 一、MFS分布式文件系统 1、MooseFS简介 2、Moose File System的体系结构 (1)MooseFS Master (2)MooseFS Chunk Server (3)MooseFS Metalogger (4)MooseFS Client &…

QFontDialog开发详解

QFontDialog 类是 Qt 框架中用于选择字体的对话框类。它允许用户选择字体的各种属性,如字体名称、字号、粗体、斜体等。以下是 QFontDialog 的一些常见用法和详解: 一、QFontDialog基本用法 #include <QApplication> #include <QFontDialog> #include <QMes…

华为云cce健康检查有什么用?配置需要注意什么?

华为云cce健康检查 如上图&#xff0c;华为云健康检查可用来探测cce的实例运行状态&#xff0c;必要时cce会自动重启实例&#xff0c;达到cce持续服务。 但是配置时需要注意一下几个方面&#xff0c;否则cce的状态总是有些不正常。 1、http探查比较友好。因为我们的在cce里面…

构建器模式-C++实现

构建器模式是一种创建型设计模式&#xff0c;主要用于构建需要多个步骤和复杂参数的对象。该模式可以把对象的构建过程和它的表示进行分离&#xff0c;使得同样的构建过程可以有不同的表示。 比如说我们要建造一座房子&#xff0c;这个房子的类型有很多种&#xff0c;比如石头…

C/C++---------------LeetCode第349.两个数组的交集

两个数组的交集 题目及要求哈希算法在main里使用 题目及要求 给定两个数组 nums1 和 nums2 &#xff0c;返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,2,2,1], nums2 [2,2] 输出…

【华为OD题库-029】恢复数字序列-java

题目 对于一个连续正整数组成的序列&#xff0c;可以将其拼接成一个字符串&#xff0c;再将字符串里的部分字符打乱顺序。如序列89101112, 拼接成的字符串19810112,打乱部分字符后得908112111。原来的正整数10就被拆成了0和1.现给定一个按如上规则得到的打乱字符的字符串&#…

物联网AI MicroPython学习之语法 ADC数模模块

学物联网&#xff0c;来万物简单IoT物联网&#xff01;&#xff01; ADC 介绍 模块功能: ADC数模转换模块 ADC功能在ESP32引脚32-39上可用&#xff0c;使用默认配置时&#xff0c;ADC引脚上的输入电压必须介于0.0v和1.0v之间&#xff08;任何高于1.0v的值都将读为4095&#x…

【信息安全】浅谈三种XSS(跨站脚本攻击)的攻击流程与防御措施

XSS 跨站脚本攻击&#xff08;Cross-Site Scripting&#xff0c;简称XSS&#xff09;是一种常见的Web安全漏洞&#xff0c;攻击者通过在Web应用中注入恶意脚本&#xff0c;使得浏览器在解析页面时执行该脚本&#xff0c;从而实现攻击目的。 类型 存储型XSS&#xff1a;攻击者…

YoloV8改进策略:WaveletPool解决小目标的混叠问题,提高小目标的检测精度

文章目录 摘要论文:《抗混叠在微小目标检测中的重要性》1、简介2、相关研究2.1、微小物体检测2.2. 抗锯齿过滤器3、方法3.1. Wavelet Pooling3.2 一致顺序的Wavelet Pooling的WaveCNet3.3、Bottom-Heavy Backbone4、实验4.1、预训练数据集4.2、微小目标检测数据集4.3、抗混叠方…

从0开始学习JavaScript--JavaScript类型化数组进阶

前面的文章&#xff0c;已经介绍了JavaScript类型化数组的基本概念、常见类型和基本操作。在本文中&#xff0c;我们将深入探讨类型化数组的一些进阶特性&#xff0c;包括共享内存、大端小端字节序、以及类型化数组与普通数组之间的转换&#xff0c;通过更丰富的示例代码&#…

Keil MDK 安装

0 Preface/Foreword 1 下载和安装 官网&#xff1a;Keil Embedded Development Tools for Arm, Cortex-M, Cortex-R4, 8051, C166, and 251 processor families. Keil MDK 下载链接&#xff1a;Keil MDK 1.1 下载 根据需求下载对应的Keil MDK edition。 不同的editions包括 …

WaveletPool:抗混叠在微小目标检测中的重要性

文章目录 摘要1、简介2、相关研究2.1、微小物体检测2.2. 抗锯齿过滤器3、方法3.1. Wavelet Pooling3.2 一致顺序的Wavelet Pooling的WaveCNet3.3、Bottom-Heavy Backbone4、实验4.1、预训练数据集4.2、微小目标检测数据集4.3、抗混叠方法的选择及应用顺序4.4、小波的选择4.5、T…

Monoxide relay机制和连弩挖矿

这篇文章就两个点&#xff0c;relay机制 、 连弩挖矿 relay 最终原子性 Eventual Atomicity 一笔跨链交易&#xff0c;从取款shard中发出&#xff0c;到存款shard中. 当收款shard中将这笔夸片交易打包上链后&#xff0c;原子性才执行结束。 这样做的延迟是比较小的。 如何应…

Linux awk命令

一. 查询时间超过2000毫秒的请求 ✅log: 20231119-1.log 2023:11:19 09:07:10 SPLEND2000 请求开始 110 END 2023:11:19 09:07:11 SPLEND1000 请求开始 120 END 2023:11:19 09:07:12 SPLEND3000 请求开始 119 END 2023:11:19 09:07:13 SPLEND4000 请求开始 156 END 2023:11:1…

深度神经网络下的风格迁移模型

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 斯坦福大学李飞飞团队的风格迁移模型是一种基于深度学习的图像处理技术&#xff0c;可以将一张图像的风格转移到另一张图像上。该模型…

Go 命名规范:全面指南

关注公众号【爱发白日梦的后端】分享技术干货、读书笔记、开源项目、实战经验、高效开发工具等&#xff0c;您的关注将是我的更新动力&#xff01; 在软件开发领域中&#xff0c;命名规范在提升代码可读性、可维护性和一致性方面起着至关重要的作用。良好定义的命名规范确保代码…

python之循环

知识点&#xff1a;while 使用while循环一般需要定义一个标志位&#xff0c;用来开始和结束循环 flag True 注意&#xff1a;这里的True一定要大写&#xff0c;否则无法识别 当要循环结束的时候 flag False 例子 # 遍历所有的子列表&#xff0c;找出列表之和为最大的列表 d…

notepad++

目录 notepad标签自动补齐notepad安装插件&#xff1a;Emmet 和 Python Script第 1 步&#xff0c;安装emmet第 2 步&#xff0c;安装 Python Script第 3 步 更改快捷键 安装html代码格式化插件tidy21 安装2 使用2.1 效果 notepad快捷键 notepad标签自动补齐 1 2 3 打标签时…

MySQL数据库备份与恢复:物理备份和逻辑备份详解

MySQL数据库的备份与恢复是数据库管理中至关重要的一环&#xff0c;它确保了数据的安全性和可恢复性。在本文中&#xff0c;我们将深入讨论如何进行MySQL数据库的备份和恢复&#xff0c;并详解物理备份和逻辑备份的概念及区别。 1. 如何备份和恢复MySQL数据库&#xff1f; 1.…

编写函数求定积分的通用函数

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 不积跬步无以至千里&#xff0c;…