当前位置: 首页 > 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] 中的数字都…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

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

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

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

git: early EOF

macOS报错&#xff1a; Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...