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

RIP、OSPF、IS-IS学习

文章目录

  • 前言
  • RIP路由信息协议
  • OSPF开放最短路径优先
  • IS-IS 中间系统到中间系统
  • 总结


前言

路由协议的种类繁多,每种协议都有其独特的特性、工作原理和适用场景。本文将重点介绍:RIP(路由信息协议)、OSPF(开放最短路径优先)和IS-IS(中间系统到中间系统)

RIP路由信息协议

(Routing Information Protocol)

特性

  • 基于距离向量:RIP使用跳数作为路由度量,简单直观。
  • 自动路由更新:周期性广播路由信息,无需手动配置。
  • 易于实施:配置简单,适合初学者和小型网络。
  • 有限的网络规模:由于跳数限制(最大15跳),不适合大型复杂网络。

工作原理

  1. 路由表初始化:路由器启动时,将所有未知目的地的路由设置为默认跳数16。
  2. 广播路由信息:路由器定期向所有邻居广播自己的路由表。
  3. 更新路由表:收到邻居的路由信息后,根据收到的距离和自己的路由表进行比较,如果收到的距离更小,则更新自己的路由表。
  4. 毒性逆转:如果收到的路由距离大于自己路由表中的距离加1,将其设置为不可达(跳数16)。
  5. 路由老化:如果长时间没有收到特定路由的更新,该路由将从路由表中删除。

应用场景

  • 小型办公网络:网络规模小,结构简单,易于管理和维护。
  • 教育机构:成本敏感,易于教授和学习。
  • 临时网络:如会议或展览,快速部署和配置。

OSPF开放最短路径优先

(Open Shortest Path First)
特性

  • 链路状态路由:每个路由器独立计算到达所有目的地的最短路径。
  • 区域支持:通过区域划分,减少路由信息的泛洪范围,提高效率。
  • 快速收敛:链路状态变化时,快速更新路由表,收敛速度快。
  • 支持VLSM和CIDR:适应不同长度的子网掩码,提高IP地址的利用率。

工作原理

  1. 维护LSDB:每个路由器维护一个链路状态数据库,记录网络的拓扑结构。
  2. Hello协议:通过Hello包发现邻居并建立邻接关系。
  3. 泛洪LSA:链路状态发生变化时,生成LSA并泛洪到所有路由器。
  4. Dijkstra算法:使用Dijkstra算法计算最短路径。
  5. 区域间路由:通过ABR(区域边界路由器)在不同区域间传递路由信息。

应用场景

  • 大型企业网络:需要快速收敛和高效路由的大型网络环境。
  • 服务提供商网络:需要支持大量用户和动态IP地址分配的网络。
  • 数据中心:需要高效率和可靠性的路由协议。

报文分类

  1. Hello报文
    • 功能:用于发现和维护同一网络内的邻居路由器关系。
    • 内容:包含路由器的Router ID、接口的IP地址、网络掩码、Hello间隔、路由器优先级等信息。
  2. DD报文(Database Description Packet)
    • 功能:用于描述路由器链路状态数据库(LSDB)的内容,是LSDB同步过程中的一部分。
    • 内容:包含路由器拥有的链路状态通告(LSA)的摘要信息,用于初始化和同步LSDB。
  3. LSR报文(Link-state Request Packet)
    • 功能:当路由器的LSDB不完整或需要更新时,通过LSR报文请求邻居路由器提供特定的LSA。
    • 内容:包含请求的LSA的LS type、Link State ID和Advertising Router的标识。
  4. LSU报文(Link-state Update Packet)
    • 功能:包含一个或多个链路状态通告(LSA),用于向邻居路由器通告链路状态变化或更新。
    • 内容:可以包含不同类型的LSA,如路由器LSA、网络LSA、ASBR-LSA等,是LSDB同步的关键部分。
  5. LSAck报文(Link-state Acknowledgement Packet)
    • 功能:对收到的LSU报文中的LSA进行确认,确保LSA的可靠传输。
    • 内容:对LSU报文中的每个LSA进行确认,如果收到的LSA是新的或更新的,LSAck报文会进行确认。

IS-IS 中间系统到中间系统

(Intermediate System to Intermediate System)
特性

  1. 分层路由:IS-IS使用两级路由体系,即Level-1和Level-2。Level-1路由器负责区域内路由,Level-2路由器负责区域间路由,Level-1-2路由器则同时具备两种功能。
  2. 快速收敛:IS-IS能够快速响应网络变化,因为它是基于链路状态的,所以当链路状态发生变化时,可以迅速计算出新的路由。
  3. 支持大规模网络:设计用于大型网络,IS-IS可以处理大量的路由信息,适用于大型服务提供商和企业网络。
  4. 双协议栈:原生支持IPv4和IPv6,使得IS-IS能够在一个网络中同时运行两种协议。
  5. 高效的路由计算:使用Dijkstra算法进行路由计算,确保找到最短路径。

工作原理

  1. 邻居发现:通过Hello协议建立邻居关系。
  2. 维护LSDB:每个路由器维护两个LSDB,分别对应Level-1和Level-2。
  3. LSP泛洪:使用LSP(链路状态PDU)泛洪链路状态信息。
  4. 路由计算:使用最短路径算法计算到达目的地的最佳路径。
  5. 区域间路由:通过L1/L2路由器在不同区域间传递路由信息。

应用场景

  • 大型电信网络:需要高效和可扩展的路由协议的大规模网络。
  • 多协议网络:需要同时运行IPv4和IPv6的网络环境。
  • 复杂的企业网络:具有多个层次和区域的大型企业网络。

总结

  • RIP以其简单直观的特性,适合小型网络和初学者使用。它的自动路由更新和易于实施的特点,使得在小型办公网络和教育机构中非常受欢迎。然而,由于其跳数限制,RIP并不适用于大型复杂网络。

  • OSPF作为链路状态路由协议,以其快速收敛和高效的路由计算而著称。它通过区域支持和VLSM/CIDR的适应性,为大型企业网络和服务提供商网络提供了强大的路由解决方案。OSPF的报文分类和功能,如Hello、DD、LSR、LSU和LSAck,共同确保了路由信息的准确传递和更新。

  • IS-IS则以其分层路由和双协议栈的特性,在大型电信网络和多协议网络中发挥着重要作用。它的快速收敛和高效路由计算能力,使其成为复杂企业网络的理想选择。

相关文章:

RIP、OSPF、IS-IS学习

文章目录 前言RIP路由信息协议OSPF开放最短路径优先IS-IS 中间系统到中间系统总结 前言 路由协议的种类繁多,每种协议都有其独特的特性、工作原理和适用场景。本文将重点介绍:RIP(路由信息协议)、OSPF(开放最短路径优…...

移植案例与原理 - build lite源码分析 之 hb命令__main__.py

hb命令可以通过python pip包管理器进行安装,应该是OpenHarmony Build的缩写,在python包名称是ohos-build。hb作为编译构建子系统提供的命令行,用于编译构建产品、芯片厂商组件或者单个组件。本文,我们来学习hb的源码。 1、hb的安…...

Leo赠书活动-26期 不同数据库背后的数据存储方案

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 赠书活动专栏 ✨特色专栏:…...

在Windows10中使用Vim

服务器没有图形界面,但是numpy包又需要调用图形界面接口,这样就导致了错误,搞得我只好先回windows开发。看来当年 Ubuntu桌面版也不算是多此一举啊。 这么多ide我还是喜欢vim,因为它真的太简单了。咱们这个老年机启动的也非常快&…...

【Python机器学习实战】 | 基于PCA主成分分析技术读入空气质量监测数据进行数据预处理并计算空气质量综合评测结果

🎩 欢迎来到技术探索的奇幻世界👨‍💻 📜 个人主页:一伦明悦-CSDN博客 ✍🏻 作者简介: C软件开发、Python机器学习爱好者 🗣️ 互动与支持:💬评论 &…...

学习java第一百零八天

Spring的AOP理解: OOP面向对象,允许开发者定义纵向的关系,但并不适用于定义横向的关系,会导致大量代码的重复,而不利于各个模块的重用。 AOP,一般称为面向切面,作为面向对象的一种补充&#xff…...

Linux通配符总结

Linux通配符总结 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在Linux系统中,通配符是一种用于匹配文件名或路径名的特殊字符。通过使用通配符&a…...

ffmpeg的安装教程

1.官网下载ffmpeg 进入Download FFmpeg网址,点击下载windows版ffmpeg(点击左下第一个绿色的行) 在release builds第一个绿框里面选择一个版本下载。 2.配置 下载完成后解压该压缩包单击进入ffmpeg\bin,会出现如下界面&#xff1…...

禅道身份认证绕过漏洞(QVD-2024-15263)复现

禅道项目管理系统在开源版、企业版、旗舰版的部分版本中都存在此安全漏洞。攻击者可利用该漏洞创建任意账号实现未授权登录。 1.漏洞级别 高危 2.漏洞搜索 fofa: title"禅道"3.影响范围 v16.x < 禅道 < v18.12 &#xff08;开源版&#xff09; v6.x <…...

深入分析 Android BroadcastReceiver (六)

文章目录 深入分析 Android BroadcastReceiver (六)1. 广播机制的高级优化策略1.1 使用 Sticky Broadcast&#xff08;粘性广播&#xff09;示例&#xff1a;粘性广播&#xff08;过时&#xff0c;不推荐&#xff09; 1.2 使用 LiveData 和 ViewModel 进行组件通信示例&#xf…...

mysql 查询的一般思路

能用单表优先用单表&#xff0c;即便是需要用group by、order by、limit等&#xff0c;效率一般也比多表高 不能用单表时优先用连接&#xff0c;连接是SQL中非常强大的用法&#xff0c;小表驱动大表建立合适索引合理运用连接条件&#xff0c;基本上连接可以解决绝大部分问题。…...

【Web APIs】DOM 文档对象模型 ⑤ ( 获取特殊元素 | 获取 html 元素 | 获取 body 元素 )

文章目录 一、获取特殊元素1、获取 html 元素2、获取 body 元素3、完整代码示例 本博客相关参考文档 : WebAPIs 参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/APIgetElementById 函数参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/API/Document/getE…...

Android11 以Window的视角来看FallbackHome的启动

在WMS中&#xff0c;使用WindowState代表着一个Window并维护着一个Window的"层级树"&#xff0c;每个Window需要按照"层级"的规则进行排列。对于FallbackHome&#xff0c;其Window是挂载在home task上&#xff0c;而home task挂载在DefaultTaskDisplayArea…...

9 RestClient客户端操作文档

1. match_all GetMapping("matchAll")public void matchAll() throws IOException {//1. 准备requestSearchRequest request new SearchRequest("hotel");//2. 组织DSL参数request.source().query(QueryBuilders.matchAllQuery());SearchResponse respon…...

『Z-Weekly Feed 08』加密资产观 | FHE应用前景 | OPAL协议

一位机构投资者的加密资产观 作者&#xff1a;Hongbo 01 &#x1f4a1;TL;DR 在加密投资领域如何找到真正的“价值”&#xff1a;Crypto 作为一种新兴资产&#xff0c;应该找到一种区别于传统公司股票资产的估值方法&#xff0c;本文重点阐述了加密货币作为新的资产类型与传统资…...

酒店预定系统

酒店预定系统本身设计过程中会遇到售卖系统两个常见问题&#xff0c;第一个同一个房间同一日期被多个订单预定&#xff0c;或者预定和库存数据不一致&#xff0c;这些都会涉及到金钱&#xff0c;需要在系统涉及是被重点考虑。 问题1:同一个房间同一个日期被多个订单预定 酒店…...

Redis的实战常用一、验证码登录(解决session共享问题)(思路、意识)

一、基于session实现登录功能 第一步&#xff1a;发送验证码&#xff1a; 用户在提交手机号后&#xff0c;会校验手机号是否合法&#xff1a; 如果不合法&#xff0c;则要求用户重新输入手机号如果手机号合法&#xff0c;后台此时生成对应的验证码&#xff0c;同时将验证码进行…...

基于Spring Boot的智能分析平台

项目介绍&#xff1a; 智能分析平台实现了用户导入需要分析的原始数据集后&#xff0c;利用AI自动生成可视化图表和分析结论&#xff0c;改善了传统BI系统需要用户具备相关数据分析技能的问题。该项目使用到的技术是SSMSpring Boot、redis、rabbitMq、mysql等。在项目中&#…...

HTML(13)——显示模式

目录 显示模式 块级元素 行内元素 行内块元素 转换显示模式 显示模式&#xff1a;标签的显示方式 作用&#xff1a;布局网页时&#xff0c;根据标签的显示模式选择合适的标签摆放内容 显示模式 块级元素 独占一行宽度默认为父级的100%添加宽高属性生效 行内元素 …...

【Spring】Spring Boot 快速入门

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统&#xff0c;它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间&#xff0c;使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的&#xff0c;要在 …...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...