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

IS-IS DIS

原理概述

     OSPF 协议支持4种网络类型, IS-IS 协议只支持两种网络类型,即广播网络点到点网络。与 OSPF 协议相同, IS-IS 协议在广播网络中会将网络视为一个伪节点( Pseudonode ,简称 PSN ),并选举出一台 DIS ( Designated IS )路由器来代行这个伪节点的职责。 DIS 的作用与 OSPF 的 DR 类似可以减少不必要的 LSP 泛洪。注意,与 OSPF 协议中的 DR 选举不同, DIS 的选举是抢占性的。另外, DIS 还有 Level-1和 Level-2之分,同一网络的 Level-1 DIS 和 Level-2 DIS 可能是同一台路由器,也可能是不同的路由器。在点到点网络中, IS-IS 协议不选举 DIS 。
        注意,选举出 DIS 后,广播网络中的路由器仍然需要与所有的邻居建立邻接关系,而不仅仅是与 DIS 建立邻接关系。在广播网络中, DIS 会周期性(默认为10s)地发送携带 CSNP ( Complete Sequence Number PDU )消息的组播帧来实现链路状态数据库之间的同步,其中 Level-1DIS使用的组播 MAC 地址为0180.C200.0014, Level-2 DIS 使用的组播 MAC 地址为0180.C200.0015。
        选举 DIS 的过程是自动进行的,选举的依据是比较同一网络中路由器接口的 DIS 优先级,其次是比较接口的 MAC 地址。在接口的 DIS 优先级相同的情况, MAC 地址较大者将成为 DIS
        路由器的 IS-IS 接口都拥有一个 Level-1 DIS 优先级和一个 Level-2 DIS 优先级,取值范围都是0到127,默认值都是64。 IS-IS 接口所发出的 Level-1 Hello 报文中携带了 Level-1 DIS 优先级的值, Level-2 Hello 报文中携带了 Level-2 DIS 优先级的值。注意,如果 DIS 优先级的值为0,并不表示不参与 DIS 的选举,而只是表示 DIS 优先级最低。
        最后需要说明的是,在 OSPF 协议中,除了有 DR ,还有 Backup DR ( BDR )。但是在 IS-IS 协议中,只有 DIS ,没有 Backup DIS 。 

实验目的

理解 IS-IS 协议中 DIS 的作用和选举方法
理解 IS-IS 接口的 DIS 优先级的概念
掌握通过修改 DIS 优先级来控制 DIS 选举结果的方法

实验内容

实验拓扑如图所示。本实验模拟了一个简单的企业网络场景,R1、R2、R3、R4分别连接着公司部门 A 、 B 、 C 、 D ;R1、R2、R3、R4分别为 Level-1-2、 Level-1-2、 Level-1、 Level-2路由器。网络需求是:必须让R1成为 Level-1 DIS ,R2成为 Level-2 DIS 。注意,本实验中路由器接口的 MAC 地址是随机生成的。

实验拓扑

1.基本配置

根据拓扑图进行相应的基本配置,并使用ping命令检测R1与R4之间的连通性。

其余路由器的连通性测试过程在此省略。

2.配置IS-IS路由协议

在每台路由器上配置IS-IS协议,其中R1和R2为Level-1-2路由器,R3为Level-1路由器,R4为Level-2路由器。

[r1]isis 1
[r1-isis-1]network-entity 10.0000.0000.0001.00
[r1-isis-1]is-name R1
[r1-isis-1]q
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]
[r1-GigabitEthernet0/0/0]isis enable

[r2]isis 1
[r2-isis-1]network-entity 10.0000.0000.0002.00
[r2-isis-1]is-name R2
[r2-isis-1]q
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]
[r2-GigabitEthernet0/0/0]isis enable

[r3]isis 1
[r3-isis-1]network-entity 10.0000.0000.0003.00

[r3-isis-1]is-level level-1
[r3-isis-1]is-name R3
[r3-isis-1]q
[r3]int g0/0/0
[r3-GigabitEthernet0/0/0]isis enable

[r4]isis 1
[r4-isis-1]network-entity 10.0000.0000.0004.00

[r4-isis-1]is-level level-2
[r4-isis-1]is-name R4
[r4-isis-1]q
[r4]int g0/0/0
[r4-GigabitEthernet0/0/0]
[r4-GigabitEthernet0/0/0]isis enable

配置完成后,在R1上查看IS-IS邻居信息。

可以看到,R1与相邻路由器的IS-IS邻接关系是正常的,其中R1与R2分别建立了Level-1邻接关系和Level-2邻接关系,R1与R3建立了Level-1邻接关系,R1与R4建立了Level-2邻接关系。

3.查看默认选举的DIS

在每台路由器上使用display isis interface GigabitEthernet 0/0/0命令查看GE0/0/0接口的IS-IS协议信息。

可以看到,在使用缺省DIS优先级的情况下,能够发送Level-1 Hello报文的接口中,R3的GE0/0/0接口的MAC地址最大,因此R3被选举为Level-1 DIS;能够发送Level-2 Hello报文的接口中,R4的GE0/0/0接口的MAC地址最大,因此R4被选举为Level-2 DIS;

在每台路由器上使用display isis interface GigabitEthernet 0/0/0 verbose命令查看GE0/0/0接口的IS-IS详细信息。

 

       可以看到,R1、R2、R3、R4的 SNPA ( Sub-Netowrk Point of Attachment )地址分别为00e0-fc0a-50a6、 00e0-fc4d-2c26、00e0-fc82-7f4c、00e0-fc97-7ad3( SNPA 地址在这里指的就是 MAC 地址),而 Level-1 DIS 优先级和 Level-2 DIS 优先级的值都为默认值64。R3被选举为 Level-1 DIS ,R4被选举为 Level-2 DIS 。需要注意的是,R1和R2都是 Level-1-2路由器,它们会使用 Level-1 DIS 优先级参与到 Level-1的 DIS 选举中,同时还会使用 Level-2 DIS 优先级参与到 Level -2的 DIS 选举中。
        IS-IS 协议会将广播型网络本身抽象成一个伪节点,伪节点并不实际存在,它只是一个逻辑上的概念,广播型网络中的路由器都认为自己和伪节点存在邻接关系,并通过产生相应的 LSP 来描述自己和这个伪节点之间的链路状态。广播型网络中的 DIS 充当了伪节点的角色并代行伪节点的职责; DIS 路由器会代替抽象的伪节点产生 PSN LSP (伪节点LSP  ),用以描述哪些路由器与伪节点相连。 PSN LSP 与 OSPF 中的 Type-2 LSA 非常相似。
在R1上查看 IS-IS 的链路状态数据库。

       可以看到, Level-1链路状态数据库中有一条 LSP ID 为R3.01-00的 LSP ,这就是一条 Level-1 PSN LSP ,同时也说明R3是 Level-1 DIS ;在 Level-2链路状态数据库中有一条 LSP ID 为R4.01-00的 LSP ,这就是一条 Level-2 PSN LSP ,同时说明R4是 Level-2 DIS 。
       在R1上使用 display isis lsdb is-name R1 verbose 命令查看R1生成的 LSP 的详细信息。

  

       可以看到,在 RI 的 Level-1的 LSDB 中 LSP ID 为0000.0000.0001.00-00*的 LSP 由 R1自己产生,这条 LSP 描述了R1和伪节点R3.01之间的链路状态信息,其中 Area Addr 描述了 R1自己所在的区域 ID 为10, INTF Addr 描述了R1自己与伪节点R3.01相连的接口 IP 地址为10.0.1.1, NBR ID 描述了邻居是伪节点R3.01, Cost 描述了R1自己到伪节点 R3.01的开销值为10, IP-Internal 描述了R1和伪节点R3.01之间的网络前缀和掩码以及开销值信息。
       伪节点只是一个逻辑上的概念,用来表示一个广播型网络本身,而 DIS 路由器是连接到这个广播型网络的一台路由器, DIS 和伪节点是两个不同的概念,只是 DIS 代行了伪节点的职责而已。
       R2既不是 Level-1 DIS ,也不是 Level-2 DIS ,在R2上使用 display isis lsdb is-name R2 verbose 命令查看R2生成的 LSP 的详细信息。  

可以看到,R2生成了两条 LSP ,第一条描述了自己与伪节点R3.01的关系,第二条描述了自己与伪节点R3.01的关系。

4.修改 DIS 优先级来控制 DIS 选举结果 

      根据需求,R1应当成为 Level-1 DIS, R2应当成为 Level-2 DIS 。这一需求很容易通过修改接口的 Level-1 DIS和Level-2 DIS 优先级来实现。
      在R1的 GE 0/0/0接口的视图下使用 isis dis-priority 127 Level-1命令修改 GE 0/0/0接口的 Level-1 DIS 优先级的值为120;在R2的 GE 0/0/0接口的视图下使用 isis dis-priority 127 Level-2命令修改 GE 0/0/0接口的 Level-2 DIS 优先级的值为127。

[r1-GigabitEthernet0/0/0]isis dis-priority 120 level-1

[r2-GigabitEthernet0/0/0]isis dis-priority 127 level-2 

在R1和R2上使用命令display isis interface GigabitEthernet 0/0/0 verbose 查看 GE 0/0/0接口的 IS-IS 协议的详细信息。 

可以看到,R1的 GE 0/0/0接口的 Level-1 DIS 优先级的值已被修改成120, Level-2 DIS 优先级的值依旧为64,接口信息中 DIS 属性为 Yes /No 。说明R1现在是 Level-1 DIS 。R2的 GE 0/0/0接口的 Level-2 DIS 优先级的值已被修改成127, Level-1 DIS 优先级的值依旧为64,接口信息中 DIS 属性为 No / Yes 。说明R2现在是 Level-2 DIS 。注意,与 OSPF 协议不同, DIS 优先级修改之后,优先级更高的路由器会迅速抢占 DIS 的角色。

在R1上使用命令display isis lsdb is-name R1 verbose命令查看R1生成的LSP的详细信息。

      可以看到,在 RI 的 Level-1的 LSDB 中 LSP ID 为0000.0000.0001.00-00*的 LSP 由 RI 自己产生,这条 LSP 描述了R1和伪节点R1.01之间的链路状态信息。
       观察还发现,在R1的 Level-1 LSDB 中还有一条 LSP ID 为0000.0000.0001.01-00*的 LSP ,这条 LSP 其实就是由R1代替伪节点R1.01产生的一条 Level-1 PSN LSP ,其中的 NBR ID 描述了R1.01这个伪节点同时连接了R1、R2、R3这3台路由器,而 Cost 说明了R1.01这个伪节点到R1、R2、R3的开销值都为0。注意,在广播网络上,路由器到伪节点的开销值默认为是10,而伪节点到路由器的开销值为0。

相关文章:

IS-IS DIS

原理概述 OSPF 协议支持4种网络类型, IS-IS 协议只支持两种网络类型,即广播网络和点到点网络。与 OSPF 协议相同, IS-IS 协议在广播网络中会将网络视为一个伪节点( Pseudonode ,简称 PSN ),并选举出一台 DIS ( Designa…...

random和range

含义: random(1,10) 不包含10,用于生成随机数。它可以生成浮点数或整数,取决于具体的使用方式。 range(0,1) 不包含1,用于生成一个整数序列。它可以生成一个指定范围内的连续整数序列。 区别在于&#x…...

研二学妹面试字节,竟倒在了ThreadLocal上,这是不要应届生还是不要女生啊?

一、写在开头 今天和一个之前研二的学妹聊天,聊及她上周面试字节的情况,着实感受到了Java后端现在找工作的压力啊,记得在18,19年的时候,研究生计算机专业的学生,背背八股文找个Java开发工作毫无问题&#x…...

Golang:gammazero/deque是一个快速环形缓冲区deque(双端队列)实现

gammazero/deque是一个快速环形缓冲区deque(双端队列)实现。 文档 https://github.com/gammazero/deque 安装 go get github.com/gammazero/deque代码示例 先入先出队列 package mainimport ("fmt""github.com/gammazero/deque&quo…...

C++ 时间处理-统计函数运行时间

1. 关键词2. 问题3. 解决思路4. 代码实现 4.1. timecount.h4.2. timecount.cpp 5. 测试代码6. 运行结果7. 源码地址 1. 关键词 C 时间处理 统计函数运行时间 跨平台 2. 问题 C如何简单便捷地实现“函数运行时间的统计”功能? 3. 解决思路 类的构造函数&#x…...

JAVA面试题大全(十五)

1、Zookeeper 是什么? zookper是一个分布式的,开放源码的分布式应用程序协调服务。是 google chubby 的开源实现,是 hadoop 和 hbase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护…...

使用python对指定文件夹下的pdf文件进行合并

使用python对指定文件夹下的pdf文件进行合并 介绍效果代码 介绍 对指定文件夹下的所有pdf文件进行合并成一个pdf文件。 效果 要合并的pdf文件,共计16个1页的pdf文件。 合并成功的pdf文件:一个16页的pdf文件。 代码 import os from PyPDF2 import …...

Day50 | 309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费 总结

代码随想录算法训练营Day50 | 309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费 总结 LeetCode 309.最佳买卖股票时机含冷冻期 题目链接:LeetCode 309.最佳买卖股票时机含冷冻期 思路: 四个状态。 保持持有股票,保持卖出股票…...

Steam在连接至服务器发生错误/连接服务器遇到问题解决办法

Steam作为全球最大的数字游戏分发平台,构建了一个活跃的玩家社区,用户可以创建个人资料,添加好友,组建群组,参与讨论,甚至直播自己的游戏过程。通过创意工坊,玩家还能分享自制的游戏模组、地图、…...

kafka 工作流程文件存储

爬虫组件分析 目录概述需求: 设计思路实现思路分析1.kafka 工作流程2.kafka 文件存储 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for…...

贪心算法4(c++)

过河的最短时间 题目描述 输入 在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的是,N个人一共只带了一只手电筒,而桥窄得只够让两个人同时过,如果…...

【无标题】yoloV8目标检测与实例分割--目标检测onnx模型部署

1. 模型转换 ONNX Runtime 是一个开源的高性能推理引擎,用于部署和运行机器学习模型,其设计的目标是优化执行open neural network exchange (onnx)格式定义各模型,onnx是一种用于表示机器学习模型的开放标准。ONNX Ru…...

深入理解与防御跨站脚本攻击(XSS):从搭建实验环境到实战演练的全面教程

跨站脚本攻击(XSS)是一种常见的网络攻击手段,它允许攻击者在受害者的浏览器中执行恶意脚本。以下是一个XSS攻击的实操教程,包括搭建实验环境、编写测试程序代码、挖掘和攻击XSS漏洞的步骤。 搭建实验环境 1. 安装DVWA&#xff…...

初步认识栈和队列

Hello,everyone,今天小编讲解栈和队列的知识!!! 1.栈 1.1栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。 进行数据插入和删除操作的一端 称为栈顶&…...

插件:NGUI

一、版本 安装完毕后重启一下即可,否则可能创建的UI元素不生效 二、使用 Label文字 1、创建Canvs 2、只有根节点的这些脚本全部展开才能鼠标右键创建UI元素 3、选择字体 Label添加打字效果 Sprite图片 1、选择图集 2、选择图集中的精灵 InvisibleWidget容器 用来…...

网络爬虫原理及其应用

你是否想知道Google 和 Bing 等搜索引擎如何收集搜索结果中显示的所有数据。这是因为搜索引擎对其档案中的所有页面建立索引,以便它们可以根据查询返回最相关的结果。网络爬虫使搜索引擎能够处理这个过程。 本文重点介绍了网络爬虫的重要方面、网络爬虫为何重要、其…...

串口中断原理及实现

一、串口的原理 SM0、SM1——串行口工作模式 SM0SM1模式特点00模式0移位寄存器方式,用于I/O口扩展01模式18位UART,波特率可变10模式29位UART,波特率为时钟频率/32或/6411模式39位UART,波特率可变 TI、RI——发送、接收中断标志位 TITI0 允许发送>TI1 发送完成后…...

课时136:变量进阶_变量实践_高级赋值

2 变量进阶 2.1 变量实践 2.1.1 高级赋值 学习目标 这一节,我们从 基础知识、简单实践、小结 三个方面来学习 基础知识 简介 所谓的高级赋值,是另外的一种变量值获取方法,这里涉及到更多我们学习之外的一些shell内置变量格式,其实这部分…...

牛客网刷题 | BC99 正方形图案

目前主要分为三个专栏,后续还会添加: 专栏如下: C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读! 初来乍到,如有错误请指出,感谢! 描述 KiKi学习了循环&am…...

启动小程序F12窗口管理器

如何使用小程序F12任务窗口管理器教学流程 一、引言 小程序的开发者们,是否希望有一款工具能帮助你们更好地管理任务窗口? 二、前置准备 观看视频教程 访问B站视频链接:https://www.bilibili.com/video/BV1aa4y197UU/?spm_id_from333.9…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络&#xf…...

【Oracle】分区表

个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散

前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说,在叠衣服的过程中,我会带着团队对比各种模型、方法、策略,毕竟针对各个场景始终寻找更优的解决方案,是我个人和我司「七月在线」的职责之一 且个人认为&#xff0c…...

【堆垛策略】设计方法

堆垛策略的设计是积木堆叠系统的核心,直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法,涵盖基础规则、优化算法和容错机制: 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则: 大尺寸/重量积木在下&#xf…...

数据结构第5章:树和二叉树完全指南(自整理详细图文笔记)

名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 原创笔记:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 上一篇:《数据结构第4章 数组和广义表》…...