当前位置: 首页 > article >正文

IS-IS 中间系统到中间系统

前言:

  1. 中间系统到中间系统IS-IS(Intermediate System to Intermediate System)属于内部网关协议IGP(Interior Gateway Protocol),用于自治系统内部

  2. IS-IS也是一种链路状态协议,使用最短路径优先SPF(Shortest Path First)算法进行路由计算

  3. 随着TCP/IP协议的流行,为了提供对IP路由的支持,IETF在RFC1195中对IS-IS进行了扩充和修改,使它能够同时应用在TCP/IP和OSI环境中,称为集成IS-IS(Integrated IS-IS或Dual IS-IS)


IS-IS的基本概念

   IS-IS的路由器的分类

1. Level 1路由器(L1路由器)

功能定义

  • 作用范围:仅负责同一区域内的路由,只与属于同一区域的Level-1和Level-1-2路由器形成邻居关系,属于不同区域的Level-1路由器不能形成邻居关系

  • 数据库内容:仅维护本区域(Level 1)的链路状态数据库(LSDB),该LSDB包含本区域的路由信息,到本区域外的报文转发给最近的Level-1-2路由器

特点

  • 类似OSPF的“非骨干区域路由器”:无法直接参与跨区域路由,Level-1路由器必须通过Level-1-2路由器才能连接至其他区域

  • NET地址要求:所有L1路由器的NET地址必须具有相同的Area ID(区域标识符)

  • 默认路由:Level 1区域内的路由器默认通过L1/L2路由器生成一条默认路由(0.0.0.0/0)指向骨干区域


2. Level 2路由器(L2路由器)

功能定义

  • 作用范围:负责区域间路由,构成IS-IS的骨干区域(类似OSPF的Area 0),它可以与同一或者不同区域的Level-2路由器或者同一或者其它区域的Level-1-2路由器形成邻居关系

  • 数据库内容:维护骨干区域(Level 2)的LSDB,包含所有区域间拓扑信息

特点

  • 类似OSPF的“骨干区域路由器”:所有跨区域流量必须经过L2路由器

  • NET地址要求:不同区域的L2路由器可以属于不同的Area ID,但必须通过L2链路互联

  • 连接要求:路由域中Level-2级别的路由器必须是物理连续的,以保证骨干网的连续性。只有Level-2级别的路由器才能直接与区域外的路由器交换数据报文或路由信息


3. Level 1-2路由器(L1/L2路由器)

功能定义

  • 数据库内容:Level-1-2路由器维护两个LSDB,Level-1的LSDB和Level-2的LSDB
  • 双重角色:同时参与Level 1和Level 2的路由

    • Level 1角色:维护本区域的LSDB,处理区域内路由

    • Level 2角色:维护骨干区域的LSDB,处理区域间路由

    • 它可以与同一区域的Level-1和Level-1-2路由器形成Level-1邻居关系,也可以与同一区域或其他区域的Level-2和其他区域的Level-1-2路由器形成Level-2的邻居关系

特点

  • 类似OSPF的“区域边界路由器(ABR)”:连接Level 1和Level 2区域,是区域间通信的桥梁,Level-1路由器必须通过Level-1-2路由器才能连接至其他区域

  • NET地址要求:必须同时属于本区域(Level 1)的Area ID,并通过Level 2链路与其他L2路由器互联

  • 连接要求:一台L1/L2路由器只能属于一个Level 1区域,但可以连接到多个Level 2链路(骨干区域)


IS-IS原理

IS-IS只支持两种类型的网络,根据物理链路不同可分为广播链路和点到点链路

IS-IS的区域划分是基于路由器的

IS的接口开销值无论接口带宽有多大,缺省时一直为10

路径的开销等于本路由器到达目的网段沿途的所有链路的开销总和

原理:

    IS-IS是一种链路状态路由协议,每一台路由器都会生成一个LSP,它包含了该路由器所有IS-IS协议接口的链路状态信息。通过跟相邻设备建立IS-IS邻接关系,互相更新本地设备的LSDB,可以使得LSDB与整个IS-IS网络的其他设备的LSDB实现同步。然后根据LSDB运用SPF算法计算出IS-IS路由。如果此IS-IS路由是到目的地址的最优路由,则此路由会下发到IP路由表中,并指导报文的转发

IS接口的开销的分类:
  • 接口开销:为单个接口设置开销
  • 全局开销:为所有接口设置开销
  • 自动计算开销:根据接口带宽自动计算开销
IS-IS邻接关系建立原则:
  • 只有同一层次的相邻路由器才有可能成为邻居

  • 对于Level-1路由器来说,区域号必须一致

  • 链路两端IS-IS接口的网络类型必须一致

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


DIS和伪节点

Level-1和Level-2的DIS是分别选举的,用户可以为不同级别的DIS选举设置不同的优先级

不同级别的DIS可以是同一台路由器,也可以是不同的路由器

1. DIS(Designated Intermediate System)

作用与选举机制
  • 功能

    • 在广播网络中,IS-IS需要在所有的路由器中选举一个路由器作为DIS,DIS用来创建和更新伪节点(Pseudonode),并负责生成伪节点的链路状态协议数据单元LSP,用来描述这个网络上有哪些网络设备

  • 选举规则

    1. 优先级(Priority):范围0-127,默认64。优先级越高,越可能成为DIS,优先级为0时候仍需要选举

    2. System ID:若优先级相同,选择MAC地址或手动配置的System ID较大的路由器

  • 特点

    • 无备份DIS:IS-IS不选举备份DIS,当前DIS失效后立即重新选举,DIS发送Hello PDU的时间间隔是普通路由器的1/3(3秒),这样可以确保DIS出现故障时能够被更快捷地被发现

    • 抢占式选举:新加入的高优先级路由器可立即成为DIS


2. 伪节点(Pseudonode)

概念与作用
  • 定义

    • 伪节点是IS-IS协议为广播网络(如以太网)创建的逻辑实体,并非真实存在的路由器。它由DIS(Designated Intermediate System)模拟生成

    • 伪节点的标识为DIS的System ID + 一个字节的伪节点ID(通常为非零值),例如0010.0100.1001.01

  • 功能

    • 简化拓扑计算:在SPF(最短路径优先)计算中,伪节点表示广播网络,替代实际多个邻接关系,使路由器产生的LSP长度较小

    • 减少LSP泛洪:所有非DIS路由器仅需向伪节点报告链路状态,避免全网泛洪

相关文章:

IS-IS 中间系统到中间系统

前言: 中间系统到中间系统IS-IS(Intermediate System to Intermediate System)属于内部网关协议IGP(Interior Gateway Protocol),用于自治系统内部 IS-IS也是一种链路状态协议,使用最短路径优先…...

【图像生成大模型】HunyuanVideo:大规模视频生成模型的系统性框架

HunyuanVideo:大规模视频生成模型的系统性框架 引言HunyuanVideo 项目概述核心技术1. 统一的图像和视频生成架构2. 多模态大语言模型(MLLM)文本编码器3. 3D VAE4. 提示重写(Prompt Rewrite) 项目运行方式与执行步骤1. …...

GitHub 趋势日报 (2025年05月19日)

本日报由 TrendForge 系统生成 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日整体趋势 Top 10 排名项目名称项目描述今日获星总星数语言1public-apis/public-apis免费API的集体清单⭐ 1821⭐ 344364Python2virattt/a…...

如何使用Java生成pdf报告

文章目录 一、环境准备与Maven依赖说明二、核心代码解析1. 基础文档创建2. 中文字体处理3. 复杂表格创建4. 图片插入 三、完整代码示例四、最终效果 这篇主要说一下如何使用Java生成pdf,包括标题,文字,图片,表格的插入和调整等相关…...

HarmonyOS鸿蒙应用规格开发指南

在鸿蒙生态系统中,应用规格是确保应用符合系统要求的基础。本文将深入探讨鸿蒙应用的规格开发实践,帮助开发者打造符合规范的应用。 应用包结构规范 1. 基本配置要求 包结构规范 符合规范的应用包结构正确的HAP配置文件完整的应用信息 示例配置&…...

【Harmony】【鸿蒙】List列表View如何刷新内部的自定义View的某一个控件

创建自定义View Component export struct TestView{State leftIcon?:Resource $r(app.media.leftIcon)State leftText?:Resource | string $r(app.string.leftText)State rightText?:Resource | string $r(app.string.rightText)State rightIcon?:Resource $r(app.med…...

iisARR负均衡

IIS ARR负载均衡详细配置指南 🎯 什么是ARR(Application Request Routing) ARR是IIS的一个扩展模块,它可以: 负载均衡:将请求分发到多个服务器反向代理:隐藏后端服务器架构健康检查&#xf…...

uniapp打包报错:重新在manifest.json中生成自己的APPID

在UniApp开发过程中,打包时可能会遇到报错提示需要在manifest.json中重新生成自己的APPID。以下是解决该问题的具体方法: 检查并生成APPID 打开项目根目录下的manifest.json文件,找到appid字段。如果该字段为空或为默认值,需要重…...

人脸识别备案开启安全防护模式!紧跟《办法》!

国家互联网信息办公室与公安部于 2025 年 3 月 13 日联合公布了《人脸识别技术应用安全管理办法》(以下简称《办法》),并自 2025 年 6 月 1 日起正式施行。其中,人脸识别备案成为了规范技术应用、守护信息安全的关键一环。​ 一、…...

【爬虫】DrissionPage-7

官方文档&#xff1a; https://www.drissionpage.cn/browser_control/get_page_info/ 1. 页面信息 &#x1f4cc; html 描述&#xff1a;返回当前页面的 HTML 文本。注意&#xff1a;不包含 <iframe> 元素的内容。返回类型&#xff1a;str 示例&#xff1a; html_co…...

新浪《经济新闻》丨珈和科技联合蒲江政府打造“数字茶园+智能工厂+文旅综合体“创新模式

5月14日&#xff0c;新浪网《经济新闻》频道专题报道珈和科技在第十四届四川国际茶业博览会上的精彩亮相&#xff0c;并深度聚焦我司以数字技术赋能川茶产业高质量发展创新技术路径&#xff0c;及在成都市“茶业建圈强链”主题推介会上&#xff0c;珈和科技与蒲江县人民政府就智…...

git 撤销最近的几次push

要实现将远程仓库回退到最近5次push之前的状态&#xff0c;同时保留本地改动&#xff0c;可以按照以下步骤操作&#xff1a; 一、本地分支回退&#xff08;保留改动&#xff09; # 1. 查看提交历史确认要回退的提交点 git log --oneline# 2. 回退到5次提交前的状态&#xff0…...

水滴前端面经及参考答案

盒模型是什么,标准盒模型和 IE 盒模型有什么区别? 盒模型是 CSS 中一个基础概念,它描述了元素在页面中所占的空间大小。每个元素都可以看作是一个矩形盒子,从内到外由内容区(content)、内边距(padding)、边框(border)和外边距(margin)组成。 标准盒模型的宽度和高…...

React 第四十五节 Router 中 useHref() Hook的使用详解及注意事项

前言 React Router 中的 useHref 是一个用于生成完整 URL 路径的钩子&#xff0c; 它可以将相对路径解析为绝对路径&#xff0c;并确保在不同路由层级中正确工作。 它常用于自定义导航组件或需要手动构建链接的场景。 一、useHref核心用途 解析相对路径&#xff1a;自动将相…...

50、js 中var { ipcRenderer } = require(‘electron‘);是什么意思?

在 JavaScript 中&#xff0c;var { ipcRenderer } require(‘electron’); 这行代码的含义是&#xff1a; 1. require(‘electron’) 这是 Node.js 的模块引入语法&#xff0c;用于加载 Electron 的核心模块。electron 是 Electron 框架的主模块&#xff0c;提供了构建桌面…...

LeetCode 438. 找到字符串中所有字母异位词 | 滑动窗口与字符计数数组解法

文章目录 问题描述核心思路&#xff1a;滑动窗口 字符计数数组1. 字符计数数组2. 滑动窗口 算法步骤完整代码实现复杂度分析关键点总结类似问题 问题描述 给定两个字符串 s 和 p&#xff0c;要求找到 s 中所有是 p 的**字母异位词&#xff08;Anagram&#xff09;**的子串的起…...

@RequestParam 和 @RequestBody、HttpServletrequest 与HttpServletResponse

在Java Web开发中&#xff0c;RequestParam、RequestBody、HttpServletRequest 和 HttpServletResponse 是常用的组件&#xff0c;它们用于处理HTTP请求和响应。下面分别介绍它们的使用场景和使用方法&#xff1a; 1. RequestParam RequestParam 是Spring MVC框架中的注解&am…...

计算机底层的多级缓存以及缓存带来的数据覆盖问题

没有多级缓存的情况 有多级缓存的情况 缓存带来的操作覆盖问题 锁总线带来的消耗太大了。...

SpringBoot-1-入门概念介绍和第一个Spring Boot项目

文章目录 1 开发JAVA EE应用1.1 EJB1.2 Spring框架1.2.1 IoC(Inversion of Control)控制反转1.2.2 DI(Dependency Injection)依赖注入1.2.3 AOP面向切面编程1.3 Spring Boot1.4 Spring Cloud框架1.5 开发工具2 创建Spring Boot项目2.1 在线项目生成向导2.2 使用IDEA导入项目2.3…...

服务器多用户共享Conda环境操作指南——Ubuntu24.02

1. 使用阿里云镜像下载 Anaconda 最新版本 wget https://mirrors.aliyun.com/anaconda/archive/Anaconda3-2024.02-1-Linux-x86_64.sh bug解决方案 若出现&#xff1a;使用wget在清华镜像站下载Anaconda报错ERROR 403: Forbidden. 解决方案&#xff1a;wget --user-agent“M…...

基于FPGA的电子万年历系统开发,包含各模块testbench

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于FPGA的电子万年历系统开发,包含各模块testbench。主要包含以下核心模块&#xff1a; 时钟控制模块&#xff1a;提供系统基准时钟和计时功能。 日历计算模块&#xff1a…...

Leetcode刷题 | Day63_图论08_拓扑排序

一、学习任务 拓扑排序代码随想录 二、具体题目 1.拓扑排序117. 软件构建 【题目描述】 某个大型软件项目的构建系统拥有 N 个文件&#xff0c;文件编号从 0 到 N - 1&#xff0c;在这些文件中&#xff0c;某些文件依赖于其他文件的内容&#xff0c;这意味着如果文件 A 依…...

MySQL 可观测性最佳实践

MySQL 简介 MySQL 是一个广泛使用的开源关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;以其高性能、可靠性和易用性而闻名&#xff0c;适用于各种规模的应用&#xff0c;从小型网站到大型企业级系统。 监控 MySQL 指标是维护数据库健康、优化性能和确保数据…...

系统性能分析基本概念(3) : Tuning Efforts

系统性能调优&#xff08;Tuning Efforts&#xff09;是指通过优化硬件、软件或系统配置来提升性能&#xff0c;减少延迟、提高吞吐量或优化资源利用率。以下是系统性能调优的主要努力方向&#xff0c;涵盖硬件、操作系统、应用程序和网络等多个层面&#xff0c;结合实际应用场…...

OceanBase数据库全面指南(函数篇)函数速查表

文章目录 一、数学函数1.1 基本数学函数1.2 三角函数二、字符串函数2.1 基本字符串函数2.2 高级字符串处理函数三、日期时间函数3.1 基本日期时间函数3.2 日期时间计算函数四、聚合函数4.1 常用聚合函数4.2 分组聚合4.3 高级聚合函数五、条件判断函数5.1 基本条件函数5.2 CASE表…...

SpringBoot 对象转换 MapStruct

文章目录 工作原理核心优势为什么不使用 BeanUtils使用步骤添加依赖定义实体类和VO类定义映射接口测试数据 参考 工作原理 基于 Java 的 JSR 269 规范&#xff0c;该规范允许在编译期处理注解&#xff0c;也就是 Java 注解处理器。MapStruct 通过定义的注解处理器&#xff0c;…...

计算机网络——Session、Cookie 和 Token

在 Web 开发中&#xff0c;Session、Cookie 和 Token 是实现用户会话管理和身份验证的核心技术。它们既有联系&#xff0c;也有明显区别。以下从定义、原理、联系、区别和应用场景等方面详细解析。 一、基本定义与原理 1. Cookie 定义&#xff1a; 是浏览器存储在客户端的小…...

01-jenkins学习之旅-window-下载-安装-安装后设置向导

1 jenkins简介 百度百科介绍&#xff1a;Jenkins是一个开源软件项目&#xff0c;是基于Java开发的一种持续集成工具&#xff0c;用于监控持续重复的工作&#xff0c;旨在提供一个开放易用的软件平台&#xff0c;使软件项目可以进行持续集成。 [1] Jenkins官网地址 翻译&…...

Spark,SparkSQL操作Mysql, 创建数据库和表

以下是使用 Spark SQL 在 MySQL 中创建数据库和表的步骤&#xff08;基于 Scala API&#xff09;&#xff1a; 1. 准备工作 - 添加 MySQL 驱动依赖 同前所述&#xff0c;需在 Spark 环境中引入 MySQL Connector JAR 包&#xff08;如 mysql-connector-java-8.0.33.jar &#…...

AttributeError: module ‘cv2.dnn‘ has no attribute ‘DictValue‘错误解决方法

源代码如下&#xff1a; # 读取图像 import cv2 im cv2.imread("./test.png", 1) # 1表示3通道彩色&#xff0c;0表示单通道灰度 cv2.imshow("test", im) # 在test窗口中显示图像 print(type(im)) # 打印数据类型 print(im.shape) # 打印图像尺寸 cv2.wai…...