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

HCIE IGP双栈综合实验

实验拓扑

实验需求及解法

本实验模拟ISP网络结构,R1/2组成国家骨干网,R3/4组成省级网络,R5/6/7组成数据中 心网络。 配置所有ipv4地址,请自行测试直连。

R1
sysname R1
interface GigabitEthernet0/0/0ip address 12.1.1.1 255.255.255.0
interface GigabitEthernet0/0/1ip address 13.1.1.1 255.255.255.0
interface LoopBack0ip address 100.1.1.1 255.255.255.255R2
sysname R2
interface GigabitEthernet0/0/0ip address 12.1.1.2 255.255.255.0
interface GigabitEthernet0/0/1ip address 24.1.1.2 255.255.255.0
interface LoopBack0ip address 100.2.2.2 255.255.255.255R3
sysname R3
interface GigabitEthernet0/0/0ip address 34.1.1.3 255.255.255.0
interface GigabitEthernet0/0/1ip address 13.1.1.3 255.255.255.0
interface GigabitEthernet0/0/2ip address 35.1.1.3 255.255.255.0
interface LoopBack0ip address 100.3.3.3 255.255.255.255R4
sysname R4
interface GigabitEthernet0/0/0ip address 34.1.1.4 255.255.255.0
interface GigabitEthernet0/0/1ip address 24.1.1.4 255.255.255.0
interface GigabitEthernet0/0/2ip address 46.1.1.4 255.255.255.0
interface LoopBack0ip address 100.4.4.4 255.255.255.255R5
sysname R5
interface GigabitEthernet0/0/0ip address 35.1.1.5 255.255.255.0
interface GigabitEthernet0/0/1ip address 57.1.1.5 255.255.255.0
interface LoopBack0ip address 100.5.5.5 255.255.255.255R6
sysname R6
interface GigabitEthernet0/0/0ip address 46.1.1.6 255.255.255.0
interface GigabitEthernet0/0/1ip address 67.1.1.6 255.255.255.0
interface LoopBack0ip address 100.6.6.6 255.255.255.255R7
sysname R7
interface GigabitEthernet0/0/0ip address 57.1.1.7 255.255.255.0
interface GigabitEthernet0/0/1ip address 67.1.1.7 255.255.255.0
interface GigabitEthernet0/0/2ip address 192.168.10.254 255.255.255.0
interface LoopBack0ip address 100.7.7.7 255.255.255.255

PC1

PC2

一、部署ISIS(IPv4)

在R1/2/3/4/5/6/7 上都有环回口 Loopback0 作为设备的管理地址,使用ISIS进程1发布该 地址,使得管理员可以从数据中心的R7访问这些地址。具体需求如下:

1.1 系统ID

所有ISIS路由器系统ID前16位全0,后 32位使用Loopback0的IPv4地址。注意十进制转 换为十六进制。提示100.1.1.1=6401.0101

1.2 区域划分

1.2.1 R1/2 属于区域49.0012

1.2.2 R3/4/5/6/7 属于区域 49.0034

1.3 is-level

1.3.1 R5/6/7 为 Level-1 路由器

1.3.2 R1/2 为 Level-2 的路由器。

1.3.3 R3/4 为 Level-1-2

1.3.4 R3/4 之间建立 Level1 邻居关系

1.3.5 减少不必要的IIH报文

1.4 is-name

使用sysname作为is-name。

R1: 
isis 1 
is-level level-2 
network-entity 49.0012.0000.6401.0101.00 
is-name R1 
#
interface GigabitEthernet0/0/0 
isis enable 1 
interface GigabitEthernet0/0/1 
isis enable 1 
interface LoopBack0 
isis enable 1 R2: 
isis 1 
is-level level-2
network-entity 49.0012.0000.6402.0202.00 
is-name R2 
#
interface GigabitEthernet0/0/0 
isis enable 1 
interface GigabitEthernet0/0/1 
isis enable 1 
interface LoopBack0 
isis enable 1 R3: 
isis 1 
network-entity 49.0034.0000.6403.0303.00 
is-name R3 
import-route isis level-2 into level-1
#
interface GigabitEthernet0/0/1 
isis enable 1 
isis circuit-level level-2 
interface GigabitEthernet0/0/0 
isis enable 1 
isis circuit-level level-1 
interface GigabitEthernet0/0/2 
isis enable 1 
isis circuit-level level-1 
interface LoopBack0 
isis enable 1 R4: 
isis 1 
network-entity 49.0034.0000.6404.0404.00 
is-name R4 
import-route isis level-2 into level-1 
# 
interface GigabitEthernet0/0/1 
isis enable 1 
isis circuit-level level-2 
interface GigabitEthernet0/0/0 
isis enable 1 
isis circuit-level level-1 
interface GigabitEthernet0/0/2 
isis enable 1 
isis circuit-level level-1 
interface LoopBack0 
isis enable 1 R5: 
isis 1 
is-level level-1 
network-entity 49.0034.0000.6405.0505.00 
is-name R5 
# 
interface GigabitEthernet0/0/0 
isis enable 1 
interface GigabitEthernet0/0/1 
isis enable 1 
interface LoopBack0 
isis enable 1 R6: 
isis 1 
is-level level-1 
network-entity 49.0034.0000.6406.0606.00 
is-name R6 
# 
interface GigabitEthernet0/0/0 
isis enable 1 
interface GigabitEthernet0/0/1 
isis enable 1 
interface LoopBack0 
isis enable 1 R7: 
isis 1 
is-level level-1 
network-entity 49.0034.0000.6407.0707.00 
is-name R7 
# 
interface GigabitEthernet0/0/0 
isis enable 1 
interface GigabitEthernet0/0/1 
isis enable 1 
interface LoopBack0 
isis enable 1 

1.5 快速收敛

1.5.1 配置bfd 联动,自动根据isis邻居关系建立bfd会话,快速发现邻居故障。

1.5.2 配置LSP 生成的智能定时器,最大间隔为1秒,初始10毫秒,增量100毫秒。

1.5.3 加快LSP 泛洪速度,收到2个LSP立刻扩散,最大间隔100毫秒。

1.5.4 配置SPF 智能定时器,最大计算间隔为2秒,初始20毫秒,增量200毫秒。

1.6 路由渗透

1.6.1 在 R3/4 配置路由渗透。

1.6.2 保证数据中心路由器R5/6/7能学习到R1/2的路由。

R1/2: 
bfd 
# 
isis 1 
timer lsp-generation 1 10 100 level-2 
flash-flood 2 max-timer-interval 100 level-2 
bfd all-interfaces enable 
timer spf 2 20 200 R3/4: 
bfd 
# 
isis 1 
timer lsp-generation 1 10 100 level-1 
timer lsp-generation 1 10 100 level-2 
flash-flood 2 max-timer-interval 100 level-1 
flash-flood 2 max-timer-interval 100 level-2 
bfd all-interfaces enable 
timer spf 2 20 200 R5/6/7:
bfd 
# 
isis 1 
timer lsp-generation 1 10 100 level-1 
flash-flood 2 max-timer-interval 100 level-1 
bfd all-interfaces enable 
timer spf 2 20 200 

1.7 确认配置

1.7.1 确认ISIS 邻居建立完成。

1.7.2 确认环回口互通。

请自行检查邻居关系。

R3

R4

R7

二、部署OSPFv2

数据中心有业务网段192.168.10.0/24,R5/6/7使用OSPF进程1发布,具体需求如下:

2.1 Router-id

RID手动设置为Loopback0接口地址。

2.2 区域划分

2.2.1 全部划入区域0,使用通配符0.0.0.0

2.2.2 R7 的 G0/0/2 不宣告。

2.2.3 所有设备的环回口静默。

R5: 
ospf 1 router-id 100.5.5.5 
silent-interface LoopBack0 
area 0.0.0.0 
network 100.5.5.5 0.0.0.0
network 57.1.1.5 0.0.0.0 
# 
R6: 
ospf 1 router-id 100.6.6.6 
silent-interface LoopBack0 
area 0.0.0.0 
network 100.6.6.6 0.0.0.0 
network 67.1.1.6 0.0.0.0 
# 
R7: 
ospf 1 router-id 100.7.7.7 
silent-interface LoopBack0 
area 0.0.0.0 
network 57.1.1.7 0.0.0.0 
network 67.1.1.7 0.0.0.0 
network 100.7.7.7 0.0.0.0

2.3 路由引入

2.3.1 R7 引入直连路由,配置过滤策略。

2.3.2 仅引入路由192.168.10.0/24,并打上tag 56.

2.3.3 前缀列表名称10,index 10

2.3.4 路由策略名称为toOSPF,node 10.

R7: 
ip ip-prefix 10 index 10 permit 192.168.10.0 24 
# 
route-policy toOSPF permit node 10 
if-match ip-prefix 10 
apply tag 56 
# 
ospf 1 router-id 100.7.7.7 
import-route direct route-policy toOSPF 

三、协议互通

R5/6 作为ISIS和OSPF的边界,配置双点双向路由引入。

3.1 OSPF to ISIS

3.1.1 在 R5/6 将业务网段192.168.10.0/24 引入ISIS发布到互联网。 (注:实际项目会使用BGP发布,这里用ISIS取代)

3.1.2 使用路由策略仅发布有tag56的业务网段,并在发布后依旧携带tag56.

3.1.3 策略名称toISIS,node 10。

3.1.4 查看R5/6的192.168.10.0/24 路由,分析潜在问题。

R1/2/3/4/5/6/7:

isis 1 
cost-style wide 
#携带tag需要修改cost类型为宽模式,且所有路由器需保持一致。
R5/6: 
route-policy toISIS permit node 10 
if-match tag 56 
apply tag 56 
# 
isis 1 
import-route ospf 1 level-1 route-policy toISIS 
#注意R5/6是level-1路由器,需要增加level-1参数否则无法引入。

路由分析:

在R5/6上查看192.168.10.0/24,会有一台设备选择了ISIS路由。如下图:

这是由于ISIS协议优先级为15,小于OSPF外部协议优先级150。将来把ISIS引入OSPF 时,就可能产生环路。R6 如果做了ISIS引入OSPF的配置,那么就会立刻产生5类LSA,将来若R7的5类LSA 失效,则R6的5类LSA立刻生效,出现环路。

3.2 ISIS to OSPF

3.2.1 为避免环路,R5/6不得从ISIS学习携带tag56的路由。

3.2.2 使用路由策略在ISIS协议入方向过滤路由。

3.2.3 策略名称deny56,node 10 过滤路由,node100 允许其他路由。

3.2.4 R5/6 将已过滤的ISIS路由引入到OSPF中。

R5/6: 
route-policy deny56 deny node 10 
if-match tag 56 
# 
route-policy deny56 permit node 100 
# 
isis 1 
filter-policy route-policy deny56 import 
# 
ospf 1 
import-route isis 1  

3.2.5 确认没有环路风险。

过滤后,R5/6都只能从OSPF学习192.168.10.0/24,不再产生5类LSA,没有环路风险。

四、过渡到IPv6

目前ISP正处于IPv4向IPv6过渡时期,省网首先部署了IPv6,数据中心开始进行IPv6 测试。

4.1 部署IPv6

R3/4 首先部署IPv6,数据中心使用R6和R7进行IPv6测试,完成以下需求:

4.1.1 全局启用ipv6

4.1.2 R3/4/6/7/PC2 互联接口启用ipv6,并自动配置链路本地地址。

4.1.3 所有设备的Loopback0配置IPv6地址2000::X/128,X为设备编号。如R1编号为1以 此类推。 4.1.4 PC2 配置静态IPv6地址:3000::2/64,网关地址为3000::7/64

4.2 部署ISIS(IPv6)

R3/4/6/7 部署ISIS(IPv6)

4.2.1 ISIS 进程 1 中启用ipv6。

4.2.3 各 IPv6 接口启用isis ipv6。

4.2.4 R7 的 G0/0/3 配置为静默接口

4.2.5 PC2 无法访问R3的ipv6地址,试分析原因。

R3: 
ipv6 
# 
isis 1 
ipv6 enable 
# 
interface GigabitEthernet0/0/0 
ipv6 enable 
ipv6 address auto link-local 
isis ipv6 enable 1 
# 
interface LoopBack0 
ipv6 enable 
ipv6 address 2000::3/128 
ipv6 address auto link-local 
isis ipv6 enable 1 
# 
R4: 
ipv6 
# 
isis 1 
ipv6 enable 
# 
interface GigabitEthernet0/0/0 
ipv6 enable 
ipv6 address auto link-local 
isis ipv6 enable 1 
# 
interface GigabitEthernet0/0/2 
ipv6 enable 
ipv6 address auto link-local 
isis ipv6 enable 1 
# 
interface LoopBack0 
ipv6 enable 
ipv6 address 2000::4/128 
ipv6 address auto link-local 
isis ipv6 enable 1 
# 
R6: 
ipv6 
# 
isis 1 
ipv6 enable 
# 
interface GigabitEthernet0/0/0 
ipv6 enable 
ipv6 address auto link-local 
isis ipv6 enable 1 
# 
interface GigabitEthernet0/0/1 
ipv6 enable 
ipv6 address auto link-local 
isis ipv6 enable 1 
# 
interface LoopBack0 
ipv6 enable 
ipv6 address 2000::6/128 
ipv6 address auto link-local 
isis ipv6 enable 1 
# 
R7: 
ipv6 
# 
isis 1 
ipv6 enable 
#
interface GigabitEthernet0/0/1 
ipv6 enable 
ipv6 address auto link-local 
isis ipv6 enable 1 
# 
interface GigabitEthernet0/0/3 
ipv6 enable 
ipv6 address 3000::7/64 
ipv6 address auto link-local 
isis ipv6 enable 1 
isis silent 
# 
interface LoopBack0 
ipv6 enable 
ipv6 address 2000::7/128 
ipv6 address auto link-local 
isis ipv6 enable 1

原因分析:

R3 上查看ipv6路由表发现没有3000::/64的路由,但是R2上可以查看到路由。 关闭R3的G0/0/2,发现R3上出现了3000::/64的路由如下图:

这是由于在ISIS 单拓扑环境中,R3去往PC2的最短路径下一跳是R5,但是R5不支持 IPv6,导致无法计算IPv6路由。关闭G0/0/2后,最短路径树变化,下一跳是R4,支持IPv6 所以出现路由。

4.3 ISIS(IPv6)MT

部署ISIS多图拓扑以解决IPv4与IPv6规划不一致导致的丢包问题。

4.3.1 创建 ipv6 拓扑,名称为spoto。

4.3.2 isis 开启 MT 功能,并设置ipv6拓扑ID为100

4.3.3 将各ipv6接口划入ipv6拓扑,并开启isis多拓扑。

4.3.4 确认PC2可以正常访问R3的ipv6地址。

R3/4/6/7: 
ipv6 topology spoto
# 
isis 1 
ipv6 enable topology ipv6 
ipv6 topology spoto topology-id 100  
#
R3: 
interface GigabitEthernet0/0/0 
ipv6 topology spoto enable 
isis ipv6 topology spoto 
# 
R4: 
interface GigabitEthernet0/0/0 
ipv6 topology spoto enable 
isis ipv6 topology spoto 
# 
interface GigabitEthernet0/0/2 
ipv6 topology spoto enable 
isis ipv6 topology spoto 
# 
R6: 
interface GigabitEthernet0/0/0 
ipv6 topology spoto enable 
isis ipv6 topology spoto 
# 
interface GigabitEthernet0/0/1 
ipv6 topology spoto enable 
isis ipv6 topology spoto 
# 
R7: 
interface GigabitEthernet0/0/1 
ipv6 topology spoto enable 
isis ipv6 topology spoto 
# 
interface GigabitEthernet0/0/3 
ipv6 topology spoto enable 
isis ipv6 topology spoto

再次查看R3的ipv6路由表:

测试PC2与R3通信如下:

相关文章:

HCIE IGP双栈综合实验

实验拓扑 实验需求及解法 本实验模拟ISP网络结构,R1/2组成国家骨干网,R3/4组成省级网络,R5/6/7组成数据中 心网络。 配置所有ipv4地址,请自行测试直连。 R1 sysname R1 interface GigabitEthernet0/0/0ip address 12.1.1.1 255.…...

Unity 超链接文本类

注:该脚本在文本显示不全时会有问题。 HyperlinkText.cs using System; using System.Text; using System.Collections.Generic; using System.Text.RegularExpressions; using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems;namespace MYT…...

Vim小白学习指南

博客 Vim编辑器简介 Vim是一个非常高效的文本编辑器,最初源于Vi编辑器。它以其强大的文本编辑能力和快捷键而闻名于程序员和系统管理员。Vim的特别之处在于它提供了多种模式,每种模式都有不同的功能。 Vim的基本模式 1. 普通模式(Normal …...

【微服务】Nacos配置管理

一、统一配置管理 1、配置统一管理 2、微服务获取配置 ①引入Nacos的配置管理客户端依赖(usersevice下) <!--nacos的配置管理依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-confi…...

从单机缓存到分布式缓存那些事

作者&#xff1a;秦怀 1 缓存前世今生 1.1 故事从硬件开始 Cache 一词来源于 1967 年的一篇电子工程期刊论文。其作者将法语词“cache”赋予“safekeeping storage”的涵义&#xff0c;用于电脑工程领域。当时没有 Cache&#xff0c;CPU 和内存都很慢&#xff0c;CPU 直接访…...

华为新手机和支付宝碰一下 带来更便捷支付体验

支付正在变的更简单。 11月26日&#xff0c;华为新品发布会引起众多关注。发布会上&#xff0c;华为常务董事余承东专门提到&#xff0c;华为Mate 70和Mate X6折叠屏手机的“独门支付秘技”——“碰一下”&#xff0c;并且表示经过华为和支付宝的共同优化&#xff0c;使用“碰…...

element ui select绑定的值是对象的属性时,显示异常.

需要声明 value-key"value",如果还不行可能是数据类型不一致数字0和字符串0是不一致的. el-select v-model"value" clearable placeholder"Select" value-key"value" style"width: 240px"><!-- <el-option v-for&…...

基于Springboot开发的时光兼职网

一、功能介绍 时光兼职网包含管理员、用户、商家三个角色以及前后台系统。 前台系统功能 首页、兼职信息推荐、查看更多等 职位申请、申请日期、上传简历、点击下载简历、留言反馈等 个人中心、上传图片、更新信息等 后台系统功能 用户登录&#xff1a; 个人中心、修改密码…...

Vue3 Ts 如何获取组件的类型

vue3 Ts ref 子组件 1、默认写法 typeof&#xff1a;获取ts类型 InstanceType&#xff1a;获取模版的实例 <tempolate><myComponent ref"myCompRef"> </tempolate><script setup lang"ts"> import { ref } from "vue&quo…...

Unity类银河战士恶魔城学习总结(P146 Delete Save file-P147 Encryption of save data删除数据和加密数据)

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址&#xff1a;https://www.udemy.com/course/2d-rpg-alexdev/ 本章节实现了快速删除存档和加密存档 以下是加密前和加密后的对比 SaveManager.cs using System.Collections; using System.Collection…...

Uniapp 使用自定义字体

技术栈&#xff1a;Uniapp 简介 为了更好的还原UI图片效果&#xff0c;往往需要使用特殊字体&#xff0c;引入字体包。 因实际业务运行平台在微信小程序上&#xff0c;对发布包的项目文件大小有限制&#xff0c;项目中某些比较大的静态资源需要放在服务器上来远程加载&#x…...

Scala

统计成绩练习 1.计算每个同学的总分和平均分 2.统计每个科目的平均分 3.列出总分前三名和单科前三名&#xff0c;并保存结果到文件中 解题思路如下&#xff1a; 1.读入txt文件&#xff0c;按行读入 2.处理数据 &#xff08;1&#xff09;计算每个同学的总分…...

fnOS中安装HAOS,集成haier

只作为自己记录重要事项&#xff0c;不做详细教程。大致流程 安装飞牛OS&#xff0c;简称fnosfnos中有集成Docker在docker中安装haos在haos中安装hacs在hacs中添加haier 在docker中安装haos 安装好fnos后&#xff0c;docker里面找到haos&#xff0c;里面下载最多的&#xff0c…...

基于群晖搭建个人图书架-TaleBook based on Docker

前言 在群晖Container Manager中部署失败&#xff0c;转通过ssh部署。 一、准备工作 名称备注群晖SSH“终端机和SNMP”中启用SSH软件secureCRT等docker-compose.ymlGithub下载并修改 二、过程 2.1 创建本地文件夹 本地路径为&#xff1a; /docker/Calibre/data 2.2 下载d…...

spring导出多个文件,要求打包成压缩包

背景 业务要求我们批量生成一批excel&#xff0c;并将这些excel压缩成一个压缩包导出给前端。 实现 java自带了ZipOutputStream&#xff0c;可以直接生成压缩包&#xff0c;因此&#xff0c;我们直接使用这个&#xff0c;在内存中生成压缩包&#xff0c;直接返回给前端。&am…...

Vue 3中实现多个自定义组件之间的切换

在 Vue 3 中&#xff0c;如果你想在 HTML 页面中实现多个自定义组件之间的切换&#xff0c;你可以使用 Vue 的条件渲染功能&#xff0c;比如 v-if、v-else-if 和 v-else 指令&#xff0c;或者使用 <component> 标签结合 is 属性来动态绑定组件。 1. 打开HBuilder X 图1 …...

opengl 三角形

最后效果&#xff1a; OpenGL version: 4.1 Metal 不知道为啥必须使用VAO 才行。 #include <glad/glad.h> #include <GLFW/glfw3.h>#include <iostream> #include <vector>void framebuffer_size_callback(GLFWwindow *window, int width, int heigh…...

shell脚本练习(2)

1. 使用case实现成绩优良差的判断 2. for创建20用户 用户前缀由用户输入 用户初始密码由用户输入 例如&#xff1a;test01,test10 3. for ping测试指网段的主机 网段由用户输入&#xff0c;例如用户输入192.168.2 &#xff0c;则ping 192.168.2.10 --- 192.168.2.2…...

JS数组的一些方法

前言 忘了在哪里听说JS是用来处理各种各样的数据的&#xff0c;所以掌握一些数组的处理方法极其重要 而最近学校要进行测试&#xff0c;本着复习回顾的想法&#xff0c;决定将一些我所知道的数组处理方法整理整理 不过难免有遗漏与错误&#xff0c;还望各位大佬指正 forEac…...

学习threejs,使用CubeCamera相机创建反光效果

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️CubeCamera 立方体相机 二、…...

#渗透测试#红蓝攻防#HW#漏洞挖掘#漏洞复现01-笑脸漏洞(vsftpd)

免责声明 本教程仅为合法的教学目的而准备&#xff0c;严禁用于任何形式的违法犯罪活动及其他商业行为&#xff0c;在使用本教程前&#xff0c;您应确保该行为符合当地的法律法规&#xff0c;继续阅读即表示您需自行承担所有操作的后果&#xff0c;如有异议&#xff0c;请立即停…...

使用nginx请求转发时前端报跨域问题解决

当其他接口都没有问题&#xff0c;后端也进行了跨域的配置时&#xff0c;此时问题应该就出现在nginx中 我发现当上传文件大小小于1m时并不会发生错误&#xff0c;所以我们应该配置一下nginx允许上传文件的大小 在nginx.conf中添加 在nginx目录下重启nginx即可 &#xff08;Wi…...

贪心算法入门(二)

第1题 越野跑 查看测评数据信息 为了能在下一次跑步比赛中有好的发挥&#xff0c;桐桐在一条山路上开始了她的训练 。桐桐希望能在每次训练中跑得尽可能远&#xff0c;不过她也知道农场中的一条规定&#xff1a;独自进山的时间不得超过M秒(1 < M < 10,000,000)。 整条…...

欧拉函数——acwing

题目一&#xff1a;欧拉函数 873. 欧拉函数 - AcWing题库 分析&#xff08;欧拉函数相关知识点&#xff09; 互质数不了解可以参考之前笔记&#xff0c;以便更好了解&#xff1a; 数论—快速幂&#xff0c;欧几里得及其扩展&#xff0c;逆元&#xff0c;单位元_数论单位元函…...

Spring集成Mybatis的实现

实现步骤大纲 第一步&#xff1a;准备数据库表 使用t_act表&#xff08;账户表&#xff09; 第二步&#xff1a;IDEA中创建一个模块&#xff0c;并引入依赖 spring-contextspring-jdbcmysql驱动mybatismybatis-spring&#xff1a;mybatis提供的与spring框架集成的依赖德鲁伊连…...

Redis中的分布式锁(步步为营)

分布式锁 概述 分布式锁指的是&#xff0c;所有服务中的所有线程都去获取同一把锁&#xff0c;但只有一个线程可以成功的获得锁&#xff0c;其他没有获得锁的线程必须全部等待&#xff0c;直到持有锁的线程释放锁。 分布式锁是可以跨越多个实例&#xff0c;多个进程的锁 分布…...

Linux下的三种 IO 复用

目录 一、Select 1、函数 API 2、使用限制 3、使用 Demo 二、Poll 三、epoll 0、 实现原理 1、函数 API 2、简单代码模板 3、LT/ET 使用过程 &#xff08;1&#xff09;LT 水平触发 &#xff08;2&#xff09;ET边沿触发 4、使用 Demo 四、参考链接 一、Select 在…...

微服务即时通讯系统的实现(服务端)----(2)

目录 1. 语音识别子服务的实现1.1 功能设计1.2 模块划分1.3 模块功能示意图1.4 接口的实现 2. 文件存储子服务的实现2.1 功能设计2.2 模块划分2.3 模块功能示意图2.4 接口的实现 3. 用户管理子服务的实现3.1 功能设计3.2 模块划分3.3 功能模块示意图3.4 数据管理3.4.1 关系数据…...

数据库原理-期末复习基础知识第二弹

1、数据的逻辑独立性是指 外模式/模式映像 当模式改变的时候&#xff0c;由数据库管理员对各个外模式/模式的映像做出相应改变&#xff0c;使外模式保持不变。由于应用程序是按照外模式进行编写的&#xff0c;故应用程序不必修改&#xff0c;保证了数据与程序的逻辑独立性。 …...

智能云在线编辑网站(完结篇)

开始及初步计划 1.前端tiptip编辑器框架vue3 2.后端Pythonflaskmysql 3.大模型调用&#xff1a;飞桨系列&#xff08;ppasr&#xff09; 前言&#xff1a;以此篇谨记从软件杯到天津生成式ai答辩过程及结束。 『如蚍蜉见青天&#xff0c;双肩难挑日月』&#xff0c;感叹世事多…...

多源传感器构建机器人的Gazebo模型

构建包含GNSS、IMU、LiDAR、Camera传感器的Gazebo模型涉及多个步骤&#xff0c;包括设置工作环境、创建URDF文件、安装必要的Gazebo插件和依赖项。以下是一个详细的步骤指南&#xff0c;帮助你开始构建这个Gazebo模型。 1. 设置工作环境 首先&#xff0c;确保你已经安装了ROS…...

linux中top 命令返回数据解释

当您在 Linux 终端中运行 top 命令时,它会显示一个动态更新的系统状态视图,其中包括许多有关系统性能的数据。下面是对 top 命令返回数据的详细解释: 标题栏 top - 22:46:12 up 2 days, 3:14, 1 user, load average: 0.05, 0.07, 0.09 22:46:12:当前时间。up 2 days, 3:14…...

【Vue3】【Naive UI】<NDropdown>标签

【Vue3】【Naive UI】 标签 基本设置自定义渲染交互事件其他属性 【VUE3】【Naive UI】&#xff1c;NCard&#xff1e; 标签 【VUE3】【Naive UI】&#xff1c;n-button&#xff1e; 标签 【VUE3】【Naive UI】&#xff1c;a&#xff1e; 标签 【VUE3】【Naive UI】&#xff1c…...

ADS学习笔记 7. 超外差接收机设计

基于ADS2023 update2 更多ADS学习笔记&#xff1a;ADS学习笔记 1. 功率放大器设计ADS学习笔记 2. 低噪声放大器设计ADS学习笔记 3. 功分器设计ADS学习笔记 4. 微带分支定向耦合器设计ADS学习笔记 5. 微带天线设计ADS学习笔记 6. 射频发射机设计 目录 -1、射频接收机性能指标…...

新型大语言模型的预训练与后训练范式,阿里Qwen

前言&#xff1a;大型语言模型&#xff08;LLMs&#xff09;的发展历程可以说是非常长&#xff0c;从早期的GPT模型一路走到了今天这些复杂的、公开权重的大型语言模型。最初&#xff0c;LLM的训练过程只关注预训练&#xff0c;但后来逐步扩展到了包括预训练和后训练在内的完整…...

k8s 1.28 二进制安装与部署

第一步 &#xff1a;配置Linux服务器 #借助梯子工具 192.168.196.100 1C8G kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubectl、haproxy、keepalived 192.168.196.101 1C8G kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubectl、…...

Ubuntu 常用解压与压缩命令

.zip文件 unzip FileName.zip # 解压 zip DirName.zip DirName # 将DirName本身压缩 zip -r DirName.zip DirName # 压缩&#xff0c;递归处理&#xff0c;将指定目录下的所有文件和子目录一起压缩 zip DirName.zip DirName 行为&#xff1a; 只压缩 DirName 目录本身&#xff…...

使用ECharts创建带百分比标注的环形图

在数据可视化领域&#xff0c;环形图是一种非常有效的图表类型&#xff0c;它能够清晰地展示各部分与整体的关系。今天&#xff0c;我们将通过ECharts来创建一个带百分比标注的环形图&#xff0c;并详细解释如何实现这一效果。 1. 数据准备 首先&#xff0c;我们定义了一些基础…...

lvs虚拟服务器之LVS-NAT模式

一.集群 二.LVS:虚拟服务器:工作在传输层,解决高并发 三.LVS-NAT一.集群1.概念:集群就是一组计算机集群核心&#xff1a;任务调度集群目的提高性能,降低成本,提高可扩展性,增强可靠性集群分类HA&#xff1a;高可用集群&#xff08;High Availability Cluster&#xff09;:避免单…...

虚拟机添加硬盘驱动,Windows 系统添加 VirtIO 驱动(Windows ISO 安装镜像添加驱动)

为什么要在 ISO 镜像里添加驱动&#xff1f;而不是在进系统以后装驱动&#xff1f;一切都是形势所迫。如果你也是爱折腾的人&#xff0c;那么这也会成为一个有用的方案之一。   最近&#xff0c;因为在给公司研究部署 OpenStack&#xff0c;在制作初始镜像&#xff08;也就是…...

20241128解决Ubuntu20.04安装libesd0-dev异常的问题

20241128解决Ubuntu20.04安装libesd0-dev异常的问题 2024/11/28 16:36 缘起&#xff1a;中科创达的高通CM6125开发板的Android10的编译环境需要。 安装异常&#xff1a;rootrootrootroot-X99-Turbo:~$ rootrootrootroot-X99-Turbo:~$ sudo apt-get install libesd0-dev Readi…...

Linux命令进阶·如何切换root以及回退、sudo命令、用户/用户组管理,以及解决创建用户不显示问题和Ubuntu不显示用户名只显示“$“符号问题

目录 1. root用户&#xff08;超级管理员&#xff09; 1.1 用于账户切换的系统命令——su 1.2 退回上一个用户命令——exit 1.3 普通命令临时授权root身份执行——sudo 1.3.1 为普通用户配置sudo认证 2. 用户/用户组管理 2.1 用户组管理 2.2 用户管理 2.2.1 …...

基于链表的基础笔试/面试题

1. 反转链表 问题描述&#xff1a;反转一个单向链表。 示例&#xff1a; 输入&#xff1a;1 → 2 → 3 → 4 → 5 输出&#xff1a;5 → 4 → 3 → 2 → 1 class ListNode {int val;ListNode next;ListNode(int x) {val x;} }public class LinkedList {public ListNode …...

文件比较和文件流

文件比较和文件流 一、文本比较工具 diff1.基本用法1.1输出格式 2.常用选项 二、文件流1.文件的打开模式2.文件流的分类ifstreamofstreamfstrem区别 3.文件流的函数1. 构造函数2. is_open 用于判断文件是否打开3. open4. getline5. close6. get()7. read8. write9. put10. gcou…...

unity如何让一个物体拥有按钮功能

在 Unity 中&#xff0c;要让一个物体&#xff08;例如一个 3D 模型、UI 元素或其他对象&#xff09;变成一个按钮&#xff0c;你需要为它添加交互功能。这通常意味着让物体能够响应点击事件&#xff0c;像 UI 按钮那样触发某些行为。对于 3D 物体&#xff0c;可以通过 射线检测…...

【RISC-V CPU Debug 专栏 1 -- RISC-V debug 规范】

文章目录 RISC-V Debug调试用例支持的功能限制和不包括的内容RISC-V 调试架构的主要组件用户与调试主机调试翻译器调试传输硬件调试传输模块(DTM)调试模块(DM)调试功能触发模块版本介绍RISC-V Debug RISC-V 调试规范为 RISC-V 处理器提供了一套标准化的调试接口和功能,旨…...

【论文阅读】Federated learning backdoor attack detection with persistence diagram

目的&#xff1a;检测联邦学习环境下&#xff0c;上传上来的模型是不是恶意的。 1、将一个模型转换为|L|个PD,&#xff08;其中|L|为层数&#xff09; 如何将每一层转换成一个PD&#xff1f; 为了评估第&#x1d457;层的激活值&#xff0c;我们需要&#x1d450;个输入来获…...

IDEA Maven 打包找不到程序包错误或找不到符号,报错“程序包不存在“

参考文章&#xff1a;https://blog.csdn.net/yueeryuanyi/article/details/14211090 问题&#xff1a;IDEA Maven 打包找不到程序包错误或找不到符号,报错“程序包不存在“编译都没问题 解决思路 – >【清除缓存】 1. 强制刷新Maven缓存 选择 Maven 标签&#xff0c;Exe…...

MySQL数据库做题笔记

题目链接https://leetcode.cn/problems/invalid-tweets-ii/description/https://leetcode.cn/problems/invalid-tweets-ii/description/ # Write your MySQL query statement below SELECT tweet_id FROM Tweets where LENGTH(content)>140 OR (length(content)-length(rep…...

100个python经典面试题详解(新版)

应老粉要求,每晚加餐一个最新面试题 包括Python面试中常见的问题,涵盖列表、元组、字符串插值、比较操作符、装饰器、类与对象、函数调用方式、数据结构操作、序列化、数据处理函数等多个方面。 旨在帮助数据科学家和软件工程师准备面试或提升Python技能。 7、Python面试题…...