一文搞懂IS-IS报文通用格式
报文格式
IS-IS报文是直接封装在数据链路层的帧结构中的。PDU可以分为两个部分,报文头和变长字段部分。其中头部又可分为通用头部和专用头部。对于所有PDU来说,通用报头都是相同的,但专用报头根据PDU类型不同而有所差别。
IS-IS的PDU有4种类型:Hello报文,LSP,CSNP,PSNP。
图1 IS-IS的PDU格式


所有的PDU都有相同的通用头格式:
图2 IS-IS通用报头格式


- Intradomain Routing Protocol Discriminator:域内路由选择协议鉴别符,设置为0x83。
- Length Indicator:PDU头部的长度(包括通用头部和专用头部),以字节为单位。
- Version/Protocol ID Extension:版本/协议标识扩展,设置为1(0x01)。
- ID Length:NSAP地址或NET中System ID区域的长度。值为0时,表示System ID区域的长度为6字节。值为255时,表示System ID区域为空(即长度为0)。
- R(Reserved):保留,设置为0。
- PDU Type:PDU的类型。IS-IS PDU共有9种类型,详细信息请参考下表。
- Version:设置为1(0x01)。
- Maximum Area Address:支持的最大区域个数。设置为1~254的整数,表示该IS-IS进程实际所允许的最大区域地址数;设置为0,表示该IS-IS进程最大只支持3个区域地址数。
| 类型值 | PDU类型 | 简称 |
|---|---|---|
| 15 | Level-1 LAN IS-IS Hello PDU | L1 LAN IIH |
| 16 | Level-2 LAN IS-IS Hello PDU | L2 LAN IIH |
| 17 | Point-to-Point IS-IS Hello PDU | P2P IIH |
| 18 | Level-1 Link State PDU | L1 LSP |
| 20 | Level-2 Link State PDU | L2 LSP |
| 24 | Level-1 Complete Sequence Numbers PDU | L1 CSNP |
| 25 | Level-2 Complete Sequence Numbers PDU | L2 CSNP |
| 26 | Level-1 Partial Sequence Numbers PDU | L1 PSNP |
| 27 | Level-2 Partial Sequence Numbers PDU | L2 PSNP |
CLV报文格式
PDU中的变长字段部分是多个CLV(Code-Length-Value)三元组。CLV也称为TLV(Type-Length-Value)。其格式如下图所示。
图3 CLV格式

不同PDU类型所包含的CLV是不同的。
| CLV Code | 名称 | 所应用的PDU类型 |
|---|---|---|
| 1 | Area Addresses | IIH、LSP |
| 2 | IS Neighbors(LSP) | LSP |
| 4 | Partition Designated Level2 IS | L2 LSP |
| 6 | IS Neighbors(MAC Address) | LAN IIH |
| 7 | IS Neighbors(SNPA Address) | LAN IIH |
| 8 | Padding | IIH |
| 9 | LSP Entries | SNP |
| 10 | Authentication Information | IIH、LSP、SNP |
| 128 | IP Internal Reachability Information | LSP |
| 129 | Protocols Supported | IIH、LSP |
| 130 | IP External Reachability Information | L2 LSP |
| 131 | Inter-Domain Routing Protocol Information | L2 LSP |
| 132 | IP Interface Address | IIH、LSP |
其中,Code值从1到10的CLV在ISO10589中定义(有2类未在上表中列出),其他几种CLV在RFC1195中定义。
报文示例
图4 IS-IS报文格式


参考标准
| 标准 | 描述 |
|---|---|
| ISO 10589 | ISO IS-IS Routing Protocol |
| RFC 1195 | Use of OSI IS-IS for Routing in TCP/IP and Dual Environments |
相关文章:
一文搞懂IS-IS报文通用格式
报文格式 IS-IS报文是直接封装在数据链路层的帧结构中的。PDU可以分为两个部分,报文头和变长字段部分。其中头部又可分为通用头部和专用头部。对于所有PDU来说,通用报头都是相同的,但专用报头根据PDU类型不同而有所差别。 IS-IS的PDU有4种类…...
位置参数 关键字参数
在Python中,函数参数可以按照位置或关键字来传递。这导致了两种主要的参数类型:位置参数和关键字参数。 位置参数: 这是最常见的参数类型,当我们调用函数时,传递给函数的参数值是按照它们的位置来确定的。例如,def fun…...
【果树农药喷洒机器人】Part5:基于深度相机与分割掩膜的果树冠层体积探测方法
文章目录 一、引言二、树冠体积测量对比方法2.1冠层体积人工测量法2.2冠层体积拟合测量法 三、基于深度相机与分割掩膜探测树冠体积方法3.1像素值与深度值的转换3.2树冠体积视觉探测法3.3实验分析 总结 一、引言 果树靶标探测是实现农药精准喷施的关键环节,本章以果…...
生活小妙招之UE custom Decal
因为这几年大部分时间都在搞美术,所以博客相关的可能会鸽的比较多,阿巴阿巴 https://twitter.com/Tuatara_Games/status/1674034744084905986 之前正好看到一个贴花相关的小技巧,正好做一个记录,也在这个的基础上做一些小的拓展…...
DAY02_Spring—第三方资源配置管理Spring容器Spring注解开发Spring整合Mybatis和Junit
目录 一 第三方资源配置管理1 管理DataSource连接池对象问题导入1.1 管理Druid连接池1.2 管理c3p0连接池 2 加载properties属性文件问题导入2.1 基本用法2.2 配置不加载系统属性2.3 加载properties文件写法 二 Spring容器1 Spring核心容器介绍问题导入1.1 创建容器1.2 获取bean…...
Icon图标有哪些在线设计的工具推荐
虽然icon图标相对较小,但icon图标在设计中非常重要。高质量的icon图标通常可以决定设计工作的质量。高质量的在线生产icon工具可以提高设计师图标设计的效率。此外,优秀的图标设计师还可以让设计师快速开始图标设计工作。本文为您选择了五种在线生成icon…...
深度学习环境安装依赖时常见错误解决
1.pydantic 安装pydantic时报以下错误: ImportError: cannot import name Annotated from pydantic.typing (C:\Users\duole\anaconda3\envs\vrh\lib\site-packages\pydantic\typing.py) 这个是版本错误,删除装好的版本,重新指定版本安装就…...
opencv基础47 查找图像轮廓cv2.findContours()详解
什么是图像轮廓? 图像轮廓是指图像中物体边缘的连续性曲线。在计算机视觉和图像处理中,轮廓通常被用于检测物体、分割图像以及提取物体特征。 图像轮廓是由一系列连续的像素点组成,这些像素点位于物体边界上。轮廓的特点是在物体和背景之间的…...
Splunk Enterprise for mac(可视化数据分析软件)详细安装教程
Splunk Enterprise for Mac是一款可视化数据分析软件,为你提供强大的搜索、 分析和可视化功能,可以帮助您获得有价值的业务情报,从你机器生成的数据。还在等什么?有需要的朋友,欢迎前来下载! 实时监测和搜…...
如何实现环卫项目运营的数字化管理,达到企业降本增效的目的?
数字环卫是指利用数字技术和数据驱动的方法来改善环卫流程和管理。数字环卫的底层逻辑在于利用技术来优化运营、提高效率并降低环卫项目管理成本。如何实现环卫工程运营数字化管理,达到降本增效的目标: 1.数据收集和分析:实施数据收集机制&a…...
React Native连接Zebra斑马打印机通过发送CPCL指令打印(Android 和 iOS通用)
自 2015 年发布以来,React Native 已成为用于构建数千个移动应用程序的流行跨平台移动开发框架之一。通常,我们有开发人员询问如何将 Link-OS SDK 与 React Native 应用程序集成,以便在 Zebra 打印机上打印标签。在本教程中,我们将…...
使用 Simulink 进行 STM32 编程
目录 介绍 所需材料 步骤 1:在MATLAB中设置STM32-MAT软件路径步骤 2:在STM32CubeMX中创建一个项目步骤 3:配置时钟和 GPIO 引脚步骤 4:项目经理并生成代码步骤 5:在 Simulink 中创建模型步骤 6:在模型中插…...
走出迷宫的最少步数and第一条出路
题面 题目描述 一个迷宫由 R 行 C 列格子组成,有的格子里有障碍物,不能走;有的格子是空地,可以走。 给定一个迷宫,求从左上角走到右下角最少需要走多少步(数据保证一定能走到)。只能在水平方向或垂直方向走,…...
MediaCodec创建对应解码器
媒体编解码API使用示例 //获取相关格式文件的内容信息,如轨道数量、获取MIME信息、视频的高度与宽度、语言格式、播放总时长等 MediaExtractor mediaExtractor new MediaExtractor(); try {mediaExtractor.setDataSource(path); // 设置数据源 } catch (IOExcept…...
使用eXosip+ffmpeg、ffplay命令行实现sip客户端
文章目录 前言一、关键实现1、主要流程2、解决端口冲突(1)、出现原因(2)、解决方法 3、解析sdp(1)、定义实体(2)、解析视频(3)、解析音频 4、命令行推拉流&am…...
dotNet 之网络TCP
**硬件支持型号 点击 查看 硬件支持 详情** DTU701 产品详情 DTU702 产品详情 DTU801 产品详情 DTU802 产品详情 DTU902 产品详情 G5501 产品详情 ARM dotnet 编程 dotNet使用TCP,可以使用Socket和TcpClient 、TcpListener类 2种,对于高级用户&…...
python基础面试题汇总(持续更新),冲击offer
目录 1.概念理解题python内置数据结构,哪些是不可变的python新式类和经典类的区别is和有什么区别Python中变量查找顺序python函数的参数是值传递还是引用传递python垃圾回收机制什么是闭包什么是装饰器,开发中用到举例如何实现只读属性Python中类方法、实…...
Java课题笔记~ AOP编程术语(掌握)
(1) 切面(Aspect) 切面泛指交叉业务逻辑。上例中的事务处理、日志处理就可以理解为切面。常用的切面是通知(Advice)。实际就是对主业务逻辑的一种增强。 (2) 连接点(Jo…...
暑假刷题第23天--8/6
3748. 递增子串 - AcWing题库 #include<iostream> #include<string> const int N200005; int a[N]; using namespace std; int main(){int t;cin>>t;for(int q1;q<t;q){int n;cin>>n;string s;cin>>s;int cnt1;a[1]1;for(int i2;i<n;i){i…...
ArcGIS API for JavaScript 4.x 教程(一) 显示一张地图
了解如何创建和显示带有基本地图图层的地图。 地图包含地理数据层。地图包含一个基本地图层,以及一个或多个数据层(可选)。可以使用地图视图显示地图的特定区域,并设置位置和缩放级别。 本教程将向您展示如何使用地形底图层创建和…...
我们团队的技术债已经堆成山,我用这四步说服老板给时间重构
在软件测试的日常工作中,我们或许是技术债最敏锐的感知者。每一次回归测试的漫长等待,每一个在“祖传代码”上小心翼翼打补丁的深夜,每一份因环境不稳定而飘红的测试报告,都在无声地控诉着那座压得团队喘不过气的“屎山”。然而&a…...
C++头文件和cpp文件的原理分析
通常,在一个C程序中,只包含两类文件——.cpp文件和.h文件。 .cpp文件被称作C源文件,里面放的都是C的源代码.h文件则被称作C头文件,里面放的也是C的源代码,头文件不用被编译 C语言支持“分别编译”(separa…...
AI LED调光落地灯智能功率 MOSFET 完整选型方案
随着 AI 技术与智能家居深度融合,高端 LED 调光落地灯对驱动电路提出了新要求:超高调光精度、无频闪、多路独立控制及高能效。微碧半导体(VBsemi)基于先进的 Planar 与 Trench 工艺,为您提供覆盖高压隔离驱动、多路调光…...
SDLPAL图形渲染技术揭秘:OpenGL与Shader的完美结合
SDLPAL图形渲染技术揭秘:OpenGL与Shader的完美结合 【免费下载链接】sdlpal SDL-based reimplementation of the classic Chinese-language RPG known as PAL. 项目地址: https://gitcode.com/gh_mirrors/sd/sdlpal SDLPAL是一款基于SDL的经典中文RPG游戏重制…...
终极简单指南:如何用Seraphine英雄联盟助手快速提升排位胜率
终极简单指南:如何用Seraphine英雄联盟助手快速提升排位胜率 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 想象一下这样的场景:排位赛开始前,你正手忙脚乱地查询对手战绩…...
Cyber Engine Tweaks完整指南:5步掌握《赛博朋克2077》终极脚本框架
Cyber Engine Tweaks完整指南:5步掌握《赛博朋克2077》终极脚本框架 【免费下载链接】CyberEngineTweaks Cyberpunk 2077 tweaks, hacks and scripting framework 项目地址: https://gitcode.com/gh_mirrors/cy/CyberEngineTweaks Cyber Engine Tweaks是一个…...
接入Taotoken后感受到的API调用延迟降低与错误率改善
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 接入Taotoken后感受到的API调用延迟降低与错误率改善 1. 背景与切换契机 作为一名长期在项目中集成大模型能力的开发者࿰…...
嵌入式Linux动态引脚复用实战:RK3568 GPIO与I2C功能切换详解
1. 项目概述与核心价值在嵌入式Linux开发中,尤其是基于瑞芯微RK3568这类高度集成的SoC平台,引脚复用(Pin Mux)的管理是驱动开发者的基本功,也是从“会用”到“精通”的关键分水岭。很多朋友在初次接触时,往…...
快速上手Redis
一、认识Redis Redis 是一个内存数据库,常用于缓存和高性能数据存储。特点: 数据存储在内存,读写速度快(毫秒级甚至微秒级)支持多种数据结构:String、Hash、List、Set、Sorted Set(ZSet&#…...
互联网大厂 Java 求职面试:从 Spring Boot 到微服务与云原生的技术探讨
互联网大厂 Java 求职面试:从 Spring Boot 到微服务与云原生的技术探讨 场景介绍:在一家知名互联网大厂的面试现场,面试官是一位严肃的技术专家,而候选人燕双非则是一位幽默风趣的程序员。面试官准备了一系列问题,涵盖…...
