IS-IS-单区域的配置
一、IS-IS的概念
IS-IS(Intermediate System to Intermediate System,中间系统到中间系统)是一种链路状态路由协议,最初设计用于OSI(Open Systems Interconnection)参考模型的网络层(CLNP,Connectionless Network Protocol),后来被扩展支持IP路由。它是自治系统(AS)内部网关协议(IGP)的一种,广泛应用于大型运营商网络和数据中心。
IS-IS的核心概念
1、链路状态协议:
每个路由器(称为中间系统,Intermediate System)维护全网的拓扑数据库,通过交换链路状态信息(LSP,Link-State Packet)构建网络视图。
使用SPF算法(Shortest Path First,即Dijkstra算法)计算最短路径,生成路由表。
2、分级路由(Hierarchical Routing):
IS-IS通过分层设计(Level-1和Level-2)支持大规模网络:
Level-1(L1):负责区域(Area)内部路由,类似OSPF的区域内路由。
Level-2(L2):负责区域间路由,连接不同Level-1区域,形成骨干网。
Level-1-2:同时参与L1和L2的路由器,类似OSPF的ABR(Area Border Router)。
3、NSAP地址:
IS-IS使用NSAP(Network Service Access Point)地址唯一标识节点和区域。
NSAP格式示例:49.0001.1921.6800.1001.00,包含区域ID、系统ID和NSEL(服务选择符)。
4、协议数据单元(PDU):
Hello报文:建立和维护邻居关系。
LSP(Link-State Packet):描述链路状态信息。
SNP(Sequence Number Packet):用于同步链路状态数据库。
二、单区域的概念
IS-IS(Intermediate System to Intermediate System)在单区域部署中,所有路由器属于同一区域(Area),无需分层设计,适用于中小规模网络。以下是其关键特性与应用场景:
单区域IS-IS的核心机制
扁平化架构:
所有路由器均为Level-1类型,维护同一区域的链路状态数据库(LSDB),通过SPF算法计算区域内最短路径。
无Level-2骨干区域,简化网络拓扑和配置复杂度。
链路状态同步:
通过洪泛(Flooding)机制快速传播LSP(Link-State Packet),实现全网拓扑一致性。
支持TLV(Type-Length-Value)结构,可扩展IPv6、SRv6等新特性。
三、综合实验
1、实验拓扑

2、实验配置命令
由于命令基本一致,现只显示R1 配置
<Huawei>u t m
<Huawei>sys
[Huawei]undo info-center enable
[Huawei]sysname R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]
[R1-GigabitEthernet0/0/0]
[R1-GigabitEthernet0/0/0]ip address 12.1.1.1 24
[R1-GigabitEthernet0/0/0]quit
[R1]int loop
[R1]int LoopBack 0
[R1-LoopBack0]ip address 1.1.1.1 32
[R1-LoopBack0]quit
[R1]isis
[R1-isis-1]network-entity 49.0123.0000.0001.00
[R1-isis-1]quit
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]isis enable
[R1-GigabitEthernet0/0/0]quit
[R1]int loopBack 0
[R1-LoopBack0]isis enable
[R1-LoopBack0]quit
[R1]dis isis peerPeer information for ISIS(1)System Id Interface Circuit Id State HoldTime Type PRI
-------------------------------------------------------------------------------
0123.0000.0002 GE0/0/0 0123.0000.0002.01 Up 8s L1(L1L2) 64
0123.0000.0002 GE0/0/0 0123.0000.0002.01 Up 8s L2(L1L2) 64 Total Peer(s): 2
[R1]Please check whether system data has been changed, and save data in timeConfiguration console time out, please press any key to log on
<R1>dis isis lsdbDatabase information for ISIS(1)--------------------------------Level-1 Link State DatabaseLSPID Seq Num Checksum Holdtime Length ATT/P/OL
-------------------------------------------------------------------------------
0123.0000.0001.00-00* 0x00000005 0xd746 1134 84 0/0/0
0123.0000.0002.00-00 0x00000007 0xb5cd 495 111 0/0/0
0123.0000.0002.01-00 0x00000001 0x29f4 434 55 0/0/0
0123.0000.0002.02-00 0x00000001 0x5ac0 495 55 0/0/0
0123.0000.0003.00-00 0x00000005 0x737f 515 84 0/0/0 Total LSP(s): 5*(In TLV)-Leaking Route, *(By LSPID)-Self LSP, +-Self LSP(Extended), ATT-Attached, P-Partition, OL-OverloadLevel-2 Link State DatabaseLSPID Seq Num Checksum Holdtime Length ATT/P/OL
-------------------------------------------------------------------------------
0123.0000.0001.00-00* 0x00000009 0x13fe 1133 120 0/0/0
0123.0000.0002.00-00 0x0000000a 0xa49c 518 135 0/0/0
0123.0000.0002.01-00 0x00000001 0x29f4 433 55 0/0/0
0123.0000.0002.02-00 0x00000001 0x5ac0 495 55 0/0/0
0123.0000.0003.00-00 0x00000007 0xa358 517 120 0/0/0 Total LSP(s): 5*(In TLV)-Leaking Route, *(By LSPID)-Self LSP, +-Self LSP(Extended), ATT-Attached, P-Partition, OL-Overload
<R1>dis isis route Route information for ISIS(1)-----------------------------ISIS(1) Level-1 Forwarding Table--------------------------------IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
3.3.3.3/32 20 NULL GE0/0/0 12.1.1.2 A/-/L/-
2.2.2.2/32 10 NULL GE0/0/0 12.1.1.2 A/-/L/-
1.1.1.1/32 0 NULL Loop0 Direct D/-/L/-
12.1.1.0/24 10 NULL GE0/0/0 Direct D/-/L/-
23.1.1.0/24 20 NULL GE0/0/0 12.1.1.2 A/-/L/-Flags: D-Direct, A-Added to URT, L-Advertised in LSPs, S-IGP Shortcut,U-Up/Down Bit SetISIS(1) Level-2 Forwarding Table--------------------------------IPV4 Destination IntCost ExtCost ExitInterface NextHop Flags
-------------------------------------------------------------------------------
3.3.3.3/32 20 NULL
2.2.2.2/32 10 NULL
1.1.1.1/32 0 NULL Loop0 Direct D/-/L/-
12.1.1.0/24 10 NULL GE0/0/0 Direct D/-/L/-
23.1.1.0/24 20 NULL Flags: D-Direct, A-Added to URT, L-Advertised in LSPs, S-IGP Shortcut,U-Up/Down Bit Set<R1>
四、总结
单区域IS-IS通过扁平化架构和高效链路状态同步机制,为中小规模网络提供快速收敛和低配置复杂度的解决方案。其在5G承载网中结合SRv6等技术,可满足确定性时延需求,同时支持基于被动测量的动态负载均衡优化。对于无需跨区域互联的场景,单区域部署是高效且经济的选择。
相关文章:
IS-IS-单区域的配置
一、IS-IS的概念 IS-IS(Intermediate System to Intermediate System,中间系统到中间系统)是一种链路状态路由协议,最初设计用于OSI(Open Systems Interconnection)参考模型的网络层(CL…...
Flask使用MySQL数据库通过Flask-SQLAlchemy 迁移数据库,实际更新文件,但是提示没有检测到数据更新。
本地写了一个model的用户类,数据库连接信息正确,执行下面2条命令进行数据库迁移。 flask db migrate 生成迁移文件 flask db upgrade 执行迁移文件的升级 发现执行完后:提示没有检测到数据的更新 PS C:\Users\mu> flask db migrate IN…...
React DndKit 实现类似slack 类别、频道拖动调整位置功能
一周调试终于实现了类 slack 类别、频道拖动调整位置功能。 历经四个版本迭代。 实现了类似slack 类别、频道拖动调整功能 从vue->react ;更喜欢React的生态及编程风格,新项目用React来重构了。 1.zustand全局状态 2.DndKit 拖动 功能视频&…...
OpenCV 图形API(14)用于执行矩阵(或图像)与一个标量值的逐元素乘法操作函数mulC()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 描述 将矩阵与标量相乘。 mulC 函数将给定矩阵 src 的每个元素乘以一个给定的标量值: dst ( I ) saturate ( src1 ( I ) ⋅ multiplier ) \…...
flutter provider状态管理使用
在 Flutter 中,Provider 是一个轻量级且易于使用的状态管理工具,它基于 InheritedWidget,并提供了一种高效的方式来管理和共享应用中的状态。相比其他复杂的状态管理方案(如 Bloc 或 Riverpod),Provider 更…...
1. 标准库的强依赖(核心原因)
1. 标准库的强依赖(核心原因) 容器操作(如 std::vector 扩容) 当标准库容器(如 std::vector)需要重新分配内存时,它会尝试移动现有元素到新内存,而非拷贝(为了性能&…...
USB3.0走线注意事项和其中的协议
USB3.0走线的要求: 1、USB要走差分,阻抗控制为90欧姆,并包地处理,总长度最好不要超过1800mil. 2、尽可能缩短走线长度,优先考虑对高速USB差分(RX、TX差分)的布线,USB差分走线在走线…...
【Linux】iptables命令的基本使用
语法格式 iptables [-t 表名] 管理选项 [链名] [条件匹配] [-j 目标动作或跳转]注意事项 不指定表名时,默认使用 filter 表不指定链名时,默认表示该表内所有链除非设置规则链的缺省策略,否则需要指定匹配条件 设置规则内容 -A:…...
QML 菜单控件:MenuBar、MenuBarItem、Menu、MenuItem层级关系和用法
目录 引言相关阅读关于MenuBarItem核心代码1. 主菜单栏 (MenuBar.qml)2. 主页面,包含右键菜单 (MainPage.qml)3. 主界面绑定 (Main.qml)整体结构 运行效果总结工程下载 引言 在 GUI 开发中,菜单是用户交互的核心组件。QML 提供了一套灵活的菜单控件&…...
设计模式简述(十二)策略模式
策略模式 描述基本使用使用传统策略模式的缺陷以及规避方法 枚举策略描述基本使用使用 描述 定义一组策略,并将其封装起来到一个策略上下文中。 由调用者决定应该使用哪种策略,并且可以动态替换 基本使用 定义策略接口 public interface IStrategy {…...
Telegram机器人开发
注册机器人 :使用Botfather 按照提示快速注册,会得到一串密钥 格式类似 7878875019:BAGQ9AihJyE5jmSoWMt4O1j1CQThjfwR0nk # !/usr/bin/python3 # -*- coding:utf-8 -*- """ author: JHC000abcgmail.com file: TelegramBot.py time: 202…...
蓝桥杯嵌入式第十四届模拟二
一.LED 先配置LED的八个引脚为GPIO_OutPut,锁存器PD2也是,然后都设置为起始高电平,生成代码时还要去解决引脚冲突问题 二.按键 按键配置,由原理图按键所对引脚要GPIO_Input 生成代码,在文件夹中添加code文件夹,code中添加fun.c、fun.h、headfile.h文件,去资源包中把lc…...
java发送http请求
常用的方式 jdk自带的工具类apache的httpclient工具类spring的resttemplate工具类 如果是springboot项目,推荐resttemplate,其它项目推荐httpclient httpclient教程 httpclient教程...
Qt 入门 1 之第一个程序 Hello World
Qt 入门1之第一个程序 Hello World 直接上操作步骤从头开始认识,打开Qt Creator,创建一个新项目,并依次执行以下操作 在Qt Creator中,一个Kits 表示一个完整的构建环境,包括编译器、Qt版本、调试器等。在上图中可以直…...
架构思维: 全链路日志深度解析
文章目录 引言:微服务时代的日志挑战一、业务痛点与需求分析二、技术选型的六维评估模型1. 标准化支持 OpenTracing2. 存储扩展性3. 性能损耗4. 功能完备性5. 侵入性控制6. 社区生态 三、SkyWalking落地实践与调优1. 核心架构解析2. 关键配置示例: 采样率…...
PHP 项目搭建 ELK 日志监控体系完整指南
ELK (Elasticsearch Logstash Kibana) 是当前最流行的日志管理解决方案之一。下面详细介绍如何为 PHP 项目搭建完整的 ELK 日志监控体系。 一、基础架构组成 PHP应用 → Filebeat → Logstash → Elasticsearch → Kibana(可选) ↗ 二、环境准备 1. 服务器要求 建议独立服…...
唯美社区源码AM社区同款源码
源码介绍 唯美社区源码AM社区同款源码 后端修改application.properties文件内容为你的数据库 前端修改/config/config.js文件内容为你的后端地址 这两个文件里要修改的地方我已经用中文标注出来了 截图 源码免费下载 唯美社区源码AM社区同款源码...
《野史未必假》王磊
文章目录 前言一、禅让制的真相:让了,又没有完全让禅让制的真相尧舜禹之间的“禅让”实际上是一场权力斗争 二、美女间谍的下落:西施和范蠡终成眷属了吗范蠡的逃亡“美人计”的真相 三、“背叛”的名将:魏延真的有“反骨”吗?“子…...
Redis 热key问题怎么解决?
Redis 热 Key 问题分析与解决方案 热 Key(Hot Key)是指被高频访问的某个或多个 Key,导致单个 Redis 节点负载过高,可能引发性能瓶颈甚至服务崩溃。以下是常见原因及解决方案: 1. 热 Key 的常见原因 突发流量:如明星八卦、秒杀商品、热门直播等场景。缓存设计不合理:如全…...
定制一款国密浏览器(3):修改浏览器应用程序安装路径
在上一章中介绍了如何修改 deb 包的包名,这一章讲一下如何修改浏览器应用程序安装路径。 chromium deb 包将程序文件安装在 /usr/share/chromium 下,但在很多系统中(比如统信 UOS 和 麒麟系统),规范要求应用程序安装在 /opt/apps 下。此外,对一些不可变系统(比如 deepi…...
3. go-zero中如何使用redis
问题 go-zero项目相关文档中redis是这样配置的: Name: account.rpc ListenOn: 0.0.0.0:8080 Etcd:Hosts:- 127.0.0.1:2379Key: account.rpcMysql:Host: xxxx:3306User: rootPass: xxxData: mall-userCharset: utf8mb4Cache: - Host: 192.168.145.10:6379Type: nod…...
cpp自学 day19(多态)
一、基本概念 同一操作作用于不同的对象,产生不同的执行结果 👉 就像「按F1键」:在Word弹出帮助文档,在PS弹出画笔设置,同一个按键触发不同功能 (1)多态类型 类型实现方式绑定时机静态多态…...
【算法/c++】利用中序遍历和后序遍历建二叉树
目录 题目:树的遍历前言题目来源树的数组存储基本思想存储规则示例 建树算法关键思路代码总代码 链表法 题目:树的遍历 前言 如果不是完全二叉树,使用数组模拟树,会很浪费空间。 题目来源 本题来自 PTA 天梯赛。 题目链接: 树…...
基于论文的大模型应用:基于SmartETL的arXiv论文数据接入与预处理(一)
1. 背景 arXiv简介(参考DeepSeek大模型生成内容): arXiv(发音同“archive”,/ˈɑːrkaɪv/)是一个开放的学术预印本平台,主要用于研究人员分享和获取尚未正式发表或已完成投稿的学术论文。创…...
cpp经典数论问题
题目如下 思路 代码如下...
C++中如何比较两个字符串的大小--compare()函数实现
一、现在有一个问题描述:有两个字符串,要按照字典顺序比较它们的大小(注意所有的小写字母都大于所有的大写字母 )。 二、代码 #include <bits/stdc.h> using namespace std;int main() {string str1 "apple";…...
微软2025年AI技术深度解析:从多模态大模型到企业级代理服务
微软2025年AI技术深度解析:从多模态大模型到企业级代理服务 一、微软AI技术全景概览 在2025年的AI领域,微软通过Azure AI Foundry、多模态大模型、企业级AI代理三大核心技术,构建了覆盖开发、部署、应用全流程的AI生态体系。根据最新财报数…...
C++中的匿名函数
代码解析 auto getTicks [](QCPAxis *axis) -> QList<double> {QList<double> ticks;if(auto ticker static_cast<QCPAxisTickerFixed *>(axis->ticker().data())){double current axis->range().lower;const double step ticker->…...
浏览器 路由详解
Hash路由 URL 结构:http://example.com/#/path,# 后的部分称为哈希(Hash)。无刷新特性:浏览器不会将哈希部分发送到服务器,改变哈希值不会触发页面刷新。事件驱动:URL…...
Scala面向对象2
1. 抽象属性和方法:用 abstract 关键字定义抽象类,其中抽象属性无初始值,抽象方法无实现 。重写抽象方法需用 override ,重写抽象属性时,可变属性用 var ,不可变属性用 val 。 匿名子类:和 Jav…...
