ISIS-4 LSP计算

上一章我们介绍了ISIS的LSDB的形成以及相关实验

这一章我们来介绍ISIS是怎样来计算我们的路由的


1、LSDB数据库

之前我们在ISIS概述里面已经提及到Level-1的路由器设备只会维护Level-1的LSDB

Level1-2会维护Level-1以及Level-2的LSDB,Level-2只会维护Level-2的LSDB


2、ATT置位

我们可以知道Level-1路由器会计算出本区域的拓扑信息以及各个网段的路由信息,那么到达其他区域的拓扑信息以及网段信息是如何进行计算的呢?

Level-1/2路由器在有活跃的Level-2的数据库时会将发送给Level-1路由器的LSP中的ATT置位,Level-1路由器在收到ATT位置位的LSP时会自动生成一条指向Level-1/2的默认路由,用来访问其他区域

ATT置位的条件

  • 该设备是L1/2路由器
  • 该设备有活跃(active)的L2的数据库(通过SPF算法能够连接到其他区域)

就算没有L1的邻居,L1/2路由器只要满足以上两点就会将ATT置位

注意:为了避免环路的问题,同一个区域的Level1/2路由器不会使用同一个区域的其他Level1/2路由器的Level-1的LSP的ATT置位来计算默认路由

如果有多台L1/2路由器连接到了同一台L1路由器上,并且ATT置位且开销一致的情况下会进行负载分担

但由于Level-1路由器访问其他区域时没有相对应的明细路由所以会出现次优路径的可能例如以下这种情况:

在这张拓扑当中,AR1由于没有L2区域的明细路由所以通过COST会优选AR2来到达AR4,这样就会出现次优路径的产生,当然我们可以通过路由泄漏或路由渗透来解决这一问题


3、P置位

 

这里的P置位有点类似于我们OSPF中的Vlink虚链路,也就是将区域分割开了,通过虚连接来将两个区域连接到一起,但ISIS这里研发并没有实现相应功能所以我们就不过多赘述



4、OL置位

OL 过载标志位有点类似于OSPF中的stub-router

如果OL置位了其他路由器将不会把本设备加入到SPF计算当中,也就是不能当作路径使用,当然自身产生的LSP或引入的LSP还是可以正常学习和访问的

OL置位有两种情况:

  • 手动置位(set-overload)
  • 自动置位,设备的LSDB溢出时设备将自动置位,用来告诉其他设备我已经无法承载更多的LSP了

注意:ATT置位和OL置位是互斥的,如果ATT置位了OL就不可能置位,因为OL置位本身就是想告诉其他设备不要经过我

拓扑

(1)基础配置

AR1
system
sysname AR1
interface g0/0/0
ip add 10.0.12.1 24AR2
system
sysname AR2
interface g0/0/0
ip add 10.0.12.2 24
interface g0/0/1
ip add 10.0.23.2 24AR3
system
sysname AR3
interface g0/0/0
ip add 10.0.23.3 24

 (2)ISIS配置

AR1
isis 1
is-level level-1
network-entity 49.0001.0000.0000.0001.00
q
interface g0/0/0
isis enable 1AR2
isis 1
network-entity 49.0001.0000.0000.0002.00
set-overload
y
q
interface g0/0/0
isis enable 1
interface g0/0/1
isis enable 1AR3
isis 1
network-entity 49.0002.0000.0000.0003.00
q
interface g0/0/0
isis enable 1

 

配置完后我们发现在AR1中查看LSDB时AR2的LSP中OL置位了

此时我们在AR3上创建一个Loopback接口在ISIS中启动并在AR2上把L2的LSP渗透到L1中看看AR1能不能学到相关的路由信息

可以看到AR1是学习不到3.3.3.3的相关路由信息的

如果此时我们在AR2上修改命令为set-overload allow interlevel,看看AR1能不能学习到相关路由信息

我们可以看到虽然此时OL置位了但我们AR1仍然能学习到3.3.3.3的路由信息

一般这种手工OL置位我们会在网络割接的时候临时使用


5、路由渗透(路由泄漏)

 我们前面说到在L1/2设备中如果存在活跃的L2的LSDB的情况下就会将ATT置位,在L1路由器上生成一条默认路由,但我们说了这可能会导致次优路径的产生,所以我们需要让L1区域的路由器学习到其他区域的明细路由可不可以

当然可以,我们可以将L2的LSP信息渗透到L1当中,这一过程有点类似于引入,但并不是引入,什么意思?我们接下来可以进行实验来进一步说明

拓扑

(1)基础配置

AR1
system
sysname AR1
interface g0/0/0
ip add 10.0.12.1 24AR2
system
sysname AR2
interface g0/0/0
ip add 10.0.12.2 24
interface g0/0/1
ip add 10.0.23.2 24AR3
system
sysname AR3
interface g0/0/0
ip add 10.0.23.3 24

(2)ISIS配置

AR1
isis 1
is-level level-1
network-entity 49.0001.0000.0000.0001.00
q
interface g0/0/0
isis enable 1AR2
isis 1
network-entity 49.0001.0000.0000.0002.00
q
interface g0/0/0
isis enable 1
interface g0/0/1
isis enable 1AR3
isis 1
network-entity 49.0002.0000.0000.0003.00
q
interface g0/0/0
isis enable 1

配置完成之后我们会在AR1的LSDB中看到由L1/2路由器产生的ATT置位的LSP

此时我们查看路由表当中就会自动生成一条指向AR2的默认路由

此时我们在AR1上创建一个Loopback接口并将它启动到ISIS当中AR3是可以学习到Loopback接口的明细路由的

我们发现AR3可以通过L2的数据库学习到L1的明细路由,这是因为在ISIS中L1/2设备会自动将L1区域中的LSP引入到L2区域当中

我们可以看到这是一条默认配置,当然我们也可以将它Down掉这样AR3也无法学习到AR1上的明细路由了

此时我们再在AR3上创建一个Loopback接口并将它启动到ISIS当中

但在我们AR1上是无法直接学习到L2区域中的明细路由的,但我们可以手工将L2区域的LSP渗透到L1当中

import-route isis level-2 into level-1 

此时我们再去AR1上查看路由表时就会发现可以学习到L2区域中的路由信息了,并且我们在查看LSP信息时会发现多了一个*号

这个*号表示这条LSP是渗透进来的

为了避免环路问题,L1/2路由器收到一条UP/Down置位的LSP信息时会进行计算但不会将它回灌到L2区域(这里与OSPF不同,OSPF中ABR设备在收到一条3类LSA时并不会进行计算也不会往区域内传递此LSA)

(这里与OSPF不同,在OSPF中ABR收到一份3类LSA不会进行计算也不会将3类LSA向区域内进行传递)

为什么说L2引入到L1叫路由泄漏而L1引入到L2不叫路由泄漏呢?

因为在L1引入到L2时Distribution并不会置位,并且我们L1/2设备在引入其他路由时也不会置位

我们在AR2上创建一个Loopback接口,IP为2.2.2.2将它以直连的方式引入到L1当中

我们发现在引入过程中UP/Down字段并不会置位

到这里本章内容就到此结束了如果有疑问可以关注博主私聊,如果有问题欢迎私聊博主及时更改谢谢大家的观看学习!!! 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/76018.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第7期:生成式AI伦理边界——当技术撞上道德与法律的防火墙

现实版"黑镜"事件 某直播平台主播使用AI换脸技术冒充明星带货,当晚销售额破亿。三天后收到法院传票——这不仅侵犯肖像权,生成的虚假宣传内容还引发大规模消费投诉。这个案例让行业意识到:没有伦理约束的AI,就像没有刹车…

Vue2 使用 v-if、v-else、v-else-if、v-show 以及 v-has 自定义指令实现条件渲染

提示:渲染就是显示 文章目录 前言v-if 的基础用法v-elsev-else-ifv-show 和 v-if 对比自定义指令 v-hasv-if 和 v-has 结合使用场景完整示例补充说明 前言 提示:这里可以添加本文要记录的大概内容: 在 Vue2 中,可以通过 v-if 和…

【项目合集】只能xx养殖系统,STM32、esp8266、OLED屏幕、dht11、光敏、水位、加热、风扇

硬件 STM32 主控ESP8266 WIIF 模块烟雾传感器dht11 温湿度传感器光敏传传感器(偏暗、亮两种状态)水位检测OLED 显示当前状态(环境数据)加热模块(灯代替)风扇模块电源模块继电器(控制风扇&#…

Java多线程与高并发专题——Condition 和 wait/notify的关系

引入 上一篇关于Condition,我们对Condition有了进一步了解,在之前生产/消费者模式一文,我们讲过如何用 Condition 和 wait/notify 来实现生产者/消费者模式,其中的精髓就在于用Condition 和 wait/notify 来实现简易版阻塞队列&am…

29_项目

目录 http.js 1、先注册账号 register.html 2、再登录 login.html 3、首页 index.html 4 详情 details.html cart.html css index.css register.css details.css 演示 进阶 http.js let baseURL "http://localhost:8888"; let resgiterApi baseURL &…

Next.js 项目生产构建优化

Next.js 项目生产构建优化的完整教程,涵盖配置、工具链和性能调优技巧,助你显著加速 npm run build: 注:学习阶段请先测试环境使用! 文章目录 [toc]一、基础优化1. 确保使用最新版本2. 清理无用依赖和代码3. 配置 nex…

【嵌入式学习3】多任务编程

目录 1、多任务 并发:在一段时间内交替去执行任务 并行: 2、线程 进程与线程 守护线程 1、多任务 在同一时间内执行多个任务,多任务分为并发和并行两种形式 并发:在一段时间内交替去执行任务 软件1执行0.01秒,切…

链路聚合(Link Aggregation)

目录 一. 链路聚合概述 1. 基本概念 2. 实现条件 3. 成员接口和成员链路 二. 链路聚合模式 1. 手工模式 2. LACP模式 三. 负载分担 1. 基于数据包的负载分担 2. 基于数据流的负载分担 一. 链路聚合概述 1. 基本概念 链路聚合(Link Aggregation&#xff…

QT图片轮播器(QT实操学习2)

1.项目架构 1.UI界面 2.widget.h​ #ifndef WIDGET_H #define WIDGET_H#include <QWidget>#define TIMEOUT 1 * 1000 QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent n…

【HTML5】02-列表 + 表格 + 表单

本文介绍 列表、表格、表单的具体使用。 目录 1. 列表 1.1 无序列表 1.2 有序列表 1.3 定义列表 2. 表格 2.1 基本使用 2.2 表格结构标签 2.3 合并单元格 3. 表单 3.1 input标签 3.2 input 标签占位文本 3.3 单选框 3.4 上传文件 3.5 多选框 3.6 下拉菜单 3.7…

【数据结构】导航

【数据结构】-CSDN博客 【数据结构】next数组、nextval数组-CSDN博客

开源项目里的 autogen.sh 是做什么?

./autogen.sh 是一个在基于 Autotools 构建系统的开源项目中常见的脚本。它的主要作用是准备构建环境&#xff0c;生成后续编译所需的关键文件。 更具体地说&#xff0c;./autogen.sh 通常会执行以下操作&#xff1a; 检查构建工具: 它会检查系统中是否安装了构建项目所需的工…

RabbitMQ高级特性--发送方确认

目录 1. confirm确认模式 1.配置RabbitMQ 2.设置确认回调逻辑并发送消息 2.Return退回模式 1.配置RabbitMQ 2.设置返回回调逻辑并发送消息 在使用RabbitMQ的时候, 可以通过消息持久化来解决因为服务器的异常崩溃而导致的消息丢失, 但是还有⼀个问题, 当消息的生产者将消息发送出…

Python的ASGI Web 服务器之uvicorn

文章目录 什么是uvicornUvicorn 和 uWSGI 对比区别安装 Uvicorn使用示例 什么是uvicorn 官网https://www.uvicorn.org/ Uvicorn 是一个用于 Python 的 ASGI Web 服务器实现。 Until recently Python has lacked a minimal low-level server/application interface for async…

MongoDB 创建数据库

MongoDB 创建数据库 引言 MongoDB 是一款高性能、可扩展的 NoSQL 数据库&#xff0c;广泛应用于大数据领域。在 MongoDB 中&#xff0c;创建数据库是进行数据存储的第一步。本文将详细介绍 MongoDB 数据库的创建方法&#xff0c;包括手动创建和自动创建两种方式。 MongoDB 数…

并发编程之最小化共享

文章目录 **什么是「最小化共享」&#xff1f;****为什么要最小化共享&#xff1f;****如何实现最小化共享&#xff1f;****1. 线程局部存储&#xff08;Thread-Local Storage&#xff09;****2. 消息传递&#xff08;Message Passing&#xff09;****3. 不可变数据&#xff08…

通信之光纤耦合器

以下是关于光纤耦合器的详细介绍&#xff1a; 定义与原理 - 定义&#xff1a;光纤耦合器是一种能使传输中的光信号在特殊结构的耦合区发生耦合&#xff0c;并进行再分配的器件&#xff0c;也叫分歧器、连接器、适配器、光纤法兰盘。 - 原理&#xff1a;利用不同光纤面紧邻光纤芯…

自然语言模型的演变与未来趋势:从规则到多模态智能的跨越

自然语言模型的演变与未来趋势&#xff1a;从规则到多模态智能的跨越 自然语言处理(NLP)作为人工智能领域最具挑战性的分支之一&#xff0c;在过去几十年经历了翻天覆地的变化。从最初基于规则的系统到如今拥有万亿参数的大型语言模型(LLMs)&#xff0c;这一技术革新不仅彻底改…

笔记本电脑更换主板后出现2203:System configuration is invalid,以及2201、2202系统错误的解决

笔记本电脑更换主板后启动出现2203:System configuration is invalid,以及2201、2202系统错误的解决 自用的一台ThinkpadT490笔记本电脑 ,由于主板故障,不得不更换主板,通过某宝购置主板后进行了更换。 具体拆卸笔记本可搜索网络视频教程。 注意: 在更换主板时,注意先拍…

JavaScript中的观察者模式

以下是关于 观察者模式(Observer Pattern) 的全面梳理,涵盖核心概念、实现方式、应用场景及注意事项,帮助我们掌握这一解耦事件通知与处理的经典设计模式: 一、观察者模式基础 1. 核心概念 定义:定义对象间 一对多 的依赖关系,当被观察对象(Subject)状态变化时,自动…