ISIS的3级别(level-1、level-2、level-1-2)4大类(IIH、LSP、CSNP、PSNP)9小类与邻接关系建立LSP交互过程介绍

news2024/10/5 22:22:34

2.2.0 ISIS 4种报文类型IIH、LSP、CSNP、PSNP、邻居建立过程、交互LSP过程

ISIS的3级别4大类9小类

ISIS拥有3种级别的路由器,分别是level-1、level-2、level-1-2

不同级别之间进行交互的报文也是有所区别的,常规的ISIS报文分有4大类IIH、LSP、CSNP、PSNP

基于不同级别之间交互的报文可以细分为9小类,ISIS设备通过通用报头中的PDU Type来识别报文类型:

在这里插入图片描述

类型简称
15level-1 IIH
16level-2 IIH
17P2P IIH
18level-1 LSP
20level-2 LSP
24level-1 CSNP
25level-2 CSNP
26level-1 PSNP
27level-2 PSNP

IIH报文介绍

作用:用于建立与维护邻接关系

  • 关于ISIS的邻接关系说法:OSPF中2way为邻居、Full为邻接,但在ISIS中没有建立邻居关系这说法,通常都是说建立邻接关系。

  • 关于IIH有3种小类:L1 IIH、L2 IIH、P2P IIH,因为ISIS工作在广播类型中时需要进行选举DR设备(ISIS中称为DIS),P2P类型网络时使用另一种IIH类型报文进行交互。

  • 修改ISIS链路类型为P2P:isis circuit-type p2p,删除该命令则恢复默认的广播类型。

报文格式

在这里插入图片描述
在这里插入图片描述

LSP报文介绍

作用:用于交换链路状态信息,基于LSDB添加相应的TLV内容到LSP中进行传递,与OSPF的LSU相似。

报文格式

  • Variable Length Fields就是TLV字段,内含TLV信息。

在这里插入图片描述

在这里插入图片描述

CSNP报文介绍

作用:用于发送自己的路由摘要信息,与OSPF的DD报文相似。

报文格式

  • 在广播网络上,CSNP由DIS定期发送(缺少的发送周期为10秒)。
  • 在点到点网络上,CSNP只在第一次建立邻接关系时发送。因为广播中路由器过多,LSDB参差不齐,故DIS负责周期性发送CSNP,使得缺少路由的设备自行发送PSNP申请。而在P2P网络中仅有一个对端更新发送的LSP信息对端也能直接通过PSNP回复确认,不需要通过CSNP进行申请。
    在这里插入图片描述

在这里插入图片描述

PSNP报文介绍

作用:用于请求与确认路由信息,类似OSPF的LSR与LSACK。

  • 当收到CSNP对比自己LSDB数据库发现缺少部分信息时,通过PSNP请求缺少的LSP。
  • P2P网络类型下,当收到LSP确认无误后,使用PSNP对收到的LSP进行确认【经过实验,几乎不能在广播类型下看到PSNP报文】。

报文格式

在这里插入图片描述

在这里插入图片描述

邻接建立过程

有的时候也会称为邻居建立过程,但并不会有太大的影响。

关于ISIS的邻接建立原则

1、只有同一级别相邻的路由器才有可能成为邻接关系,因为L1只能与同区域的L1与L1/2建立。

2、链路两端ISIS接口的网络类型必须一致,已知不同接口网络类型的报文会不一样所以会造成对端无法识别并建立邻接。

3、链路两端ISIS接口的地址必须同一网段(默认情况下),因为P2P网络中接口地址可不同段通讯(前面学过的NCP自动协商地址)。

(默认情况下)链路两端ISIS接口的地址必须处于同一个网段

(P2P链路下)链路两端ISIS接口地址不同段也能建立邻接

由于ISIS是工作在数据链路层上的协议,设计给CLNP使用的,所以ISIS邻接关系的形成与IP地址无关。

但为什么说默认情况下无法建立ISIS邻接呢?

》因为链路默认是广播型以太网网络,当设备通过ISIS报文中TLV的Type(132)可知对方的IP地址,如果地址与自己不同段,将无法正常通信。而PPP链路不一样,它拥有NCP协商功能,可以实现不同网段的通信。

1、邻接关系建立

通过交互IIH报文进行建立邻接关系,IIH以组播的方式发送,不同级别路由器发送的IIH组播地址有所不同。

默认情况下IIH的发送间隔为10秒。

广播网络类型中

L1级别的IIH组播地址:01:80:C2:00:00:14

L2级别的IIH组播地址:01:80:C2:00:00:15

P2P网络类型中

L1、L2的IIH组播地址都是:09:00:2B:00:00:05

广播网络三次握手建立邻接

关于邻接关系建立过程中的状态机

1、Down, 没有收到邻居IIH包时处于Down状态。

2、Initiated, 收到邻居IIH包,但是在Hello包中没有发现自己的信息,也称为one-way状态。

3、Up,收到邻居IIH,并发现自己的信息。

在这里插入图片描述

关于ISIS广播类型中的DIS

IDS(Designated Intermediate System)指定中间系统,用于创建和更新伪节点,生成伪节点的LSP,描述这个网络中有哪些网络设备

1、DIS选举:level-1、level-2的DIS是分别进行选举的,互不影响,与MSTP多实例生成树根桥选举相似。

2、DIS的选举规则:DIS优先级大的优先,如果优先级一样MAC大的成为DIS。

修改接口DIS优先级命令:isis dis-priority 120,默认优先级为64。

3、DIS发送IIH间隔:是常规IIH发送间隔三分之一即2~3秒,这样可以确保DIS出现故障时能够更快的被其它设备发现。
在这里插入图片描述

DIS与OSPF中的DR区别

1、在ISIS广播网络中,优先级为0的路由器也参与DIS的选举。而OSPF中优先级为0的路由器不会参与DR选举。

2、在ISIS广播网络中DIS具备抢占能力,新加入最优的路由器可马上成为新的DIS,原有伪节点将被删除,同时引起LSP泛洪。而OSPF中新加入的路由器默认不具备抢占能力。

3、在ISIS广播网络中,同一网段的同一级别的路由器之间可形成邻接关系,即非DIS路由器也能与非DIS路由器建立邻接。而在OSPF中,DROther只能与DR、BDR建立邻接关系。

点到点网络二次握手建立邻接

华为设备默认点到点网络使用三次握手建立的方式,关于两次握手机制存在明显的缺陷,华为设备在点到点网络中使用IS-IS时,默认使用三次握手建立邻接关系。

缺陷:可能存在单点故障的情况,因为只要收到对端IIH报文就单方面变为Up状态,随后进行交互报文。而此时如果另一端故障则Up状态的一端仍会持续发送报文直至IIH超时。

1、点到点网络中,邻接关系的建立使用两次握手方式:只要路由器收到对端发来的IIH报文,就单方面宣布邻接为Up状态,建立邻接关系。
在这里插入图片描述

2、点到点网络中,使用三次握手的方式则与广播类型的一样。

在这里插入图片描述

3、接口模式中通过命令修改握手次数:

interface g0/0/0
# 修改为两次握手
isis ppp-negotiation 2-way

# 修改为三次握手(默认为三次握手)
isis ppp-negotiation 3-way

# 默认三次握手可兼容对端为两次握手,如果设置only则不兼容
isis ppp-negotiation 3-way only

2、路由信息交互

广播网络进行LSP同步

如下图,新加入设备R3默认发送关于自己的LSP报文,随后等待DIS周期发送的CSNP报文,通过CSNP使用PSNP请求自己所缺少的LSP信息。

当DIS收到CSNP请求之后,回复LSP给R3,由于是广播型网络R3并不需要回复PSNP对收到的LSP进行确认。

广播型网络下,PSNP只 起到请求的效果,无需确认。

(因为广播型网络下DIS,每10秒发送一次CSNP报文)

在这里插入图片描述

点到点网络进行LSP同步

当双方建立完成邻接关系之后,会有其中一端优先发出CSNP摘要信息。

如下图,由R1发送CSNP摘要信息给R2,R2收到CSNP后发送PSNP请求缺少的LSP信息。

R1收到PSNP请求后,回复LSP。R2收到LSP检查无误之后回复PSNP确认。

PPP网络上,由于没有DIS进行周期发送CSNP信息,所以需要使用到PSNP进行确认。

在这里插入图片描述

关于PSNP请求与PSNP确认的判断

通过PSNP的序列号进行判断

1、PSNP中的seq序列号为0表示PSNP请求

在这里插入图片描述

2、PSNP中的seq序列号非0表示PSNP确认(对序列号的LSP进行确认)

在这里插入图片描述

如何进行抓包看到现象呢?

1、需要抓PSNP请求的报文,就需要在广播型的ISIS网络中进行抓包。

在这里插入图片描述

2、需要抓PSNP确认的报文,就需要在点到点的ISIS网络中进行抓包。

在这里插入图片描述

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

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

相关文章

cubeIDE开发, stm32人工智能开发应用实践(Cube.AI).篇一

一、cube.AI简介及cubeIDE集成 1.1 cube.AI介绍 cube.AI准确来说是STM32Cube.AI,它是ST公司的打造的STM32Cube生态体系的扩展包X-CUBE-AI,专用于帮助开发者实现人工智能开发。确切地说,是将基于各种人工智能开发框架训练出来的算法模型&#…

Vue3商店后台管理系统设计文稿篇(六)

记录使用vscode构建Vue3商店后台管理系统,这是第六篇,从这一篇章开始,所有的预备工作结束,正式进入商店后台管理系统的开发 文章目录一、创建后台管理系统的标题栏二、安装Icon 图标三、创建Menu菜单正文内容: 一、创…

PowerShell 学习笔记:操作JSON文件

JSON文件(字符串)是有一定格式要求的文本文件。百度百科JSON(JavaScriptObject Notation, JS对象简谱)是一种轻量级的数据交换格式。它基于 ECMAScript(European Computer Manufacturers Association, 欧洲计算机协会制…

初识Linux常见指令汇总

文章目录前言1.对文件或目录的常用指令1.查看当前路径下的文件或目录相关信息2.进入指定路径3.创建删除文件或者目录4.使用nano简单编辑文件查看文件属性5.复制移动重命名文件或目录6.输入输出重定(查看文件内容)向和搜索查找1.输入输出重定向2.搜索查找7.打包压缩文件2.时间相…

如何使用Maven构建Java项目?Maven的使用详细解读

文章目录1. 前言2. Maven 快速入门2.1 Maven 项目模型2.2 Maven 仓库3. Maven的安装配置3.1 安装3.2 配置环境变量3.4 Maven 配置4. Maven 的常用命令4.1 编译4.2 清理4.3 打包4.4 测试4.5 安装5. Maven生命周期6. 总结Java编程基础教程系列:1. 前言 在 Java 开发中…

C++初阶:list类

文章目录1 list介绍2 list的模拟实现2.1 类的定义2.2 默认成员函数2.2.1 构造函数2.2.2 析构函数2.2.3 拷贝构造2.2.4 赋值重载2.3 迭代器2.3.1 正向迭代器2.3.2 反向迭代器2.4 修改接口2.4.1 任意位置插入2.4.2 任意位置删除2.5 其他接口2.5.1 尾插2.5.2 头插2.5.3 尾删2.5.3 …

3.7-2动态规划--图像压缩(举例子和写代码)

3.7动态规划--图像压缩_昵称什么的不存在的博客-CSDN博客 问题描述(再写一遍) 这篇文章是接着上面这一篇写的,就是写一个例子方便理解,模拟填写数组的过程 l: l[i]存放第i段长度, 表中各项均为8位长,限制了相同位数的…

CGAL 点云精配准之ICP算法

文章目录 一、简介二、相关参数三、实现过程三、举个栗子四、实现效果参考资料一、简介 ICP算法总共分为6个阶段,如下图所示: (1)挑选发生重叠的点云子集,这一步如果原始点云数据量比较巨大,一般会对原始点云进行下采样操作。 (2)匹配特征点。通常是距离最近的两个点,…

如何批量增加视频的音量(ffmpeg)

问题背景 由于之前爷爷的唱戏机充不进去电,过年时给爷爷买了个新的。但这个新买的机子,它的曲目(视频)在U盘里,声音普遍较低,我爷爷的耳朵不好,声音需要比正常的声音调大一些。 在Videolouder这…

【数据结构和算法】认识线性表中的链表,并实现单向链表

本文接着上文,上文我们认识了线性表的概念,并实现了静态、动态顺序表。接下来我们认识一个新概念链表。并实现单向链表的各种操作。顺序表还有不明白的看这一篇文章 (13条消息) 【数据结构和算法】实现线性表中的静态、动态顺序表_小王学代码的博客-CSDN…

leetcode--链表

链表1.链表的基本操作(1)反转链表(206)(2) 合并两个有序链表(21)(3)两两交换链表中的节点(24)2.其它链表技巧(1)相交链表(160)(2)回文链表(234)3.练习&#x…

力扣 2293. 极大极小游戏

题目 给你一个下标从 0 开始的整数数组 nums ,其长度是 2 的幂。 对 nums 执行下述算法: 设 n 等于 nums 的长度,如果 n 1 ,终止 算法过程。否则,创建 一个新的整数数组 newNums ,新数组长度为 n / 2 &…

手把手带初学者快速入门 JAVA Web SSM 框架

博主也是刚开始学习SSM,为了帮大家节省时间,写下SSM快速入门博客 有什么不对的地方还请 私信 或者 评论区 指出 ​只是一个简单的整合项目,让初学者了解一下SSM的大致结构 项目先把框架写好,之后在填写内容 项目压缩包 完整的蓝奏…

浅谈phar反序列化漏洞

目录 基础知识 前言 Phar基础 Phar文件结构 受影响的函数 漏洞实验 实验一 实验二 过滤绕过 补充 基础知识 前言 PHP反序列化常见的是使用unserilize()进行反序列化,除此之外还有其它的反序列化方法,不需要用到unserilize()。就是用到了本文…

C 语言零基础入门教程(十一)

C 数组 C语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。 数组的声明并不是声明一个个单独的变量,比如 runoob0、runoob1、…、runoob99&#xf…

【Linux】调试器 - gdb 的使用

目录 一、背景知识 二、debug 与 release 1、生成两种版本的可执行程序 2、debug 与 release 的区别 三、gdb 的使用 1、调试指令与指令集 2、源代码显示、运行与退出调试 3、断点操作 4、逐语句与逐过程 5、调试过程中的数据监视 6、调试过程中快速定位问题 一、背…

吴恩达机器学习笔记(三)逻辑回归

机器学习(三) 学习机器学习过程中的心得体会以及知识点的整理,方便我自己查找,也希望可以和大家一起交流。 —— 吴恩达机器学习第五章 —— 四、逻辑回归 线性回归局限性 线性回归对于分类问题的局限性:由于离群点…

LeetCode动态规划经典题目(九):入门

学习目标: 了解动态规划 学习内容: 1. LeetCode509. 斐波那契数https://leetcode.cn/problems/fibonacci-number/ 2. LeetCode70. 爬楼梯https://leetcode.cn/problems/climbing-stairs/ 3. LeetCode746. 使用最小花费爬楼梯https://leetcode.cn/proble…

ice规则引擎==启动流程和源码分析

启动 git clone代码 创建数据库ice,执行ice server里的sql,修改ice server的配置文件中的数据库信息 启动ice server 和ice test 访问ice server localhost:8121 新增一个app,默认给了个id为1,这个1可以看到在ice test的配置文件中指定…

MP503空气质量气体传感器介绍

MP503空气质量气体传感器简介MP503空气质量气体传感器采用多层厚膜制造工艺,在微型Al2O3陶瓷基片的两面分别制作加热器和金属氧化物半导体气敏层,封装在金属壳体内。当环境空气中有被检测气体存在时传感器电导率发生变化,该气体的浓度越高&am…