网络协议——IS-IS协议详解

news2025/1/12 22:55:31
1. IS-IS是什么

        IS-IS是一种基于链路状态并使用最短路径优先算法进行路由计算的一种IGP协议。IS-IS属于内部网关协议,用于自治系统内部。IS-IS是一种链路状态协议,使用最短路径优先算法进行路由计算。

2. 应用场景(园区网和骨干网)

        园区网特点:区域多样、策略多变、调度精细。

        骨干网特点:区域扁平、收敛极快、承载庞大。

3. 基本原理

        邻居关系建立:邻居关系建立主要是通过HELLO包交互并协商各种参数,包括电路类型(level-1/level-2),Hold time,网络类型,支持协议,区域号,系统ID,PDU长度,接口IP等。

        链路信息交换:与OSPF不同,ISIS交互链路状态的基本载体不是LSA(link state advertisement),而是LSP(link state PDU);交互的过程没有OSPF协议那样经历了多个阶段,主要是通过CSNP和PSNP两种协议报文来同步,请求以及确认链路状态信息(承载的是链路状态信息摘要),而链路状态信息的详细拓扑和路由信息是由LSP报文传递。

        路由计算:SPF计算和OSPF基本一样的,但ISIS算法分离了拓扑结构和IP网段,加快了网络收敛速度。

4. P2P ISIS邻居建立机制

        两次握手机制:两次握手只要路由器收到对端发来的Hello报文,就单方面宣布邻居为up状态,建立邻居关系,不过容易存在单通风险。

        三次握手机制:通过三次发送P2P的IS-IS Hello PDU最终建立起邻居关系,与广播链路邻居关系的建立情况相同。

5. NSAP地址

NSAP:是一种用于唯一标识网络中设备的地址格式。40字节的标准地址格式来表示一个网络节点

  1. AFI:占1个字节,用于标识地址的家族类型,例如IPv4或IPv6。
  2. IDI:占1个字节,用于标识地址的区域性域(区域ID)。
  3. ADI:占1个字节,用于标识地址的区域(区域ID)。
  4. DFI:占1个字节,用于标识地址的域特定部分(如子网或接口)。
  5. AA:占13个字节,用于标识地域内的特定范围。
  6. SEL:占6个字节,用于标识特定系统内的实体。
6. IS-IS路由器分类:

Level-1路由器:Level-1只能和level-1建立邻接关系,相同区域只能使用level-1建立邻接关系

Level-2路由器:Level-2只能和level-2建立邻接关系,不同区域只能使用level-2建立邻接关系

Level-1-2路由器:level1-2既可以和level-1建立邻接关系也可以和level-2建立邻接关系,

7. IS-IS报文包

                hello报文:邻居发现,协商对等体参数,邻居建立,邻居保持。

                广播网中的Level-1 IS-IS使用Level-1 LAN IIH,目的组播MAC为:0180-c200-0014。

                广播网中的Level-2 IS-IS使用Level-2 LAN IIH,目的组播MAC为:0180-c200-0015。

                非广播网络中则使用P2P IIH。但是其没有表示DIS(虚节点)的相关字段。

8. IS-IS支持的网络类型

                点对点网络类型(P2P)。

                广播多路访问网络类型(Broadcast Multiple Access)。

                在帧中继等特殊环境下,可以通过创建子接口支持P2P的网络类型。

9. DIS和伪节点

        DIS:是指指定中间系统(Designated IS)。

        伪节点:是指在广播网络中由DIS创建的虚拟路由器

        DIS特点:

          在广播网络,需要选举DIS,所以在邻居关系建立后,路由器会等待两个Hello报文间隔再进行DIS的选举。Hello报文中包含Priority 字段,Priority值最大的将被选举为该广播网的DIS。若优先级相同,接口MAC地址较大的被选举为DIS。IS-IS中DIS发送Hello时间间隔默认为10/3秒,而其他非DIS路由器发送Hello间隔为10秒

10. DISDR不同
  1. DIS中优先级为0也可以参与选举。OSPF中优先级为0不参与选举DR
  2. OSPF选举DR/BDR需要waiting time达40秒,过程也较为复杂,而ISIS选举DIS等待两个Hello报文间隔就可以,简单快捷。
  3. 选举结果ISIS只有一个DIS,但是OSPF除了有DR,还有一个BDR用做备份。
  4. 选举结束后,后期有新的Router加入到链路进来,如果优先级比DIS高是可抢占的,但是DR是不可抢占的。
  5. 选举完成后,ISIS网络链路内所有的路由器之间都建立的是邻接关系。OSPF中DRothers只与DR/BDR形成full邻接关系, DRothers之间只有2-way的关系。
11. DISDR作用
  1. 进行SPF计算时,都把它当成虚节点,简化MA网络的逻辑拓扑(相同点)。
  2. 都是为了减少LSP/LSA的泛洪(相同点)。
  3. 在ISIS中还可以由DIS发送CSNP来同步链路的LSDB(ISIS扩展作用)
  4. 链路状态信息载体:

        LSP PDU:用于交换链路状态信息。实节点LSP;伪节点LSP(只在广播链路存在)

        SNP PDU:用于维护LSDB 的完整与同步,且为摘要信息。CSNP(用于同步LSP);PSNP(用于请求和确认LSP)

12. P2P网络LSDB同步过程

        建立邻居关系之后,RTA与RTB会先发送CSNP给对端设备。如果对端的LSDB与CSNP没有同步,则发送PSNP请求索取相应的LSP。

        假定RTB向RTA索取相应的LSP,此时向RTA发送PSNP。RTA发送RTB请求的LSP的同时启动LSP重传定时器,并等待RTB发送PSNP作为收到LSP的确认。

        如果在接口LSP重传定时器超时后,RTA还没有收到RTB发送的PSNP报文作为应答,则重新发送该LSP直至收到RTB的PSNP报文作为确认。

13. MA网络中新加入的路由器与DIS 的LSDB同步交互过程

        假设新加入的路由器RTC已经与RTB(DIS)和RTA建立了邻居关系。

        建立邻居关系之后,RTC将自己的LSP发往组播地址(Level-1:01-80-C2-00-00-14;Level-2:01-80-C2-00-00-15)。这样网络上所有的邻居都将收到该LSP。

        该网段中的DIS会把收到RTC的LSP加入到LSDB中,并等待CSNP报文定时器超时(DIS每隔10秒发送CSNP报文)并发送CSNP 报文,进行该网络内的LSDB同步。

        RTC收到DIS发来的CSNP报文,对比自己的LSDB数据库,然后向DIS发送PSNP报文请求自己没有的LSP(如RTA和RTB的LSP就没有)。

        RTB作为DIS收到该PSNP报文请求后向RTC发送对应的LSP进行LSDB 的同步。

13. 路由算法

        路由计算的开销方式:

        Narrow模式(设备默认模式开销都是10,手工配置接口开销取值范围为1~63)。

        Wide模式(设备默认模式开销都是10,手工配置接口开销取值范围是1~16777215)。

14. IS-ISOSPF的差异

15. 配置命令

        基础命令:

创建IS-IS进程:IS-IS 1
配置网络实体名称:network-entity  49.0001.0000.0000.0001.00 (49.0001:代表区域;0000.0000.0001:systemID,每个路由器的唯一标识)
进入接口:interface GigabitEthernet0/0/1
接口开启IS-IS:IS-IS enable

        其他命令:

配置全局level级别:is-level ( level-1 | level-1-2 | level-2 )
配置接口Level级别:isis circuit-level ( level-1 | level-1-2 | level-2 )
设置接口类型为P2P:isis circuit-type p2p
修改接口DIS优先级:isis dis-priority  20
路由渗透:默认level1没有level2的路由,要想有路由,需要在level1-2中配置:Import-route isis level-2 into level-1

        查询命令:

查看IS-IS邻接关系:display is-is peer
查看IS-IS路由表:display is-is route

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

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

相关文章

IPAguard--iOS代码混淆工具(免费)

IPAguard是一款为iOS开发者设计的代码混淆工具,旨在为开发者提供方便制作和分析马甲包的解决方案。通过高效的匹配算法,IPAguard可以在保证代码混淆的同时,保证编译后的代码质量,减少了因混淆引起的bug,使得开发者能够…

Java学习-详述main方法、可变参数、数组的工具类、二维数组

详述main方法 【1】main方法:程序的入口,在同一个类中,如果有多个方法,那么虚拟机就会识别main方法,从这个方法作为程序的入口 【2】main方法格式严格要求: public static void main(String[] args){} p…

C#版Facefusion:让你的脸与世界融为一体!-01 人脸检测

C#版Facefusion:让你的脸与世界融为一体!-01 人脸检测 目录 说明 效果 模型信息 项目 代码 下载 说明 C#版Facefusion一共有如下5个步骤: 1、使用yoloface_8n.onnx进行人脸检测 2、使用2dfan4.onnx获取人脸关键点 3、使用arcface_w60…

Java——继承的初步认识

目录 一.为什么需要继承 二.继承概念 三.继承的语法 四.父类成员访问 1.子类中访问父类的成员变量 1.1子类和父类不存在同名成员变量 1.2子类和父类成员变量同名 2.子类中访问父类的成员方法 2.1成员方法名字不同 2.2成员方法名字相同 五.super关键字 六.子类构造…

【QT进阶】Qt Web混合编程之VS2019 CEF的编译与使用(图文并茂超详细介绍)

往期回顾 【QT入门】Qt自定义控件与样式设计之自定义QLineEdit实现搜索编辑框-CSDN博客 【QT入门】Qt自定义控件与样式设计之自定义QTabWidget实现tab在左,文本水平的效果-CSDN博客【QT进阶】Qt Web混合编程之CEF、QCefView简单介绍-CSDN博客 【QT进阶】Qt Web混合编…

敬请关注 | 第五届隆道数智大会——2024数字化采购与供应链发展论坛即将开幕

数智赋能 创新驱动 第五届隆道数智大会 ——2024数字化采购与供应链发展论坛 即将开幕! 近200位采购与供应链、数字技术领域 专家、学者及行业领军企业的实践者 将齐聚本届盛会 解读产业政策落地 聚焦采购与供应链数字化创新发展态势 探讨AI、大数据在企业…

聚观早报 | 小度推出DuerOS X;问界新M5开启预定

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 4月18日消息 小度推出DuerOS X 问界新M5开启预定 库克访问印尼 方程豹产品矩阵正式发布 苹果折叠屏iPhone新专利…

实验室信息系统源码 saas模式java+.Net Core版开发的云LIS系统全套源码可二次开发有演示

实验室信息系统源码 saas模式java.Net Core版开发的云LIS系统全套源码可二次开发有演示 一、技术框架 技术架构:Asp.NET CORE 3.1 MVC SQLserver Redis等 开发语言:C# 6.0、JavaScript 前端框架:JQuery、EasyUI、Bootstrap 后端框架&am…

Python 全栈 Web 应用模板:成熟架构,急速开发 | 开源日报 No.223

tiangolo/full-stack-fastapi-template Stars: 15.6k License: MIT full-stack-fastapi-template 是一个现代化的全栈 Web 应用模板。 使用 FastAPI 构建 Python 后端 API。使用 SQLModel 进行 Python SQL 数据库交互(ORM)。Pydantic 用于数据验证和设…

JavaSE——常用API进阶二(5/8)-JDK 8新增的时间API,LocalDate、LocalTime、LocalDateTime

目录 JDK 8新增的时间API LocalDate、LocalTime、LocalDateTime 获取对象的方案 案例演示 ​编辑 LocalDateTime的不同 常用API总结 为什么要学JDK 8 新增的时间? JDK 8之前传统的时间API 设计不合理,使用不方便,很多都被淘汰了。都…

Android 12 如何加载 native 原生库

在 Android 7.0 及更高版本中,系统库与应用库是分开的。 图1. 原生库的命名空间 原生库的命名空间可防止应用使用私有平台的原生 API(例如使用 OpenSSL)。该命名空间还可以避免应用意外使用平台库(而非它们自己的库)的…

openlayers 入门教程(七):Interactions 篇

目录 ​一、交互功能 二、defaults默认设置 三、使用交互功能 四、简单示例展示 1、draw 示例 2、 modify 示例 3、 select 示例 4、 Drag-and-Drop 示例 5、 DragPan示例 6、 DragZoom 示例 五、Openlayers 入门教程 -系列文章列表 Interaction是用来控制地图的&am…

STM32H7定时器TIM1-TIM17中断、PWM实现

STM32H7定时器TIM1-TIM17中断、PWM实现 高级定时器硬件框图定时器模式时基输出PWM定时器输入捕获 TIM1-TIM17的中断配置TIM1-TIM17的PWM输出 STM32H7 支持的定时器有点多,要简单的区分下。STM32H7 支持 TIM1-TIM8,TIM12-TIM17 共14 个定时器,…

Java | Leetcode Java题解之第36题有效的数独

题目&#xff1a; 题解&#xff1a; class Solution {public boolean isValidSudoku(char[][] board) {int[][] rows new int[9][9];int[][] columns new int[9][9];int[][][] subboxes new int[3][3][9];for (int i 0; i < 9; i) {for (int j 0; j < 9; j) {char …

ThreadLocal 原理及源码详解

什么是ThreadLocal&#xff1f; ThreadLocal 是一种提供线程本地变量&#xff08;也称为线程局部变量&#xff09;的类&#xff0c;这种变量确保了在不同的线程中访问同一个 ThreadLocal 变量时&#xff0c;每个线程会有一个该变量的私有副本&#xff0c;即使多个线程修改了相…

MATLAB环境下基于同步压缩变换重分配算子的瞬时频率估计

瞬时频率是表征非平稳信号特征的重要物理量&#xff0c;已经被广泛应用于桥梁振动检测、地震勘测、机械、电力系统、雷达、通信、医学等各个方面。瞬时频率的概念最早由Carson提出&#xff0c;后来&#xff0c;Gabor提出解析信号的定义&#xff0c;为瞬时频率的研究提供了新的方…

「不羁联盟/XDefiant」4月20号开启服务器测试,游戏预下载安装教程

XDefiant》开启Alpha测试&#xff0c;这是一款免费游玩的快节奏 FPS 竞技游戏&#xff0c;可选择特色阵营&#xff0c;搭配个性化的装备&#xff0c;体验 6v6 对抗或是线性游戏模式。高品质射击竞技端游XDefiant以6v6双边对抗为核心&#xff0c;对局模式分为区域与线性两大类&a…

【Spring】-编程式事务和声明式事务

spring中控制事务的方式有两种&#xff1a;编程式事务和声明式事务&#xff0c;今天我以两种事务出发&#xff0c;对spring中实现事务的EnableTransactionManagement和Transaction两个注解的底层原理进行讨论。 一、编程式事务 什么是编程式事务&#xff1f; 硬编码的方式实现…

数据结构-栈和队列刷题集(长期更新)

文章目录 万能计算器的实现以及源码分析1. leetcode 150 逆波兰表达式求值 万能计算器的实现以及源码分析 /*** 我们尝试写一个完整版的计算器,由于计算机不能很好的识别括号,所以一般要转换为逆波兰表达式求解* 思路解析 :* 1. 输入一个 中缀表达式* 2. 中缀表达式转化为list…

鸡汤笔记-致自己

《你只是看起来很努力》李尚龙 我们看起来每天熬夜&#xff0c;却只是拿着手机点了无数个赞&#xff1b;看起来在图书馆坐了一天&#xff0c;却真的只是坐了一天&#xff1b;看起来买了很多书&#xff0c;只不过晒了个朋友圈&#xff1b;看起来每天很晚地离开办公室&am…