当前位置: 首页 > 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则以其分层路由和双协议栈的特性,在大型电信网络和多协议网络中发挥着重要作用。它的快速收敛和高效路由计算能力,使其成为复杂企业网络的理想选择。

相关文章:

  • ViT:4 Pruning
  • 2024.06.22【读书笔记】丨生物信息学与功能基因组学(第十七章 人类基因组 第二部分)【AI测试版】
  • reflutter工具实践之--xx一番赏app
  • 卤货商家配送小程序商城是怎样的模式
  • docker desktop for mac os如何使用本地代理
  • SpringBoot Gradle和Vue 两个项目结构进行解释,说明其作用
  • MySQL支持的四种隔离级别
  • 【Linux】线程池
  • 【Linux】系统文件IO·文件描述符fd
  • Zookeeper 集群的应用场景
  • 【docker1】指令,docker-compose,Dockerfile
  • 刷题——比较版本号
  • Android招聘市场技术要求越来越高,从事三年开发是否应该考虑转行?
  • 【React 】折叠面板,点击展开时再请求数据
  • STM32CubeIDE提示找不到头文件(No such file or directory)的解决办法
  • 【译】JS基础算法脚本:字符串结尾
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • C++类的相互关联
  • css选择器
  • Facebook AccountKit 接入的坑点
  • Github访问慢解决办法
  • JavaScript学习总结——原型
  • leetcode46 Permutation 排列组合
  • React Native移动开发实战-3-实现页面间的数据传递
  • Spring核心 Bean的高级装配
  • Zepto.js源码学习之二
  • 搞机器学习要哪些技能
  • 将回调地狱按在地上摩擦的Promise
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 一些css基础学习笔记
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 追踪解析 FutureTask 源码
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (2024,LoRA,全量微调,低秩,强正则化,缓解遗忘,多样性)LoRA 学习更少,遗忘更少
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (转) Face-Resources
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)memcache、redis缓存
  • (转载)Linux 多线程条件变量同步
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET Micro Framework初体验
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .NET中winform传递参数至Url并获得返回值或文件
  • .secret勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
  • @Value读取properties中文乱码解决方案
  • [20150707]外部表与rowid.txt
  • [24年新算法]NRBO-XGBoost回归+交叉验证基于牛顿拉夫逊优化算法-XGBoost多变量回归预测
  • [Android Studio] 开发Java 程序