ISIS协议
ISIS协议基础
- 简介
- 应用场景
- 路由计算过程
- 地址结构
- 路由器分类
- 邻居Hello报文
- 邻居关系建立
- DIS及DIS与DR的类比
- 链路状态信息的载体
- 链路状态信息的交互
- 路由算法
- 网络分层路由域
- 区域间路由
简介
与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的类比链路状态信息的载体链路状态信息的交互路由算法网络分层路由域区域间路由简介…...

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提交;访问…...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...

基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

【Veristand】Veristand环境安装教程-Linux RT / Windows
首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...