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

ISIS协议

ISIS协议基础

  • 简介
    • 应用场景
    • 路由计算过程
    • 地址结构
    • 路由器分类
    • 邻居Hello报文
    • 邻居关系建立
    • DIS及DIS与DR的类比
    • 链路状态信息的载体
    • 链路状态信息的交互
    • 路由算法
    • 网络分层路由域![在这里插入图片描述](https://img-blog.csdnimg.cn/9027c43b614a4399ae1f54e87a37f047.png)
    • 区域间路由

简介

与OSPF协议一样,ISIS协议也是一种基于链路状态并且使用最短路径优先算法进行路由计算的一种IGP协议。ISIS协议的兼容性很好,因为ISIS协议的所有数据包都采用TLV(Type Len Value)架构,不同的TLV可以对应不同的作用。

应用场景

在这里插入图片描述

  • 在园区网使用OSPF协议可以使得调度更加精细,还可以设置各种特殊区域,用于减轻设备负担,可以灵巧的调用多种策略。
  • 在骨干网中进行扁平化管理,不进行分层,也就不存在层层调用,可以达到收敛快的目的,由于设备的任务相当,所以可以承载的路由数目也变得更多。

路由计算过程

在这里插入图片描述
路由计算基本过程同OSPF,但还是有细微的差别,在同步数据库的过程中,ISIS发送的是LSP(PDU协议数据单元),不同于OSPF的LSA。

地址结构

在这里插入图片描述
关于地址结构,可以直接与OSPF进行类比,Area ID:可以类比于OSPF的区域号,System ID:可以理解为OSPF设备中的Router-id,最后的00是固定值。

路由器分类

  • ISIS路由器的三种类型
    • Level-1路由器(只能创建level-1的LSDB)
    • Level-2路由器(只能创建level-2的LSDB)
    • Level-1-2路由器(路由器的默认类型,可以同时创建level-1和level-2的LSDB)
      在这里插入图片描述
      其中level-1的设备只能与同种类型的设备建立邻接关系且区域ID必须一致,然而level-2的设备可以与不同类型的设备建立邻接关系即区域ID可以不一致。现在解释为什么level-1-2的设备可以同时创建level-1和level-2的LSDB:首先level-2设备可以与不同的设备建立邻接关系,然后level-1设备只能与相同类型的设备建立邻接关系,所以只能是让level-1-2设备的Area ID与level-1设备的Area ID一致,虽然如此,但是也可以与level-2类型设备建立邻接关系。所以level-1-2设备同时与level-1设备与level-2设备建立邻接关系,于是便同时有了level-1和level-2的LSDB。

邻居Hello报文

在这里插入图片描述
IIH就是ISIS Hello报文,在广播类型的网络中有两种类型Hello包,分别是level-1的和level-2的ISIS Hello包。

邻居关系建立

在这里插入图片描述

  • 点到点网络中:
    • 使用两次握手,最开始都是Down状态,当收到对端发来的IIH报文之后,立即变为UP状态,但是不会考虑自己发送的IIH报文对方是否可以收到,于是会产生单方向建邻居的现象。
  • 广播网络中:(必须是三次握手)
    • 在本端发送了IIH报文之后,只有等对端发送给自身的IIH报文中含有自身的系统ID时,才会到达UP状态,最后进行DIS的选举。

DIS及DIS与DR的类比

首先先看一张术语对照表:
在这里插入图片描述
IS-IS协议可以理解为Router到Router的协议,也就是路由器到路由器的协议。
ES直接理解为终端系统就可以。
DIS理解为OSPF中的DR角色。

  • DR用于减少邻接关系,减少LSA的更新,定期发送LSA,并且是触发更新。
  • 而DIS用于定期的发送DD报文,使得全网设备达到统一。
    在这里插入图片描述
    在ISIS中:
  • 选举优先级:所有的优先级都会参与选举;OSPF-DR中设置优先级为0可以不参与选举。
  • 选举等待时间:40s的等待时间用于保证所有的设备都进入选举状态。
  • 备份:没有备份。
  • 邻接关系:所有的设备之间都是邻接关系,也间接解释了为什么没有备份,因为所有设备都进行互联了,备份也就没有那么重要了。
  • 抢占性:会进行抢占。
  • 作用:周期性发送CSNP(等价于DD报文),保证MA网络中的LSDB同步。

链路状态信息的载体

  • LSP PDU——用于交换链路状态信息
    • 实节点LSP(普通路由器都可以发)
    • 伪结点LSP(只在广播链路存在,只有DIS进行发送)
  • SNP PDU——用于维护LSDB的完整与同步,且为摘要信息。
    • CSNP(用于同步LSP,可以理解为DD报文)
    • PSNP(用于请求和确认LSP,可以理解为LSR+LSAck)
      协议报文都分为Level-1和Level-2两种,在MA网络之中所有协议报文的目的MAC地址都是组地址:
      Level-1地址为:0180-C200-0014
      Level-2地址为:0180-C200-0015

链路状态信息的交互

在这里插入图片描述
P2P网络:

  • 首先有一方先发送CSNP(理解为DD报文)
  • 对端收到后会发送PSNP(请求自己LSDB中没有的LSP)
  • 随后更新对端未收到的报文
  • 这个时候如果对端发送的PSNP报文没有到达对端,等待重传计时器到期,就会重新更新LSP进行发送

广播网络,现在RTC新加入了这个ISIS的广播网络:

  • 首先先发送自身的LSP
  • DIS收到之后发送CSNP进行更新数据库给新加入的设备
  • 新加入的设备进行请求自身没有的LSP
  • DIS发送新设备没有的LSP
    MA的CSNP报文由DIS进行发送,时间默认为10s。

路由算法

在这里插入图片描述
虽然ISIS协议也是链路状态协议,但是并没有根据带宽来生成最终的转发路径树。ISIS将接口开销都默认设置为10,所以在端口不去考虑带宽,于是就都等价,最终生成了负载的路径树,可以通过手工修改接口的开销值进行改变路径。

网络分层路由域在这里插入图片描述

在ISIS中Level-2设备是骨干设备,level-1设备是非骨干设备。ISIS协议的区域边界是整个Router,OSPF协议的区域边界就是Router的接口。

区域间路由

在这里插入图片描述
简单说就是,L1路由器要去访问L2的设备时,L-1-2设备会产生给L1设备产生一条默认路由,指向L2区域。
L1设备只有自身的LSDB,但是L2设备有全部的LSDB。

相关文章:

ISIS协议

ISIS协议基础简介应用场景路由计算过程地址结构路由器分类邻居Hello报文邻居关系建立DIS及DIS与DR的类比链路状态信息的载体链路状态信息的交互路由算法网络分层路由域![在这里插入图片描述](https://img-blog.csdnimg.cn/9027c43b614a4399ae1f54e87a37f047.png)区域间路由简介…...

CRM系统哪种品牌的好?这五款简单好用!

CRM系统哪种品牌的好?这五款简单好用! CRM系统是指利用软件、硬件和网络技术,为企业建立一个客户信息收集、管理、分析和利用的信息系统。CRM系统的基础功能主要包括营销自动化、客户管理、销售管理、客服管理、报表分析等,选择合…...

QT_dbus(ipc进程间通讯)

QT_dbus(ipc进程间通讯) 前言: 参考链接: https://www.cnblogs.com/brt3/p/9614899.html https://blog.csdn.net/weixin_43246170/article/details/120994311 https://blog.csdn.net/kchmmd/article/details/118605315 一个大型项目可能需要多个子程序同…...

华为OD机试 - 数组排序(C++) | 附带编码思路 【2023】

刷算法题之前必看 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:https://blog.csdn.net/hihell/category_12199283.html 华为OD详细说明:https://dream.blog.csdn.net/article/details/128980730 华为OD机试题…...

字符串转换为二进制-课后程序(JAVA基础案例教程-黑马程序员编著-第五章-课后作业)

【案例5-4】 字符串转换为二进制 【案例介绍】 1.任务描述 本例要求编写一个程序,从键盘录入一个字符串,将字符串转换为二进制数。在转换时,将字符串中的每个字符单独转换为一个二进制数,将所有二进制数连接起来进行输出。 案…...

SpringIOC

一、为什么要使用Spring? Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。 为…...

Debezium系列之:基于数据库信号表和Kafka信号Topic两种技术方案实现增量快照incremental技术的详细步骤

Debezium系列之:基于数据库信号表和Kafka信号Topic两种技术方案实现增量快照incremental技术的详细步骤 一、需求背景二、增量快照技术实现的两种方案三、基于数据库信号表实现增量快照技术的原理1.基于水印的快照2.信令表3.增量快照4.连接起重启四、基于数据库信号表实现增量…...

华为OD机试 - 第 K 个最小码值的字母(Python) | 机试题+算法思路+考点+代码解析 【2023】

第 K 个最小码值的字母 题目 输入一个由n个大小写字母组成的字符串 按照 ASCII 码值从小到大进行排序 查找字符串中第k个最小 ASCII 码值的字母(k>=1) 输出该字母所在字符串中的位置索引(字符串的第一个位置索引为 0) k如果大于字符串长度则输出最大 ASCII 码值的字母所在…...

PointNet++训练自己的数据集(附源码)

本文针对PointNet强大的三维点云分类功能,详细讲解怎么训练自己的数据集,在此之前,需要确保已经能够跑通源码的训练和测试,如果没有,请参考PointNet的源码运行。数据放置1.1. 在mytensor_shape_names.txt中配置自己的分…...

ROS2可视化利器---Foxglove Studio

0. 简介 之前作者已经讲了《ROS1可视化利器—Webviz》,然后就有读者问,ROS2有没有可以使用的可视化工具呢,答案是肯定的,除了plotjuggler这种ROS1和ROS2通用的可视化利器,还有一种全平台通用的软件FoxgloveStudio&…...

python实战应用讲解-【语法基础篇】流程控制-控制流的元素及语句(附示例代码)

目录 控制流的元素 条件 代码块 程序执行 代码块嵌套 控制流语句 if 语句...

[蓝桥杯 2019 省 A] 外卖店优先级

蓝桥杯 2019 年省赛 A 组 G 题题目描述“饱了么”外卖系统中维护着 N家外卖店,编号 1 ∼ N。每家外卖店都有一个优先级,初始时 (0 时刻)优先级都为0。每经过 1 个时间单位,如果外卖店没有订单,则优先级会减少 1&#x…...

Jetson Xavier nx(ubuntu18.04)安装rtl8152网卡驱动和8192网卡驱动

含义 Bus 002 : 指明设备连接到哪条总线。 Device 003 : 表明这是连接到总线上的第二台设备。 ID : 设备的ID,包括厂商的ID和产品的ID,格式 厂商ID:产品ID。 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter:生产商名字和设备…...

Rocky 9.1操作系统实现zabbix6.0的安装部署实战

文章目录前言一. 实验环境二. 安装zabbix过程2.1. 安装zabbix源2.2 安装zabbix相关的软件2.3 安装数据库并启动2.4 开始初始化数据库:2.5 创建数据库实例及对应的用户2.6 导入官网提供的数据2.7 配置zabbix 服务的配置文件2.8. 启动服务2.9 从网页进行安装2.10 登陆…...

AQS-ReentrantLock

一、AQS 在 Lock 中,用到了一个同步队列 AQS,全称 AbstractQueuedSynchronizer,它是一个同步工具,也是 Lock 用来实现线程同步的核心组件。 1.AQS 的两种功能 独占和共享。 独占锁:每次只能有一个线程持有锁&#x…...

SpringCloud+Dubbo3 = 王炸 !

前言 全链路异步化的大趋势来了 随着业务的发展,微服务应用的流量越来越大,使用到的资源也越来越多。 在微服务架构下,大量的应用都是 SpringCloud 分布式架构,这种架构总体上是全链路同步模式。 全链路同步模式不仅造成了资源…...

机器学习主要内容的思维导图

机器学习 机器学习: 定义:能够从经验中学习从而能够 把事情不断做好的计算机程序 人工智能的一个分支和 实现方式 理论基础:概率论 数理统计 线性代数 数学分析 数值逼近 最优化理论 计算复杂理论 核心要素:数据 算法 模型 机器…...

嵌套走马灯Carousel

Carousel 的应用很广泛,基础用法这里不多做阐述,感兴趣的可以去element-gui了解Carousel 组件。 今天主要是梳理嵌套走马灯的逻辑,背景如下: 需要对项目做一个展示,项目可能有一个或多个,同时一个项目可能…...

实战——缓存的使用

文章目录前言概述实践一、缓存数据一致1.更新缓存类2.删除缓存类二、项目实践(商城项目)缓存预热双缓存机制前言 对于我们日常开发的应用系统。由于MySQL等关系型数据库读写的并发量是有一定的上线的,当请求量过大时候那数据库的压力一定会上…...

2023年中职网络安全竞赛跨站脚本渗透解析-2(超详细)

跨站脚本渗透 任务环境说明:需求环境可私信博主! 服务器场景:Server2126(关闭链接)服务器场景操作系统:未知访问服务器网站目录1,根据页面信息完成条件,将获取到弹框信息作为flag提交;访问服务器网站目录2,根据页面信息完成条件,将获取到弹框信息作为flag提交;访问…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率&#xff0c…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...

CSS | transition 和 transform的用处和区别

省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

算法打卡第18天

从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7…...

TJCTF 2025

还以为是天津的。这个比较容易,虽然绕了点弯,可还是把CP AK了,不过我会的别人也会,还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...