IS-IS:单区域集成配置与多区域集成配置

news2025/4/4 6:20:27

一、IS-IS概述

IS-IS(Intermediate System to Intermediate System) 是一种链路状态内部网关协议(IGP),设计用于自治系统(AS)内部的路由选择。最初由ISO为OSI模型的无连接网络服务(CLNS)开发,后通过扩展支持IPv4和IPv6,成为现代IP网络中的重要路由协议。

二、IS-IS特征

  • 链路状态算法:每个节点维护全网拓扑数据库,通过SPF(Dijkstra算法)计算最短路径树。

  • 分层设计

    • Level 1(L1):处理区域内路由,类似OSPF的非骨干区域。

    • Level 2(L2):处理区域间路由,形成骨干区域,类似OSPF Area 0。

    • L1/L2路由器:作为区域边界,转发L1和L2路由信息。

  • 地址结构(NSAP):

    • IS-IS使用NSAP地址标识节点,结构为[Area ID] [System ID] [NSEL]
    • Area ID:可变长,标识区域(如49.0001)。

    • System ID:固定6字节(常用MAC地址或IPv4转换,如1921.6800.1001)。

    • NSEL:1字节,服务选择符(IP网络中常为00)。

  • IS-IS支持VLSM(可变长子网掩码)和CIDR(无类别域间路由),支持明文和MD5验证

三、报文类型

  • Hello报文:发现和维护邻居关系,区分层级(L1/L2)。

  • LSP(Link-State PDU):携带链路状态信息,泛洪至全网。

  • SNP(Sequence Number PDU 序列号报文)

    • CSNP(全序列号数据包):同步数据库摘要(类似OSPF的DD报文)。

    • PSNP部分序列号数据包):请求或确认单个LSP(类似OSPF的LSR/LSAck)。

四、工作流程

  1. 邻居发现:通过Hello报文建立邻接关系。

  2. 数据库同步:交换LSP和SNP,确保拓扑一致。

  3. SPF计算:基于拓扑数据库生成最短路径树,更新路由表。

  4. 快速收敛:LSP泛洪机制确保拓扑变化快速传播。

五、与OSPF对比

特性IS-ISOSPF
协议起源ISO/CLNS扩展支持IP专为IP设计(RFC 2328)
分层结构灵活两级(L1/L2)严格骨干区域(Area 0)
地址依赖基于NSAP,与IP无关依赖IP地址
扩展性更适合超大规模网络企业网常见
认证支持MD5、明文等支持多种认证方式

 六、优缺点

  • 优点

    • 无类路由,支持VLSM/CIDR。

    • 分层设计减少泛洪范围。

    • 收敛速度快,适合高动态网络。

  • 缺点

    • NSAP地址配置较复杂。

    • 排错工具和文档相对OSPF较少。

七、单区域集成IS-IS

 R1的配置

[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 12.1.1.1 24    
[R1]int LoopBack 0
[R1-LoopBack0]ip add 1.1.1.1 32
[R1]isis       //启用ISIS进程,进程默认为1
[R1-isis-1]network-entity 49.0123.0000.0000.0001.00   //配置NET地址
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]isis enable     //在接口启用IS-IS
[R1]int LoopBack 0
[R1-LoopBack0]isis enable

R2 配置

[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 12.1.1.2 24
[R2-GigabitEthernet0/0/1]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 23.1.1.2 24    
[R2]int LoopBack 0
[R2-LoopBack0]ip add 2.2.2.2 32
[R2]isis    
[R2-isis-1]network-entity 49.0123.0000.0000.0002.00
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]isis enable
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]isis enable    
[R2]int LoopBack 0
[R2-LoopBack0]isis enable

R3的配置

[R3]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 23.1.1.3 24    
[R3]int LoopBack 0
[R3-LoopBack0]ip add 3.3.3.3 32
[R3]isis    
[R3-isis-1]network-entity 49.0123.0000.0000.0003.00
[R3]int g0/0/1
[R3-GigabitEthernet0/0/1]isis enable    
[R3]int LoopBack 0
[R3-LoopBack0]isis enable

测试

查看R1的邻接表

从上面可以看出路由表维护两个邻接关系,分为L1和L2

System ld:描述邻居的系统ID。
Interface:描述通过该路由器的哪个端口与邻居建立邻接关系。
Circuit ld:电路ID。
State:状态为 Up。
HoldTime:保持时间为30s,Hello包的间隔时间为 10s。
Type:邻居类型。
PRI:邻居选举 DIS时的优先级,默认为64。

查看R1的链路状态数据库

从上面可以看出R1维护两个链路状态数据库,分别为L1和L2

LSPID:链路状态报文ID,由三部分组成:系统ID、伪节点ID、分片号。
Seq Num:LSP序列号。
Checksum:LSP校验和。
Holdtime :LSP 保持时间。
Length:LSP 长度。
ATT/P/OL:连接位、分区位、过载位。

查看IS-IS的路由表

可以看到R1有两张路由表,分别为L1和L2

Flags路由信息标记如下
(1)D-Direct:表示直连路由,
(2)A-Added to URT:表示此路由被加入单播路由表。
(3)L-AdvertisedinLSPs:表示此路由通过LSP发布。
(4)S-IGPShortcut:表示到达该前缀的路径上存在IGP-Shortcut。
(5)U-Up/Down Bit Set:表示Up/Down比特位。

八、多区域集成IS-IS

R1 的配置

[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 12.1.1.1 24
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 13.1.1.1 24
[R1]int LoopBack 0
[R1-LoopBack0]ip add 1.1.1.1 32
[R1]isis    
[R1-isis-1]network-entity 49.0123.0000.0000.0001.00   //配置NET地址
[R1-isis-1]is-level level-1            //路由器的类型为Level-1
[R1-isis-1]cost-style wide             //设置宽度量值
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]isis enable
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]isis enable
[R1]int LoopBack 0
[R1-LoopBack0]isis enable

R2的配置

[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 12.1.1.2 24
[R2-GigabitEthernet0/0/1]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 24.1.1.2 24
[R2]int LoopBack 0
[R2-LoopBack0]ip add 2.2.2.2 32
[R2]isis    
[R2-isis-1]network-entity 49.0123.0000.0000.0002.00
[R2-isis-1]cost-style wide
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]isis enable
[R2-GigabitEthernet0/0/1]int g0/0/0
[R2-GigabitEthernet0/0/0]isis enable
[R2]int LoopBack 0
[R2-LoopBack0]isis enable

R3的配置

[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 13.1.1.3 24
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 35.1.1.3 24
[R3]int LoopBack 0
[R3-LoopBack0]ip add 3.3.3.3 32
[R3]isis    
[R3-isis-1]network-entity 49.0123.0000.0000.0003.00    
[R3-isis-1]cost-style wide
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]isis enable
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]isis enable
[R3]int LoopBack 0
[R3-LoopBack0]isis enable

R4的配置

[R4]int g0/0/1
[R4-GigabitEthernet0/0/1]ip add 24.1.1.4 24
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip add 45.1.1.4 24    
[R4]int LoopBack 0
[R4-LoopBack0]ip add 4.4.4.4 32
[R4]isis    
[R4-isis-1]network-entity 49.0045.0000.0000.0004.00
[R4-isis-1]is-level level-2
[R4-isis-1]cost-s    
[R4-isis-1]cost-style wide
[R4]int g0/0/1
[R4-GigabitEthernet0/0/1]isis enable
[R4-GigabitEthernet0/0/1]int g0/0/0
[R4-GigabitEthernet0/0/0]isis enable    
[R4]int LoopBack 0
[R4-LoopBack0]isis enable   

R5的配置

[R5]int g0/0/0
[R5-GigabitEthernet0/0/0]ip add 35.1.1.5 24
[R5]int g0/0/1
[R5-GigabitEthernet0/0/1]ip add 45.1.1.5 24
[R5]int Logic-Channel    
[R5]int LoopBack 0
[R5-LoopBack0]ip add 5.5.5.5 32
[R5]isis
[R5-isis-1]network-en    
[R5-isis-1]network-entity 49.0045.0000.0000.0005.00
[R5-isis-1]cost-style wide
[R5-isis-1]is-level level-2
[R5]int g0/0/1
[R5-GigabitEthernet0/0/1]isis enable
[R5-GigabitEthernet0/0/1]int g0/0/0
[R5-GigabitEthernet0/0/0]isis enable    
[R5]int LoopBack 0
[R5-LoopBack0]isis enable   

在R1上查看邻接表

可以看到R1和R2、R3是Level-1的邻居关系

在R1上查看路由表

默认情况Level-1区域的路由会传给Level-2区域, 但是Level-2区域的路由却不会Level-1区域,Level-1-2的路由器会自动下发默认路由给Level-1区域的路由器

分别在R4和R5上引入一条外部路由

R4配置:

[R4]int LoopBack 100
[R4-LoopBack100]ip add 100.1.1.1 32
[R4]isis
[R4-isis-1]import-route direct

R5配置:

[R5]int LoopBack 200
[R5-LoopBack200]ip add 200.1.1.1 32
[R5]isis
[R5-isis-1]import-route direct

再次去查看R1的路由表

并没有变化,所以R1没有收到外部路由

分别在R2和R3上把路由泄露给R1

 R2配置:

[R2]isis
[R2-isis-1]import-route isis level-2 into level-1    //将Level-2的路由泄露给R1

R3配置:

[R3]isis
[R3-isis-1]import-route isis level-2 into level-1

 然后去查看R1的路由表

可以看到Level-2的路由传递给了Level-1

九、总结:如何选择?

IS-IS是一种高性能、高扩展的链路状态协议,凭借分层架构和协议无关性,成为运营商及复杂网络的首选IGP,尤其在超大规模、多协议混合场景中表现卓越。

  • 选择IS-IS

    • 网络规模极大(如ISP骨干网、超大型数据中心)。

    • 需要多协议支持(IP + CLNS)或原生IPv6多拓扑路由。

    • 对收敛速度和扩展性要求苛刻。

  • 选择OSPF

    • 中小型企业网络或园区网。

    • 需要丰富的区域类型(如Stub、NSSA)和精细路由控制。

    • 依赖IP地址且希望配置简单、社区支持完善。

 

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

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

相关文章

API 安全之认证鉴权

作者:半天 前言 API 作为企业的重要数字资源,在给企业带来巨大便利的同时也带来了新的安全问题,一旦被攻击可能导致数据泄漏重大安全问题,从而给企业的业务发展带来极大的安全风险。正是在这样的背景下,OpenAPI 规范…

[测试] Google Test | 主流的 C 测试框架

目录 GoogleTest 2. 准备工作 3. 测试 4.怎么用 Attention is All You Need 写项目代码的时候 边写边测试 非常重要,这样可以帮助我们减少很多的问题。 这篇文章后面 主要以 GoogleTest 为例,进行介绍最近找了些 gtest 相关的资料,学习了下.后面主要…

OpenCV 图形API(3)高层次设计概览

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 描述 G-API 是一个异构框架,提供了统一的 API 来使用多个支持的后端编程图像处理流水线。 关键的设计理念是在指定使用哪些内核和设备时保持流…

碰一碰发视频网页版本开发的源码搭建指南

引言 在数字化信息快速传播的时代,近场通信(NFC)技术为信息交互带来了新的便捷方式。通过网页版本实现碰一碰发视频功能,能够让用户在浏览器环境中轻松实现视频分享,拓展了视频传播的途径。本文将详细介绍碰一碰发视频…

【含文档+PPT+源码】基于Python爬虫二手房价格预测与可视化系统的设计与实现

项目介绍 本课程演示的是一款基于Python爬虫二手房价格预测与可视化系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 包含:项目源码、项目文档、数据库脚本、软件工具等所有资料 带你从零开始部署运行本套系统 该项…

Redis-16.在Java中操作Redis-Spring Data Redis使用方式-操作有序集合类型的数据

一. 操作有序集合类型的数据 package com.sky.test;import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.redis.core.*;imp…

STM32智能手表——任务线程部分

RTOS和LVGL我没学过,但是应该能硬啃这个项目例程 ├─Application/User/Tasks # 用于存放任务线程的函数 │ ├─user_TaskInit.c # 初始化任务 │ ├─user_HardwareInitTask.c # 硬件初始化任务 │ ├─user_RunModeTasks.c…

SQL命令

一、表的创建 SQL MS Access、MySQL 和 SQL Server 数据类型 | 菜鸟教程 SQL Server 和 MySQL 中的 Date 函数 | 菜鸟教程 1.1、创建表 CREATE TABLE Citys (CityID int PRIMARY KEY,CityName varchar(255) );CREATE TABLE Per (PersonID int PRIMARY KEY, …

终端SSH连接工具SecureCRT安装和连接Linux

SecureCRT 9.5是一款集终端仿真与加密功能于一身的专业软件,其坚如磐石的安全性、高效的信息传输能力以及高度可定制的会话管理,使得它成为众多用户的首选。该软件不仅支持SSH2、SSH1、Telnet等多种协议,还提供了Relogin、Serial、TAPI、RAW等…

赛逸展2025“创新引擎”启动:限量席位,点亮科技绿色新征程

当今时代,科技革新与绿色发展已然成为推动社会进步的双引擎。2025第七届亚洲消费电子技术贸易展(赛逸展)敏锐捕捉这一趋势,重磅打造“科技创新专区”,并面向科技、绿色企业吹响限量招募号角。 这个独具特色的专区紧扣…

FPGA实现数码管显示分秒时间

目录 一. verilog实现 二. 烧录验证 三. 结果验证 使用开发板:DE2-115开发板 一. verilog实现 要实现分和秒,需要知道定时器的频率,通过查手册可知,我使用的开发板时钟为50hz,也就是时钟一个周期是2微秒。 5000000…

可视化开发:用Qt实现Excel级动态柱状图

Qt柱状图 QtChart 首先我们介绍一下 图表建立的基础:Qt Charts QtChart 是Qt框架的一个模块,专注与提供交互式数据可视化功能 俗话就是 用于用户轻松创建各种类型的图表和图形界面 它包含的图表类型有很多:折线图,饼图&#x…

从零实现Json-Rpc框架】- 项目实现 - 基于Dispatcher模块的RPC框架

📢博客主页:https://blog.csdn.net/2301_779549673 📢博客仓库:https://gitee.com/JohnKingW/linux_test/tree/master/lesson 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! &…

kubekey -实现懒人一键部署K8S集群

kubekey -实现懒人一键部署K8S集群 操作步骤 官网: https://kubesphere.io/zh/ 一、执行以下命令快速创建一个 Kubernetes 集群。 Master节点 如果您访问 GitHub/Googleapis 受限,请登录 Linux 主机,执行以下命令设置下载区域。 [roottest ~]…

李宏毅机器学习笔记(1)—机器学习基本概念+深度学习基本概念

机器学习基本概念 1、获取模型 步骤 1.1、假定未知函数 带未知参数的函数 1.2、定义损失函数 真实值:label MAE MSE 几率分布,cross-entropy? 1.3、优化 单独考虑一个参数 让损失函数最小,找导数为零的点 单独考虑w,w…

数字IC后端项目常见问题之streamOut layermap和innovus drc violation

Q1:我需要将Innovus设计GDS导出到Virtuoso,但发现写出GDS的过程会报如下所示的警告。这里写出GDS使用的是Virtuoso (DFII) streamOut mapping文件! Clock Gen模块Routing DRC,Timing分析及解决 streamOut tease.gds2 -mapFile cd…

短剧系统开发动漫短剧系统源码开发上线小程序app教程

一、市场规模与用户增长:突破677亿,Z世代成主力 整体扩张 2025年短剧市场预计同比增长15%,规模达677.9亿元,用户规模6.62亿(占网民59.7%)。动漫短剧作为细分领域,增速显著受益于二次元文化渗透&…

太阳能高杆路灯:照亮未来的新光

在全球能源转型进程加速以及可持续发展理念日益深入人心的背景下,太阳能高杆路灯作为融合新能源技术、智能控制技术与多功能集成特性的创新产品,正逐步革新传统路灯的格局。其不仅有效解决了传统路灯对电网供电的依赖问题,更为城市及乡村的照…

《C++Linux编程进阶:从0实现muduo 》-第8讲.C++面试如何高效获取线程ID

章节重点 在C面试时,经常被问到如果高效获取线程ID,但不少同学都不知道如何回答。 重点是通过__thread关键字。 重点内容 视频讲解:《CLinux编程进阶:从0实现muduo C网络框架系列》-第8讲. C面试如何高效获取线程ID 测试获取线…

【Tauri2】011——菜单menu(2)

前言 前面简单地创建了菜单,接下来就来试试菜单中的action Rust中菜单项注册action AppHandle in tauri - Rusthttps://docs.rs/tauri/2.4.0/tauri/struct.AppHandle.html#method.on_menu_event这就需要用到App或者AppHandle中的方法on_menu_event #[must_use] …