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

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

  1. [R1]isis 1
    这个命令进入了IS-IS协议的配置模式,并且指定了IS-IS实例或进程的编号为1。在大型网络中,可能会有多个IS-IS实例,每个实例可以有不同的配置和参数。

  2. [R1-isis-1]is-level level-1
    这个命令将当前的IS-IS实例配置为Level-1。在IS-IS中,有两种级别的路由:Level-1和Level-2。Level-1主要负责在区域内进行路由计算和选择,而Level-2负责在区域间进行路由计算和选择。这个命令将R1设备配置为只参与Level-1的路由计算。

  3. [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网络中唯一标识一个设备。

  4. [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 一个不完整的示例&#xff1a; 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…...

缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级的理解

一&#xff1a;缓存雪崩 我们可以简单的理解为&#xff1a;由于原有缓存失效&#xff0c;新缓存未到期间 (例如&#xff1a;我们设置缓存时采用了相同的过期时间&#xff0c;在同一时刻出现大面积的缓存过期)&#xff0c;所有原本应该访问缓存的请求都去查询数据库了&#xff…...

springcloud gateway

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

JAVA八股day1

遇到的问题 相比于包装类型&#xff08;对象类型&#xff09;&#xff0c; 基本数据类型占用的空间往往非常小为什么说是几乎所有对象实例都存在于堆中呢&#xff1f;静态变量和成员变量、成员变量和局部变量的区别为什么浮点数运算的时候会有精度丢失的风险&#xff1f;如何解…...

探索拓展坞的奥秘:提升电脑接口的无限可能

在数字化时代的浪潮中&#xff0c;电脑已成为我们日常生活和工作中不可或缺的一部分。然而&#xff0c;随着外接设备的日益增多&#xff0c;电脑接口的数量和类型往往无法满足我们的需求。这时&#xff0c;拓展坞便应运而生&#xff0c;以其强大的扩展能力和便捷的使用方式&…...

Linux中执行脚本报错(脚本乱码问题)

主要原因是在windows中编译文件格式导致 linux下解决&#xff1a; 方案一&#xff1a; Linux下打开shell文件&#xff0c;用vi/vim命令打开脚本文件&#xff0c;输入“:set fileformatunix”&#xff0c;回车&#xff0c;保存退出。 方案二&#xff1a; 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数据库中的数据导入是一个常见操作&#xff0c;它涉及将数据从外部源转移到MySQL数据库表中。在本教程中&#xff0c;我们将探讨几种常见的数据导入方式&#xff0c;包括它们的特点、使用场景以及简单的示例。 1. 命令行导入 使用MySQL命令行工具mysql是导入数据的…...

构建部署_Docker常用命令

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

Spring Boot Actuator介绍

大家在yaml中经常见到的这个配置 management: endpoints: web: exposure: #该配置线上需要去掉&#xff0c;会有未授权访问漏洞 include: "*" 他就是Actuator&#xff01; 一、什么是 Actuator Spring Boot Actuator 模块提供了生产级别…...

数据库中DQL、DML、DDL、DCL的概念与区别

目录 DQL (Data Query Language) DML (Data Manipulation Language) DDL (Data Definition Language) DCL (Data Control Language) 数据库语言可以根据其功能被分为几个不同的类别&#xff1a;DQL&#xff08;数据查询语言&#xff09;、DML&#xff08;数据操纵语言&…...

MacOS---设置Java环境变量

介绍 在MacOS系统配置Java环境变量。 操作步骤 第一步&#xff1a;打开.bash_profile文件 vim ~/.bash_profile第二步&#xff1a;添加或修改配置 如果是第一次配置需要添加配置如果是已经配置过想更换其他版本需要修改配置 在文件末尾添加或修改下面的配置 export JAVA…...

使用 Boot Camp 助理查明您的 Mac 需不需要 Windows 安装介质

使用 Boot Camp 助理查明您的 Mac 需不需要 Windows 安装介质 当前的 Mac 机型无需介质即可安装 Windows&#xff0c;也就是说&#xff0c;您不需要用到外置驱动器。较早的 Mac 机型需要用到 USB 驱动器或光盘驱动器。使用 Boot Camp 助理可查明您需要用到什么。 Boot Camp 助…...

KY105 整除问题(用Java实现)

描述 给定n&#xff0c;a求最大的k&#xff0c;使n&#xff01;可以被a^k整除但不能被a^(k1)整除。 输入描述&#xff1a; 两个整数n(2<n<1000)&#xff0c;a(2<a<1000) 输出描述&#xff1a; 一个整数. 示例1 输入&#xff1a; 6 10输出&#xff1a; 1代…...

C++ 接口的实现,及作用通俗理解方式

接口 C中的接口&#xff0c;一般就是指抽象类&#xff0c;是一种用来描述类对外提供的操作、方法或功能的集合——注意&#xff0c;一般只是描述&#xff08;声明&#xff09;&#xff0c;而不对这些方法或功能进行定义实现&#xff0c;通常在类的继承或多态中作为基类使用&am…...

TypeScript:typescript的安装与运行

TypeScript&#xff1a;typescript的安装与运行 1 安装方式 -g全局安装TypeScript&#xff1a; npm install -g typescript2 运行方式 &#xff08;1&#xff09;ts编译成js&#xff0c;使用node命令运行js文件 打开vscode&#xff0c;进入ts文件所在目录下并打开终端term…...

【代码随想录Day27】

Day 27 回溯算法03 今日任务 组合总和 40.组合总和II131.分割回文串 代码实现 组合总和&#xff0c;直接套模板可解 public List<List<Integer>> combinationSum(int[] candidates, int target) {backtracking(candidates, target, 0);return result;}void back…...

【一】【单片机】有关LED的实验

点亮一个LED灯 根据LED模块原理图&#xff0c;我们可以知道&#xff0c;通过控制P20、P21...P27这八个位置的高低电平&#xff0c;可以实现D1~D8八个LED灯的亮灭。VCC接的是高电平&#xff0c;如果P20接的是低电平&#xff0c;那么D1就可以亮。如果P20接的是高电平&#xff0c;…...

面试算法-49-缺失的第一个正数

题目 给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,0] 输出&#xff1a;3 解释&#xff1a;范围 [1,2] 中的数字都…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向&#xff0c;可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

CSS | transition 和 transform的用处和区别

省流总结&#xff1a; transform用于变换/变形&#xff0c;transition是动画控制器 transform 用来对元素进行变形&#xff0c;常见的操作如下&#xff0c;它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧

上周三&#xff0c;HubSpot宣布已构建与ChatGPT的深度集成&#xff0c;这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋&#xff0c;但同时也存在一些关于数据安全的担忧。 许多网络声音声称&#xff0c;这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 &#xff1a;开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置&#xff0c;将微信开发者工具放入到Hbuilder中&#xff0c; 打开后出现 如下 bug 解…...

高考志愿填报管理系统---开发介绍

高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发&#xff0c;采用现代化的Web技术&#xff0c;为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## &#x1f4cb; 系统概述 ### &#x1f3af; 系统定…...