计算机网络——第五章网络层笔记(4)

news2025/7/10 3:37:08

距离矢量路由选择协议(DV算法)

每个路由器维护一张表,表中列出了当前已知的到每个目标的最佳距离,以及为了到达那个目标,应该从哪个接口转发。

DV算法是动态的和分布式的,它常被用于小型网络,例子:RIP就是一个典型的DV。

每个路由器(节点)维护两个向量,Di和Si,分别表示从该路由器到其它路由器的距离以及相应的下一跳。

在邻居路由器之间交换路由信息(矢量),每个路由器(节点)根据收到的矢量信息,更新自己的路由表。

di1:从节点i到节点1的度量(代价)

Si1:沿着从节点i到节点1的最优路径上的下一跳

n:网络中的节点数,节点从1、2、......、n

优点:简单

缺点:交换的信息太大了,路由信息传播慢,可能导致路径信息不一致、收敛慢、度量计数到无穷、路由环、不适合大型的网络。

链路状态路由协议(LS)

主要思想:

       1、发现它的邻居节点们,了解它们的网络地址。(当一个路由器启动的时候,在每个点到点的线路发送一个特别的HELLLO分组,收到HELLO分组的路由器应该回送一个应答,应答中有它自己的名字)

        2、设置到它的每个邻居的成本度量。(为了决定线路的开销,路由器发送一个特别的ECHO分组, 另一端立刻回送一个应答;通过测量往返时间(roundtrip time),发送路由器可以获得一个合理的延迟估计值,了得到更好的结果,可多次测量,取均值;一种常用的选择,与链路带宽成反比)

        3、构造一个分组,包含它所了解到的所有信息。

链路状态分组构造后被发送给其他的路由器,分组中包含这些信息:发送方的标识、序列号、年龄、邻居列表、到邻居的成本/量度。

        4、发送这个分组给所有其他的路由器。

         5、计算到每个路由器的最短路径。

基本算法:

        1、每个分组都包含一个序列号,序列号随着新分组产生而递增。

         2、路由器记录下他看见的所有(源路由器, 序列号)对。

优点:每个路由器的认识一致、收敛快、适合在大型网络里使用。

缺点:每个路由器需要较大的存储空间,计算负担很大。

开放的最短路径优先(OSPF)

方法:使用图(graph)来表示真实的网络,每一个路由器都是一个节点,测量代价/量度。

概述:

1、OSPF是一种基于开放标准的链路状态路由协议,是目前IGP中应用最广、性能最优的一个协议。

2、OSPF可以在大型网络中使用。

3、无路由自环。

4、OSPF支持VLSM、CIDR等。

5、0使用带宽作为度量值(10^8/BW)。

6、收敛速度快。

7、通过分区实现高效的网络管理。

划分区域

所有子区域必须连到区域01上。

 OSPF运行步骤

1、建立路由器毗邻关系。

2、选举DR和BDR。(DR故障则BDR接替DR成为新的DR)

3、发现路由。

4、选择最佳路由。

5、维护路由信息。

SPF算法

为什么说OSPF克服了路由自环?

 无类域间路由(CIDR)

一、IP地址的问题

 好处:缓解地址枯竭的趋势,控制甚至缩短了路由表的开销。

基本思想:分配IP地址的时候不再以类别分,而是按照可变长的地址块来分配(按需分配)。

 路由表扩展

1、增加32bit子网掩码。

2、路由表表项(IP address,subnet mask,outgoing line)。

当一个分组到来时:

1、分组中的目标IP地址(Destination IP)被检查

2、目标IP和子网掩码进行与操作,得到网络地址。查找路由表。

3、若路由表中有许多表项匹配,选子网掩码最长的那个表项。

例子:

例子

 

​​​​​​​ 

 

 集合:

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

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

相关文章

开发时长一年半golang工程师应该具备什么样的技术能力?

一、为什么会有人选择golang? 其实无非是被动和主动。 **被动:**面试新公司后,被领导调岗现学golang,因为公司需要。 **主动:**觉得这个方向有前景,大厂有需求,学了可以升职加薪! 所以不管…

visual studio连接远程开发

一、问题提出 vscode在连接远程调试时不知道如何调试cmake,研究了半天没研究出来,因此决定使用visual studio进行调试。 二、安装 Linux端 cmake版本最低为3.11,可以从此网站下载:https://cmake.org/files/v3.11/ 之前安装的visu…

怎么样恢复移动硬盘格式化的数据呢?

怎么样恢复移动硬盘格式化的数据呢? 这是一个让人很困扰的问题,其实格式化后的数据可以使用牛学长数据恢复工具一键恢复数据,它可以快速识别指定存储介质中所有丢失的文件,操作简单且恢复成功率高。 其工作原理只会提取原有数据&…

安装mayavi

mayavi是一款可视化工具,知乎说直接pip install mayavi不好使,所以我就直接没试,我直接试的好使的。 下面的链接是一个各种依赖包的地址,点开进去之后找mayavi https://link.zhihu.com/?targethttps%3A//www.lfd.uci.edu/~gohlke…

详解Unity中的新版Nav Mesh|导航寻路系统 (一)

前言 之前我们讲解过Unity的Nav Mesh系统,其中提到过这个新版的Nav Mesh,它解决现有Nav Mesh的几个缺陷,比如无法动态烘焙,无法按照Agent的半径和高度适当的判断可行路径。现在新版Nav Mesh可以彻底解决这个问题!某种…

Android Studio 插件开发2、网络请求、创建dialog、trello获取cardId等

网络请求 点击这里就出来一个弹框 更新Actions 关注这个 <actions><action id"TrelloAction"class"com.anguomob.anguo.actions.trello.TrelloAction"text"TrelloAction"description"Move a trello card from to do to the next …

大神带你玩转异步编程,理论与实践齐飞,敢说是目前最全的讲解了

要完全理解异步编程需要先理解几个概念 任务 我给任务的定义是完成某项功能的单元模块&#xff0c;任务有大有小&#xff0c;站在操作系统的角度&#xff0c;一个程序就是一个任务&#xff0c;每当运行一个程序就会创建一个新的任务&#xff0c;它在操作系统中还有一个无人不…

软件需求分析——需求工程过程

如果有兴趣了解更多相关内容&#xff0c;可以来我的个人网站看看&#xff1a;瞳孔空间 一&#xff1a;相关概念 需求工程过程的目的&#xff1a;介绍为软件加强型系统中的复杂软件设计的需求工程过程&#xff0c;涉及 抽取需求分析需求验证需求管理需求 主要关注点&#xf…

Isaac-gym(7):物理模拟(actor生成、创建、控制等)

1. 创建actor 1.1 actor的创建与句柄 actor是GymAsset的实例。函数create_actor将一个参与者添加到环境中&#xff0c;并返回一个参与者句柄&#xff0c;该句柄可用于以后与该参与者交互。出于性能原因&#xff0c;最好在actor创建期间保存句柄&#xff0c;而不是在模拟运行时…

[同向双指针] 209. 长度最小的子数组 713. 乘积小于 K 的子数组 3. 无重复字符的最长子串

同向双指针 该文结合灵神讲解进行编码&#xff1a;https://www.bilibili.com/video/BV1hd4y1r7Gq 该类滑动窗口一般符合某种单调性。 当不满足条件时左指针后移&#xff0c;当满足条件时右指针后移。 假设数组长度为 n&#xff0c;左指针最多移动 n 次&#xff0c;右指针最…

【无人机】基于RRT算法实现四旋翼无人机的安全和最小能量轨迹规划附matlab代码和报告

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

Linux安装RabbitMQ步骤分享

1、Erlnag安装 1.1、 安装Erlang版本要求 Erlang安装需要对应各自的版本 RabbitMQ Erlang Version Requirements — RabbitMQ 1.2、 Erlang安装 1、目录准备 cd /usr/local/src/ mkdir rabbitmq cd rabbitmq2、添加仓库地址 为了减少安装的错误 我们使用仓库安装 ,类似于m…

【算法篇-数论】快速幂

快速幂1. 利用快速幂优化的时间复杂度2. 快速幂方法及代码3.总结文章参考自 B站董晓算法 1. 利用快速幂优化的时间复杂度 所谓的快速幂就是快速计算底数的n次幂暴力求幂的话时间复杂度为O&#xff08;n&#xff09; 利用快速幂可以做到 时间复杂度为 O(log2n) 2. 快速幂方法…

操作系统4小时速成:I/O管理,spooling脱机技术,设备分配,分配数据结构,IO调度,IO子系统,IO控制方式,IO分类

操作系统4小时速成&#xff1a;I/O管理&#xff0c;spooling脱机技术&#xff0c;设备分配&#xff0c;分配数据结构&#xff0c;IO调度&#xff0c;IO子系统&#xff0c;IO控制方式&#xff0c;IO分类 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xf…

一、什么是 MQ

MQ的概念 MQ &#xff08;Message Queue&#xff09;消息队列&#xff0c;是在消息传输过程中存储消息的容器。多用于分布式系统之间的通信。 队列是基础数据结构中 “先进先出” 的一种数据结构。 消息对列&#xff0c;指把要传输的数据消息放在队列中&#xff0c;用队列机制…

SpringBoot:速成总结+实战——员工管理系统

这篇文章先是总结SpringBoot&#xff0c;当然我很多源码都没有仔细的去抠&#xff0c;而且这样一个成熟的框架想都不用想就知道源码很复杂&#xff0c;先学框架怎么用。接着就用SpringBoot完成一个较为简单的项目&#xff1a;员工管理系统。 目录端口号被占用怎么办什么是Sprin…

Hadoop总结——Hadoop基础

一、Hadoop是什么 Hadoop是一个由Apache基金会所开发的分布式系统基础架构 主要解决&#xff0c;海量数据的存储和海量数据的分析计算问题 广义上来说&#xff0c;Hadoop通常是指一个更广泛的概念——Hadoop生态圈 二、Hadoop发展历史 1&#xff09;Lucene--Doug Cutting开…

python中深拷贝和浅拷贝的区别

文章目录值的引用浅拷贝可变数据类型与不可变数据类型不可变数据类型可变数据类型深拷贝深拷贝浅拷贝总结若将需要注释若干行&#xff0c;则将这些行选中&#xff0c;然后按住 ctrl / 键就可以了&#xff0c;再按一次&#xff0c;即可取消多行注释若要批量缩进&#xff0c;那么…

磷脂酰丝氨酸 猪脑(phosphatidylserine,PS)试剂级;丝氨酸磷脂

磷脂酰丝氨酸&#xff08;phosphatidylserine&#xff0c;PS&#xff09;又称丝氨酸磷脂&#xff0c;二酰甘油酰磷酸丝氨酸&#xff0c;简称PS&#xff0c;是一类普遍存在的磷脂&#xff0c;通常位于细胞膜的内层&#xff0c;磷酯化合物中的磷酸甘油酯类&#xff0c;是细胞膜组…

QGIS创建要素与属性

QGIS之矢量操作——创建要素与属性 创建要素 打开常用的工具条&#xff1a;View—Toolbar 这样常用的工具条就加载进来了 新建矢量图层&#xff0c;并设置字段等等&#xff1a; 创建属性&#xff0c;选中你的矢量图层&#xff0c;右键选择Toggle_Editing&#xff08;或者点击…