2. IS-IS 基础实验
2.1 IS-IS 配置实验
2.1.1 实验介绍
2.1.1.1 学习目标
1. 实现 IS-IS 协议基本配置
2. 实现 IS-IS 协议 DIS 优先级修改
3. 实现 IS-IS 协议网络类型修改
4. 实现 IS-IS 协议外部路由引入
5. 实现 IS-IS 接口 cost 修改
6. 实现 IS-IS 路由渗透配置
2.1.1.2 实验组网介绍
IP 地址、IS-IS 区域、IS-IS 路由器等级如图所示,其中 R1、R2、R3 属于 49.0001 区域,R4.R5 属于 49.0002 区域,所有路由器均创建 Loopback0 接口,其IP 地址为 10.0.x.x/32,其中x为设备编号
2.1.1.3 实验背景
某客户的网络使用 IS-IS 协议作为 IGP,R4 和 R5 运行在 49.0002 区域,都是 Level-2 路由器。R1、R2、R3 运行在 49.0001 区域,其中 R1 是 Level-1 路由器,R2和 R3 作为 Level-1-2路由器。R5 上引入了外部路由 192.168.1.0/24。要求:R1 可以访问 R5 引入的外部路由;R1 的 GE0/0/1 接口作为 DIS;R1 与 R5 之间的双向流量要求沿着 R3、R4 这条路径转发,可以通过 cost 和路由渗透进行选路控制
2.1.2 实验任务
2.1.2.1 任务思路
1. 设备 IP 地址配置
2. 按照规划配置 IS-IS
3. 检查 IS-1S 配置结果,分别在 R1、R4 检查 IS-IS 邻居信息
4. 手动修改 R1 GE0/0/1 接口的 DIS 优先级,使其成为 DIS
5. 在 R5 上创建 Loopback1,作为外部路由引入到 |S-IS 中,分别在 R4、R1 上观察 IS-IS 路由表,并测试 R1与外部路由地址之间的连通性
6. 手动在 R4 上修改 GE0/0/3 的 IS-IS Cost 值,使得 R4 优选下一跳为 R2 的路由前往 R1
7. 在 R3 上配置 IS-IS 的路由渗透,使得 R1 从 R3 上学习到 L2 区域的明细路由,使得 R1 根据最长匹配原则,优选下一跳为 R3 的明细路由前往 L2 区域
2.1.2.2 任务步骤
步骤 1、互联接口、环回口 IP 地址配置
# 配置 R1 的 GE0/0/0、Loopback0 接囗IP 地址
#配置 R2 的 GE0/0/0、GE0/0/1、Loopback0 接囗IP 地址
# 配置 R3 的 GE0/0/0、GE0/0/1、Loopback0 接囗 IP 地址
# 配置 R4的 GE0/0/0、GE0/0/1、GE0/0/2、Loopback0 接口 IP 地址
# 配置 R5 的 GE0/0/0、Loopback0 接囗IP 地址
#在 R1、R4 上检查互联地址连通性
步骤 2、IS-IS 协议配置
按照拓扑设计逐台配置路由器的 IS-IS 进程,进程号使用1,NET 使用设备编号,以 R1 为例:49.0001.0000.0000.0001.00
# 配置 R1
[R1]isis 1
这个命令进入了IS-IS协议的配置模式,并且指定了IS-IS实例或进程的编号为1。在大型网络中,可能会有多个IS-IS实例,每个实例可以有不同的配置和参数。
[R1-isis-1]is-level level-1
这个命令将当前的IS-IS实例配置为Level-1。在IS-IS中,有两种级别的路由:Level-1和Level-2。Level-1主要负责在区域内进行路由计算和选择,而Level-2负责在区域间进行路由计算和选择。这个命令将R1设备配置为只参与Level-1的路由计算。
[R1-isis-1]network-entity 49.0001.0000.0000.0001.00
这个命令设置了IS-IS的网络实体标题(Network Entity Title, NET)。NET是IS-IS协议中用来标识一个IS(中间系统)的标识符,由系统ID(System ID)和伪节点ID(Pseudo-Node ID)组成。在这个例子中,系统ID是49.0001.0000.0000.0001
,而伪节点ID是00
。这通常用于在IS-IS网络中唯一标识一个设备。
[R1-LoopBack0]isis enable 1
这个命令在特定的接口(在这个例子中是LoopBack0接口)上启用IS-IS协议,并且指定了使用编号为1的IS-IS实例。LoopBack接口通常用于设备内部测试或作为路由协议的标识地址。启用IS-IS意味着该接口将参与IS-IS路由协议的计算和通告。
# 配置 R2
# 配置 R3
# 配置 R4
# 配置 R5
# 为保证安全性,配置 IS-IS 的接口认证,使用 MD5 方式,密码配置为“huawei'
步骤 3、检查 IS-IS 配置结果
# 在 R1、R4 查看 IS-IS 邻居
Peer information for IsIs(1)
这一行表示显示的是编号为1的IS-IS实例的邻居信息
System Id Interface Circuit Id state HoldTime Type
这是输出的表头,分别表示邻居的系统ID、接口、电路ID、状态、保持时间(HoldTime)和类型
0000.0000.0002 GE0/0/0 0000.0000.0003.01 U 255 8s L1
System Id
: 0000.0000.0002,这是邻居设备的系统ID。Interface
: GE0/0/0,这是本设备与邻居设备建立IS-IS邻居关系的接口。Circuit Id
: 0000.0000.0003.01,这是IS-IS电路的ID,用于在邻居之间唯一标识一个电路。state
: U,这表示电路的状态是“Up”,意味着电路已经建立并且处于活动状态。HoldTime
: 255,这是IS-IS协议的保持时间,单位可能是秒或者其他时间单位,具体取决于设备的实现。Type
: L1,这表示这是一个Level-1的邻居。
TotalPeer(s):2
这一行表示总共有2个IS-IS邻居
R1 已经成功地与 R2、R3 建立 IS-IS 邻居,并且是 L1 类型
R4 已经成功地与 R2、R3、R5 建立 IS-IS 邻居,并且是 L2 类型
# 在 L2 路由器 R4 上检查 IS-IS 路由表
从输出信息可以看到 L2 路由器 R4 已经学习到整网的路由,并且前往 10.0.123.0/24、10.0.1.1/32 的路由已经处于负载均衡的状态下
步骤 4、修改 R1 GE0/0/0 接口的 DIS 优先级
R1、R2、R3 处于同一个广播网络中,它们会选举出一个 DIS,通过修改 DIS 优先级手动指定R1 的 GE0/0/0 作为 DIS
# 在 R1 上查看 IS-IS 接口状态
此时 R1 的 GE0/0/1 接口并不是 DIS
# 修改 R1 的 GE0/0/0 DIS 优先级
# 在 R1 上查看 IS-IS 接囗状态
此时 R1 的 GE0/0/1 接口已经成为 DIS
步骤 5、引入外部路由
# 在 R5 上创建 Loopback1 接口,配置IP 地址为 192.168.1.1,作为外部路由引入到 IS-1S 中
# 在 R5 上查看 IS-IS 路由表
在 L2 的路由重发布表中可以看到引入的外部路由
# 在 R4 上查看 IS-1S 路由 192.168.1.1
R4 此时已经学习到 IS-IS 路由 192.168.1.1/32
# 在 R1 上查看 IS-IS 路由表
从输出信息无法看到路由 192.168.1.1/32,R1 作为 L1 路由器,默认情况下 L1-2 路由器不会向其传递 L2 路由,所以在 R1 上无法看到引入的外部路由 192.168.1.1/32,但 R1 上存在前往骨干区域的默认路由,并且为负载均衡状态
#在 R1 上测试与 R5 的 Loopback1 接口的连通性
R1 可以与 R5 的 Loopback1 接口正常通信
步骤 6、修改 IS-IS 接口 Cost 值
R4 前往 R1 的流量此时通过 R2、R3 进行负载分担(之前的查看路由表时已经观察到),管理员希望手工控制 R4 前往 R1 的流量经过 R2,为此在 R4 上手动修改接口 Cost。
# R4 上查看 IS-IS 路由 10.0.1.1/32
此时 R4 前往 R1 的 Loopback0 接口为负载分担,其下一跳分别为 10.0.24.2、10.0.34.3.
# 修改 R4的 GE0/0/3 接口其 IS-IS Cost 值
# 再次在 R4 上查看 IS-IS 路由 10.0.1.1/32
此时 R4 前往 R1 的 Loopback0 接囗只存在一个下一跳,即 10.0.24.2
步骤 7、配置 IS-IS 路由渗透
由于缺省时 R1 并不知道到达 L2 区域的具体路由,仅仅通过 L1-2 路由器发布的缺省路由到达L2 区域,因此当前 R1 只能选择 R2 及 R3 作为等价的下一跳设备到达 L2 区域。为了将 R1 发往 R5 的流量引导到 R3 进行转发,可以在 R3 上配置路由渗透,由其将到达 L2 区域的路由渗透到 L1 区域,使得 R1 能够通过 IS-IS 学习到相关路由
# 在 R1 的 IP 路由表中查看 R5 Loopback0 接口路由
可以看到此时 R1 去往 10.0.5.5 为通过 R2、R3 负载均衡,
# 在 R3 上配置 IS-IS 路由渗透
import-route isis level-2 into level-1
这个命令的作用是将Level-2路由表中的路由信息导入到Level-1路由表中。这通常发生在那些同时参与Level-1和Level-2路由计算的设备上,以便这些设备能够在其Level-1路由计算中考虑到Level-2路由信息
# 再次在 R1 的 IP 路由表中查看 R5 Loopback0 接口路由
可以看到此时 R1 去往 10.0.5.5 的路由下一跳为 10.0.123.3,即 R3,并且是明细路由而不是默
认路由
相关文章:

2. IS-IS 基础实验
2.1 IS-IS 配置实验 2.1.1 实验介绍 2.1.1.1 学习目标 1. 实现 IS-IS 协议基本配置 2. 实现 IS-IS 协议 DIS 优先级修改 3. 实现 IS-IS 协议网络类型修改 4. 实现 IS-IS 协议外部路由引入 5. 实现 IS-IS 接口 cost 修改 6. 实现 IS-IS 路由渗透配置 2.1.1.2 实验组网介…...
Rust 并行库 crossbeam 的 Channel 示例
示例1 一个不完整的示例: let (tx, rx) channel::unbounded::<Task>(); let mut handlers vec![];for _ in 0..number {let rx rx.clone();let handle thread::spawn(move || {while let Some(task) rx.recv() {task.call_box();}});handlers.push(han…...
缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级的理解
一:缓存雪崩 我们可以简单的理解为:由于原有缓存失效,新缓存未到期间 (例如:我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期),所有原本应该访问缓存的请求都去查询数据库了ÿ…...

springcloud gateway
一、 predicate : 就是你定义一些规则,如果满足了这些规则,就去找到对应的路由。 对于strip 二、自定义过略器和全局过滤器 约定大于配置,后缀不变,只改前缀 sentinel持久化 三、sentinel quick-start | Sentinel 信号量虽然简…...

JAVA八股day1
遇到的问题 相比于包装类型(对象类型), 基本数据类型占用的空间往往非常小为什么说是几乎所有对象实例都存在于堆中呢?静态变量和成员变量、成员变量和局部变量的区别为什么浮点数运算的时候会有精度丢失的风险?如何解…...
探索拓展坞的奥秘:提升电脑接口的无限可能
在数字化时代的浪潮中,电脑已成为我们日常生活和工作中不可或缺的一部分。然而,随着外接设备的日益增多,电脑接口的数量和类型往往无法满足我们的需求。这时,拓展坞便应运而生,以其强大的扩展能力和便捷的使用方式&…...

Linux中执行脚本报错(脚本乱码问题)
主要原因是在windows中编译文件格式导致 linux下解决: 方案一: Linux下打开shell文件,用vi/vim命令打开脚本文件,输入“:set fileformatunix”,回车,保存退出。 方案二: yum install -y dos2uni…...
el-table按钮获取当前行元素
el-table按钮获取当前行元素 vue2 <el-table-column label"操作" width"240px"><template slot-scope"scope"><el-button size"mini" click"toItem(scope.row)">用户详情</el-button><el-butto…...

MySQL数据导入的方式介绍
MySQL数据库中的数据导入是一个常见操作,它涉及将数据从外部源转移到MySQL数据库表中。在本教程中,我们将探讨几种常见的数据导入方式,包括它们的特点、使用场景以及简单的示例。 1. 命令行导入 使用MySQL命令行工具mysql是导入数据的…...

构建部署_Docker常用命令
构建部署_Docker常见命令 启动命令镜像命令容器命令 启动命令 启动docker:systemctl start docker 停止docker:systemctl stop docker 重启docker:systemctl restart docker 查看docker状态:systemctl status docker 开机启动&…...

Spring Boot Actuator介绍
大家在yaml中经常见到的这个配置 management: endpoints: web: exposure: #该配置线上需要去掉,会有未授权访问漏洞 include: "*" 他就是Actuator! 一、什么是 Actuator Spring Boot Actuator 模块提供了生产级别…...
数据库中DQL、DML、DDL、DCL的概念与区别
目录 DQL (Data Query Language) DML (Data Manipulation Language) DDL (Data Definition Language) DCL (Data Control Language) 数据库语言可以根据其功能被分为几个不同的类别:DQL(数据查询语言)、DML(数据操纵语言&…...
MacOS---设置Java环境变量
介绍 在MacOS系统配置Java环境变量。 操作步骤 第一步:打开.bash_profile文件 vim ~/.bash_profile第二步:添加或修改配置 如果是第一次配置需要添加配置如果是已经配置过想更换其他版本需要修改配置 在文件末尾添加或修改下面的配置 export JAVA…...

使用 Boot Camp 助理查明您的 Mac 需不需要 Windows 安装介质
使用 Boot Camp 助理查明您的 Mac 需不需要 Windows 安装介质 当前的 Mac 机型无需介质即可安装 Windows,也就是说,您不需要用到外置驱动器。较早的 Mac 机型需要用到 USB 驱动器或光盘驱动器。使用 Boot Camp 助理可查明您需要用到什么。 Boot Camp 助…...
KY105 整除问题(用Java实现)
描述 给定n,a求最大的k,使n!可以被a^k整除但不能被a^(k1)整除。 输入描述: 两个整数n(2<n<1000),a(2<a<1000) 输出描述: 一个整数. 示例1 输入: 6 10输出: 1代…...
C++ 接口的实现,及作用通俗理解方式
接口 C中的接口,一般就是指抽象类,是一种用来描述类对外提供的操作、方法或功能的集合——注意,一般只是描述(声明),而不对这些方法或功能进行定义实现,通常在类的继承或多态中作为基类使用&am…...

TypeScript:typescript的安装与运行
TypeScript:typescript的安装与运行 1 安装方式 -g全局安装TypeScript: npm install -g typescript2 运行方式 (1)ts编译成js,使用node命令运行js文件 打开vscode,进入ts文件所在目录下并打开终端term…...
【代码随想录Day27】
Day 27 回溯算法03 今日任务 组合总和 40.组合总和II131.分割回文串 代码实现 组合总和,直接套模板可解 public List<List<Integer>> combinationSum(int[] candidates, int target) {backtracking(candidates, target, 0);return result;}void back…...

【一】【单片机】有关LED的实验
点亮一个LED灯 根据LED模块原理图,我们可以知道,通过控制P20、P21...P27这八个位置的高低电平,可以实现D1~D8八个LED灯的亮灭。VCC接的是高电平,如果P20接的是低电平,那么D1就可以亮。如果P20接的是高电平,…...
面试算法-49-缺失的第一个正数
题目 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums [1,2,0] 输出:3 解释:范围 [1,2] 中的数字都…...

Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...

Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...