当前位置: 首页 > news >正文

学习笔记——动态路由——RIP(距离矢量协议)

一、距离矢量协议

1、距离矢量协议

矢量行为:协议收到一个路由之后,查看是否可以加入到本地的路由表中,如果可以加入,则可以传递,如果不可以加入,则无法传递。

距离矢量路由协议

RIP基于距离矢量算法(又称为Bellman-ford)路由以矢量(Distance,Direction)的方式通告

周期性更新:每个路由器周期性地向直接相连的其他路由器发送自己的路由表。

2、路由泛洪

泛洪路由表:路由器将从邻居学习到的路由放进自己的路由表中,然后将路由表所有路由信息在通告给其他路由器,直到整个网络学习到。

1)路由表形成

RIP启动时,初始路由表仅包含直连路由,然后通过设备互相学习更新路由表假设两个路由器R1和R2相连,路由表形成过程如下:

首先,RIP协议启动之后,R1会向相邻路由器广播一个请求报文

其次,R2收到R1请求报文后,将自己的RIP路由表封装在响应报文中,以组播形式发出

最后,R1从R2响应报文中学习新的路由,更新到自己的路由表中

2)路由信息更新

定期更新:每隔30秒通过UDP 520端口广播方式向邻居路由器发送一个路由更新包。

触发更新:网络拓扑发生变动路由器会立即发送一个更新信息个邻居路由器,并以此产生出发更新通知它们的邻居路由器。

因此,当网络出现故障时,要经过较长的时间才能将信息传达所有路由器,即坏消息传播慢。

路由学习过程:路由器学习直连路由。(C代表直连路由)(下图)

所有路由器均配置RIP。更新周期30秒到,路由器会向邻居发送路由表。(下左图)

     

再过30秒,第二个更新周期到了,再次发送路由表。(上右图)

3、路由环路

路由环路:是指网络中产生矛盾的路由条目导致数据包在网络中不断地循环传输,始终到达不了目的地的现象。

当192.168.3.0网络突然出现故障时,Router3中对应的路由信息被删除,Router2需要等待定时器超时才会删除该路由,在定时超时前,Router2仍认为192.168.3.0可达。

此时,若Router2先向Router3发送更新信息,则情况如(下图):RIP路由环路产生示意图

      

1)Router2向Router3发送更新报文,报文中包含目的网络为192.168.3.0的路由信息;

2)Router3收到更新报文,学习192.168.3.0网络的路由,认为通过Router2可以到达192.168.3.0

3)此时,Router2中去往192.168.3.0的下一跳为Router3,Router3中去往192.168.3.0的下一跳为Router2,形成路由环路。


整个华为数通学习笔记系列中,本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记,某些笔记段落中可能有部分文字或图片与网络中有雷同,并非抄袭。完处于学习态度,觉得这段文字更通俗易懂,融入了自己的学习笔记中。如有相关文字涉及到某个人的版权利益,可以直接联系我,我会把相关文字删除。【VX:czlingyun    暗号:CSDN】

相关文章:

学习笔记——动态路由——RIP(距离矢量协议)

一、距离矢量协议 1、距离矢量协议 矢量行为:协议收到一个路由之后,查看是否可以加入到本地的路由表中,如果可以加入,则可以传递,如果不可以加入,则无法传递。 距离矢量路由协议 RIP基于距离矢量算法(又…...

【python】OpenCV—Segmentation

文章目录 cv2.kmeans牛刀小试 cv2.kmeans cv2.kmeans 是 OpenCV 库中用于执行 K-Means 聚类算法的函数。以下是根据参考文章整理的 cv2.kmeans 函数的中文文档: 一、函数功能 cv2.kmeans 用于执行 K-Means 聚类算法,将一组数据点划分到 K 个簇中&…...

python-题库篇-Python语言特性

文章目录 Python语言特性1 Python的函数参数传递2 Python中的元类(metaclass)3 staticmethod和classmethod4 类变量和实例变量5 Python自省6 字典推导式7 Python中单下划线和双下划线8 字符串格式化:%和.format9 迭代器和生成器10 *args and **kwargs11 面向切面编程AOP和装饰器…...

WEB界面上使用ChatGPT

(作者:陈玓玏) 开源项目,欢迎star哦,https://github.com/tencentmusic/cube-studio 随着大模型不断发展,现在无论写代码,做设计,甚至老师备课、评卷都可以通过AI大模型来实现了&…...

【Matlab】CNN-LSTM分类 卷积神经网络-长短期记忆神经网络组合模型(附代码)

资源下载: https://download.csdn.net/download/vvoennvv/89466499 分类算法资源合集:https://download.csdn.net/download/vvoennvv/89466519 目录 Matlab SVM支持向量机分类算法 Matlab RF随机森林分类算法 Matlab RBF径向基神经网络分类算法 Ma…...

性能工具之 MySQL OLTP Sysbench BenchMark 测试示例

文章目录 一、前言二、测试环境1、服务器配置2、测试拓扑 三、测试工具安装四、测试步骤1、导入数据2、压测数据3、清理数据 五、结果解析六、最后 一、前言 做为一名性能工程师掌握对 MySQL 的性能测试是非常必要的,本文基于 Sysbench 对MySQL OLTP(联…...

【QT】QCustomPlot库中iSelectPlottables的使用

QCP::iSelectPlottables 是 QCustomPlot 库中的一个枚举值,用于控制选择交互。QCustomPlot 是一个用于创建绘图和数据可视化的Qt库。 QCP::iSelectPlottables 允许用户选择图表中的绘图对象(如图形、曲线、柱状图等)。 应用场景 QCP::iSele…...

字节跳动联手博通:5nm AI芯片诞生了?

字节跳动联手博通:5nm AI芯片诞生了? 前言 就在6月24日,字节跳动正在与美国博通合作开发一款5纳米工艺的专用集成电路(ASIC) AI处理器。这款芯片旨在降低采购成本并确保高端AI芯片的稳定供应。 根据报道,尽管芯片设计工作进展顺利…...

【数据结构与算法】动态查找表(二叉排序树,二叉平衡树)详解

二叉排序树的数据结构。 struct TreeNode {ElemType data;TreeNode *left, *right; }; using BiTree TreeNode *;结构体包含三个成员: data 是一个 ElemType 类型的变量,用于存储二叉搜索树节点的数据。left 是一个指向 TreeNode 类型的指针&#xff…...

PyTorch中“No module named ‘torch._six‘“的报错场景及处理方法

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引入 在使用PyTorch时,您可能会遇到"No module named ‘torch._six’"的错误。这通常是因为PyTorch的某些…...

Spring Boot 集成 MinIO 实现文件上传

Spring Boot 集成 MinIO 实现文件上传 一、 Minio 服务准备 MinIO的搭建过程参考 Docker 搭建 MinIO 对象存储。 登录MinIO控制台&#xff0c;新建一个 Bucket&#xff0c;修改 Bucket 权限为公开。 二、MinIO 集成 添加 MinIO 依赖 <!-- https://mvnrepository.com/ar…...

目标跟踪——KCF源码用python实现

from numpy.fft import fft2, ifft2, fftshift import cv2 import numpy as npclass HOG:def __init__(self, winSize):""":param winSize: 检测窗口的大小"""self.winSize winSizeself.blockSize (8, 8)self.blockStride (4, 4)self.cellSiz…...

前端 转换笔记

<!DOCTYPE html> <html> <head> <meta charset"utf-8" /> <title>转换</title> <style> .box{ /* 盒子摆在body的正中间 */ position: absolut…...

个人开发笔记

开发笔记 开发常见问题Vue开发中页面flex滚动布局&#xff0c;内容置顶问题功能快捷键 开发常见问题 Vue开发中页面flex滚动布局&#xff0c;内容置顶问题 直接操作路由&#xff1a; const router createRouter({routes: routes,history: createWebHashHistory(),scrollBeha…...

pdf压缩,pdf压缩在线,pdf文件太大怎么变小

在数字化时代&#xff0c;PDF文档因其跨平台、保持原样、易于阅读和打印等特点&#xff0c;成为了我们日常工作和生活中不可或缺的一部分。然而&#xff0c;随着PDF文件的不断累积&#xff0c;存储空间逐渐变得紧张&#xff0c;特别是在处理大量大型PDF文件时&#xff0c;如何有…...

Go 如何使用指针灵活操作内存

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...

【面试干货】Java中的++操作符与线程安全性

【面试干货】Java中的操作符与线程安全性 1、什么是线程安全性&#xff1f;2、 操作符的工作原理3、 操作符与线程安全性4、如何确保线程安全&#xff1f;5、 结论 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在Java编程中&#xff0c;操…...

NLP学习与踩坑记录(持续更新版)

NLP学习与踩坑记录&#xff08;持续更新版&#xff09; OSError: Cant load tokenizer for bert-base-uncased.google.protobuf.message.DecodeError: Error parsing messageDeepspeed 本博客记录了博主在学习NLP时遇到了各种各样的问题与解决方法&#xff0c;供大家参考&#…...

Java也能做OCR!SpringBoot 整合 Tess4J 实现图片文字识别

文章目录 1. 环境准备1.1 安装 Tesseract OCR 引擎1.2 引入 Tess4J 依赖 2. 创建 Spring Boot 项目2.1 初始化项目2.2 目录结构 3. 编写 OCR 功能代码3.1 创建服务层3.2 创建控制器层 4. 配置 Tesseract 语言包5. 运行和测试5.1 启动 Spring Boot 应用5.2 使用 Postman 或 cURL…...

微信小程序常用标签及其用法

大家好&#xff0c;我是linzi&#xff0c;今天我来给大家分享一下微信小程序一些个常用的标签及其用法 1. <view> 标签 <view> 标签是小程序中最常用的标签之一&#xff0c;用于组织和布局页面上的内容&#xff0c;类似于HTML中的 <div> 标签。 <view …...

Keil µVision多目标配置与条件编译实战指南

1. 项目概述 在嵌入式开发中&#xff0c;我们经常会遇到一个实际需求&#xff1a;如何基于同一套源代码生成多个不同的程序版本&#xff1f;这个问题看似简单&#xff0c;但在Keil Vision这样的集成开发环境中&#xff0c;却涉及到项目管理、编译配置和条件编译等多个技术要点。…...

Blender 3MF插件终极指南:如何在Blender中实现3D打印文件的完美导入导出

Blender 3MF插件终极指南&#xff1a;如何在Blender中实现3D打印文件的完美导入导出 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 想要在Blender中高效处理3D打印文件吗…...

【NotebookLM内容可信度跃迁关键】:如何用“证据锚定法”让讨论部分通过专家级评审?

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM讨论部分的可信度本质与评审标准 可信度的本质&#xff1a;语义对齐与溯源可验证性 NotebookLM 的讨论部分并非传统意义上的“生成式问答”&#xff0c;而是基于用户上传文档构建的语义索引…...

7B秒杀70B!大模型微调秘籍全解:从理论到实战,玩转高效适配!

本文系统介绍了大模型微调的理论框架与实践流程。阐述了微调的必要性&#xff0c;即弥补通用大模型在领域知识、输出格式及行为对齐上的不足&#xff0c;并说明微调效果可超越更大参数的未微调模型。文章深入解析了微调原理&#xff0c;对比了全参数微调与高效微调&#xff08;…...

CST仿真入门实战:Dipole天线结果解读与关键参数分析

1. Dipole天线仿真结果初探 第一次打开CST仿真软件完成Dipole天线仿真后&#xff0c;面对密密麻麻的结果图表&#xff0c;相信很多人都会感到无从下手。我刚开始接触电磁仿真时也是这样&#xff0c;盯着那些S参数曲线和远场辐射图发愣。其实读懂这些结果并不难&#xff0c;关键…...

GitLab SSH Key配置全流程复盘:从生成、复制到验证,一个命令解决‘Permission denied’

GitLab SSH Key配置全流程&#xff1a;从零开始到高效验证的完整指南 当你第一次在终端看到Permission denied (publickey)这个刺眼的红色错误时&#xff0c;那种挫败感我太熟悉了。三年前我刚接触GitLab时&#xff0c;花了整整一个下午才搞明白SSH Key配置的完整逻辑。本文将带…...

Linux内核PCIe热插拔驱动开发实战:从IDT芯片到稳定运行

1. 项目概述与核心价值最近在搞一个嵌入式设备项目&#xff0c;需要实现PCIe设备的热插拔支持。这玩意儿在服务器、存储阵列和工业控制领域太常见了&#xff0c;但真要在Linux内核里把它做稳定、做可靠&#xff0c;里面的门道可不少。我这次折腾的&#xff0c;就是一个基于Linu…...

从一次Keycloak弱口令通报说起:微服务架构下的密码管理‘避坑’全指南(附Docker Compose配置)

微服务架构下的密码安全实践&#xff1a;从Keycloak弱口令到全局防护体系 1. 当安全工具成为攻击入口&#xff1a;一次真实事件复盘 去年某科技公司的运维团队收到了一份来自监管部门的网络安全通报——部署在公有云上的Keycloak服务遭到境外IP爆破攻击。攻击者仅用"admin…...

告别环境焦虑:用 Conda 在 Ubuntu 上轻松管理 JAX (CPU/GPU) 和 TensorFlow 的多个版本

告别环境焦虑&#xff1a;用 Conda 在 Ubuntu 上轻松管理 JAX (CPU/GPU) 和 TensorFlow 的多个版本 深度学习框架的版本冲突问题&#xff0c;一直是开发者心中的痛。你是否经历过这样的场景&#xff1a;昨天还能正常运行的 TensorFlow 项目&#xff0c;今天更新了 CUDA 驱动后就…...

告别UUID!用Apache Commons Lang3的RandomStringUtils生成更灵活的随机字符串(Java实战)

告别UUID&#xff01;用Apache Commons Lang3的RandomStringUtils生成更灵活的随机字符串&#xff08;Java实战&#xff09; 在Java开发中&#xff0c;生成随机字符串的需求无处不在——从用户邀请码、临时密码到订单编号&#xff0c;我们经常需要快速生成一串既随机又可读的字…...