ISIS(中间系统到中间系统)——基础

news2025/7/11 19:33:00

ISIS是一项通用的动态路由协议,其隶属于链路状态路由协议,最初运行与OSI七层的网络层,采用组播地址224.0.0.14和224.0.0.15两个组波段,由于其较高的拓展性与高速收敛,被大多数运营商网络所使用

起源

ISIS最初是由国际标准化组织(ISO)为CLNP网络设计的动态路由协议,也就是最早运行于OSI七层模型,它的设计目标是在大型网络中提供高效的路由选择和快速收敛。

1989年,IETF发布了RFC 1195,将ISIS扩展到支持TCP/IP网络,形成了集成ISIS(Integrated ISIS),这使得ISIS能够在IP网络中提供路由服务,与OSPF等协议竞争,其独特的设计也确定其通常被运用于运营商网络当中

NSAP与NET

NSAP(网络服务访问点)用于资源定位,而NET(网络实体名称)用于标识设备,两者组成成分大致相同,区别就在于其NET的SEL段为00,两者长度上都是可变的,长度范围在8B到20B

NSAP组成部分如下图,我们可以大致分为两部分,IDP和DSP

IDP(Initial Domain Part)相当于IP地址的主网络号

        AFI:用于标识分配机构与地址格式

        IDI:用于标识区域

DSP(Domain Specific Part)相当于IP地址的子网号和主机地址

        HODSP:用于分割区域

        SystemID:用于区分主机,全局只能有一个

        SEL:服务类型

对于NET来说,其组成成分大致,将IDP和HODSP合起来组成Area Address,用于标识路由域和路由域中的区域,其重作用相当于OSPF中的区域编号,值得注意的是在ISIS中,最多可以配置3个不同的区域地址

IP地址与SystemID

没错IP地址与SystemID可以转换,IP是4B,SystemID是6B,于是将IP地址的十进制化每一个位置为3位,不够的在前面补零,在重新排列4个数字一起最后划分结果即为十进制的SystemID

比如192.168.1.1,经过变化后为192.168.001.001,然后重新规划,SystemID为1921.6800.1001

路由器等级与角色

L1

一级路由器,该路由器只具有一级路由器区域的路由,只会与同区域的L1或者L1/2路由器建立邻居,共同组成ISIS的普通区域

L1/L2

一二级路由器,该路由器具有整个ISIS域的路由,会和L1/2,同区域的L1和L2路由器建立连接

L2

二级路由器,该路由器具有二级路由器区域的路由,会和L2,L1/2路由器建立邻居关系,共同组成ISIS的骨干区域

DIS

指定路由器,与OSPF的DR有点像,其用于创建伪节点并负责LSP的生成,但其优先级为0时仍然参加选举,选举规则如下

        1.比较接口优先级,高为优先

        2.SNPA最大的优先(LAN网络为MAC,FM网络为DLCI)

        3.SystemID大者最优

并且DIS具有抢占性,并且DIS具有更短的Hello间隔和更短的超时时间,是普通路由器的1/3

值得注意的是,由于ISIS中所有路由器建立的都是邻接关系,LSP定期泛洪到整个ISIS区域,而且有10s的检测机制,DIS的故障并不会影响整体网DIS提供伪节点,可将网络拓扑化简,减缓网络信息内容传递,节约设备性能

如图为伪节点的工作原理

网络类型

ISIS支持广播和P2P两种网络类型,对于不同网络类型,ISIS制订了不同的报文来进行其信息传递,而且P2P网络与广播类型网络中传输报文并不相同,邻居的建立也不尽相同

报文

将另外详解,本篇仅为提及

IIH(Hello)

 按照网络类型分为点到点IIH和LAN IIH

而IIH又分为L1 IIH,L2 IIH,顾名思义,L1 IIH服务于L1路由器之间的邻居建立,L2 IIH服务于L2路由器之间的邻居建立,而P2P IIH服务于P2P网络中路由器之间的邻居建立

LSP

用于构建链路数据库,同样分为L1 LSP和L2 LSP,两类LSP具有相同结构

SNP

序列号报文,分为CSNP(完整序列号报文)和PSNP(部分序列号报文),依照路由器等级又可以细分为L1 CSNP,L2 CSNP,L1 PSNP,L2 PSNP

计时器

最大生存时间:1200s(timer lsp-max-age),可取2-65535s,但不建议修改,因为这个值要一致才有效果

LSP刷新时间:900s(timer lsp-refresh)

LSP连续生成间隔:5s(timer lsp-generation)

LSP传输间隔:50ms

CSNP发送间隔:10s(isis timer csnp)

总结

作为路由协议,其在华为设备的优先级是15,其与ospf相似但侧重点不同,被运营商广泛运用

本文介绍其对路由器标识使用的NET以及路由器的等级划分,简单提及了其报文和计时器,对于详细通讯过程没有太多介绍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2307648.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DeepSeek 开源狂欢周(二)DeepEP深度技术解析 | 解锁 MoE 模型并行加速

在大模型时代,Mixture-of-Experts (MoE) 模型凭借其强大的容量和高效的计算能力,成为研究和应用的热点。然而,MoE 模型的训练和推理面临着巨大的专家并行通信挑战。近日,DeepSeek 开源了 DeepEP 项目,为解决这一难题提…

Linux网络之传输层协议(UDP,TCP协议)

目录 重新认识端口号 端口号划分 netstat pidof UDP协议 UDP的特点 面向数据报 UDP的缓冲区 全双工和半双工 TCP协议 TCP的特点 TCP报头分析 源端口,目标端口,数据偏移(报文首部长度) 序号 确认号 窗口 6个标志位 ACK SYN …

HTML第二节

一.列表 1.列表的简介 2.无序列表 注:1.ul里面只能放li,不能放标题和段落标签 2.li里面可以放标题和段落等内容 3.有序列表 4.定义列表 注:要实现上图的效果需要CSS 二.表格 1.表格介绍 注:1.th有额外的效果,可以…

坐标变换及视图变换和透视变换(相机透视模型)

文章目录 2D transformationScaleReflectionShear(切变)Rotation around originTranslationReverse变换顺序复杂变换的分解 齐次坐标(Homogenous Coordinates)3D transformationScale&TranslationRotation Viewing / Camera t…

Vue 表单优化:下拉框值改变前的确认提示与还原逻辑实现

在开发表单类功能时,我们经常需要对用户的重要操作进行确认提示,以避免误操作导致的数据丢失或错误。本文将通过一个实际案例,介绍如何在 Vue 中实现下拉框值改变前的确认提示,并在用户取消操作时还原原始值。 场景描述 在项目中…

使用mermaid查看cursor程序生成的流程图

一、得到cursor生成的流程图文本 cursor写的程序正常运行后,在对话框输入框中输入诸如“请生成扫雷的代码流程图”,然后cursor就把流程图给生成了,但是看到的还是文本的样子,保留这部分内容待用 二、注册一个Mermaid绘图账号 …

(八)趣学设计模式 之 装饰器模式!

目录 一、 啥是装饰器模式?二、 为什么要用装饰器模式?三、 装饰器模式的实现方式四、 装饰器模式的优缺点五、 装饰器模式的应用场景六、 装饰器模式 vs 代理模式七、 总结 🌟我的其他文章也讲解的比较有趣😁,如果喜欢…

JVM线程分析详解

java线程状态: 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。 线程对象创建…

毕业项目推荐:基于yolov8/yolo11的野生菌菇检测识别系统(python+卷积神经网络)

文章目录 概要一、整体资源介绍技术要点功能展示:功能1 支持单张图片识别功能2 支持遍历文件夹识别功能3 支持识别视频文件功能4 支持摄像头识别功能5 支持结果文件导出(xls格式)功能6 支持切换检测到的目标查看 二、数据集三、算法介绍1. YO…

DeepSeek 助力 Vue3 开发:打造丝滑的页眉(Header)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…

PHP应用程序设计:一个实际的例子(3)

使应用程序适用于网络 如果你正好计划用P H P开发你自己的服务程序(或者其他一些相似的东西),请重新思考一下。你可能已经对这些思想有些迷惑了:实现一个聊天服务程序意味着实现一个网络服务程序。这是我们实际上介绍给大家的东西…

RabbitMQ 的介绍与使用

一. 简介 1> 什么是MQ 消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。 其主要用途:不同进程Process/线程T…

OpenCV给图像添加噪声

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 如果你已经有了一张干净的图像,并希望通过编程方式向其添加噪声,可以使用 OpenCV 来实现这一点。以下是一个简单的例子&a…

Elasticsearch:使用阿里云 AI 服务进行嵌入和重新排名

作者:来自 Elastic Toms Mura 将阿里云 AI 服务功能与 Elastic 结合使用。 更多阅读,请参阅 “Elasticsearch:使用阿里 infererence API 及 semantic text 进行向量搜索”。 在本文中,我们将介绍如何将阿里云 AI 功能与 Elastics…

管理后台环境配置

后端配置及启动 a. 软件安装 1. Java sdk 1.8 2. maven 3.6 3. intellij IDEA 2024 4. Visual C Redistributable 5. mongodb 7.0 6. mysql 8.0 双击安装:mysql-installer-community-8.0.41.0.msi 版本选择:Full,包括服务器和客户端 …

数字IC低功耗后端设计实现之power gating和isolation技术

考虑低功耗设计需求,下图中间那个功能模块是需要做power domain的,即这个模块需要插MTCMOS。需要开启时,外面的VDD会和这个模块的LOCAL VDD形成通路,否则就是断开即power off状态。 这些低功耗设计实现经验,你真的懂了…

【网络编程】几个常用命令:ping / netstat / xargs / pidof / watch

ping:检测网络联通 1. ping 的基本功能2. ping 的工作原理3. ping 的常见用法4. ping 的输出解释5. ping 的应用场景6. 注意事项 netstat:查看网络状态 1. netstat 的基本功能2. 常见用法3. 示例4. 输出字段解释5. netstat 的替代工具6. 注意事项 xargs&…

sqlilab 46 关(布尔、时间盲注)

sqlilabs 46关(布尔、时间盲注) 46关有变化了,需要我们输入sort,那我们就从sort1开始 递增测试: 发现测试到sort4就出现报错: 我们查看源码: 从图中可看出:用户输入的sort值被用于查…

《Effective Objective-C》阅读笔记(下)

目录 内存管理 理解引用计数 引用计数工作原理 自动释放池 保留环 以ARC简化引用计数 使用ARC时必须遵循的方法命名规则 变量的内存管理语义 ARC如何清理实例变量 在dealloc方法中只释放引用并解除监听 编写“异常安全代码”时留意内存管理问题 以弱引用避免保留环 …

穷举vs暴搜vs深搜vs回溯vs剪枝(典型算法思想)—— OJ例题算法解析思路

回溯算法的模版 void backtrack(vector<int>& path, vector<int>& choice, ...) {// 满⾜结束条件if (/* 满⾜结束条件 */) {// 将路径添加到结果集中res.push_back(path);return;}// 遍历所有选择for (int i 0; i < choices.size(); i) {// 做出选择…