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

网络安全:路由技术

概述
路由技术到底研究什么内容
研究路由器寻找最佳路径的过程
路由器根据最佳路径转发数据包
知识点,重要OSRF,BGP

1.静态路由原理

路由技术分类
静态路由和动态路由技术
静态路由:是第一代路由技术,由网络管理员手工静态写路由/路径告知路由器数据包转发哪个接口/下一跳,比较适合小型网络

image

静态路由实验

语法
ip route 目标网段+目标掩码+出接口
R1-- ip route 192.168.2.1 255.255.255.0 f0/0 
常用show 命令:
show ip interface brief  查看接口ip地址
show running-config interface f0/0 查看接口配置
show running-config | include ip route 查看静态路由配置
shwo ip route 查看路由表
show ip route static 查看静态路由
实验过程
静态路由配置
1.配置R1/2创建环回接口loopback,用于模拟主机
interface loopback 1
ip add 192.1.1 255.255.255.0
2.查看路由表
show ip route
3.新建静态路由
ip route 目标网段+子网掩码+接口
R1:ip route 192.168.2.0 255.255.255.0 f0/0
R2:ip route 192.168.1.0 255.255.255.0 f0/0
4.测试连通性
R1:ping 192.168.2.1 source 192.168.1.1
R2:ping 192.168.1.1 source 192.168.2.1

默认路由

原理

1.默认路由一般能用于网络(企业,校园)出口,用于指向互联网,实现内网主机能够和外网通信
2.默认路由一般放在路由表的最底部,只有当常规精准的路由条目没有匹配时,才会查看默认路由
3.电脑上的默认路由

实验1:默认路由的连通

R1:
conf t
int f0/0
ip add 12.1.1.1 255.255.255.0
no sh
R2:
conf t 
int f0/0
ip add 12.1.1.2 255.255.255.0
no sh
int lo1
ip add 2.2.2.2 255.255.255.255
int lo2
ip add 22.2.2.2 255.255.255.255
int lo3
ip add 22.22.2.2 255.255.255.255
int lo4
ip add 8.8.8.8 255.255.255.255
int lo5
ip add 8.8.4.4 255.255.255.255在R1中
ip route 0.0.0.0 0.0.0.0 f0/0
或者
ip route 0.0.0.0 0.0.0.0 12.1.1.2

image

注意:默认路由不能相互指定(只能单向),否则容易造成“环路

实验2:浮动路由的连通

优先级/管理距离 0-255越小越优先debug ip icmp 调试icmp协议
debug ip packet 调试ip协议
undebug all 关闭所有调试在R3 中添加
ip add 8.8.8.8 255.255.255.255
ip add 8.8.4.4 255.255.255.255在R2 和R3中打开debug 
debug ip icmp
debug ip packet在R1中把f0/0网线断掉
shutdown 
此时看到 路由切换到f1/0
ping 8.8.8.8
可看到R3有流量传输

image

静态路由进阶

实验流程
1.配置ip地址,保证连通性
2.配置静态路由,保证R1/2/3连通
3.配置默认路由,保证R4接收到数据包
问答,当R1访问R3,ip数据包头部经过R2时,数据包内容有哪些变化
答:源目ip地址不变,源目mac跟随地址逐渐改变,ttl逐跳递减,校验和也随着改变
代理arp
ip route 23.1.1.0 255.255.255.0 f0/0
ping 23.1.1.3 发送arp请求 who is 23.1.1.3 和谁通信就问谁ip route 23.1.1.0 255.255.255.0 12.1.1.2
ping 23.1.1.3 发送arp请求 who is 23.1.1.3  无论和谁通信,就问下一跳,节省资源,速度快清除arp表:关闭物理接口 clear arp 开启物理接口 清除比较干净

代理ARP不同路由实现方法

定义:Proxy-arp 当实现跨网段的的请求时,路由器将本地MAC返回给ARP询问者,实现MAC地址代理,最终使得主机能够通信电脑一般都是以下一跳的ip地址来默写网关,
开启或关闭代理
int f0/0
ip proxy-arp
no ip proxy-arp

局域网环境下为了防止中间路由器设备关闭代理ARP,最好用下一跳的方式来编写静态默认路由

当路由器主机路由条目指向出接口时,触发了代理ARP

image

当路由器指向下一跳ip地址,则采用正常的常规的ARP
 

image


注意点R1和R3别忘记加入下面的

image

image

image

路由协议概述

动态路由和静态路由协议

1.管理层面
静态路由比较容易修改和部署,动态路由协议一般路由的体积面积比较大,管理相对比较复杂
2.技术层面,动态路由协议比较能够适应个中网络结构拓扑,能够智能感应到网络状态,静态路由无法实现,需要人工干预

动态路由协议分类

算法特征
距离矢量:RIP/EIGRP/BGP
链路状态 OSRF,ISIS
运行范围 IGP,EGP有类、无类
有类:ip子网只能识别8/16/24自动汇总 A/B/C
无类,ip子网只能识别任意掩码3.通用路由选择算法(当多链路时候,如何选择一条最佳路径)
--1.最长匹配原则
当路由器访问目的并且有多路径,将目的ip地址根本地址和本地路由条目进行对比,从左到右匹配的比特位越多,则越精准,优先级越高2.管理距离(Adminisitrator Distance)
--也称优先级,越小越优先,管理距离可以用于衡量不同路由协议直接打路径优劣3.度量值(METRIC)
用于衡量同一路由协议的路径优劣,度量便是路由协议用于计算路径的方式或参数,例如带宽,距离MTU延迟最长匹配原则-->管理距离-->度量值-->负载均衡

常见的AD值

image

常见的METRIC

image

RIP路由协议部署

1.背景/概述
Routing information Protocol 路由信息协议,是第一代动态路由协议,所属距离矢量协议,基于跳数来进行路径选择(最多支持15跳),RIP协议有多个版本,分为V1/V2/V3
2.特征
OSI层次:应用层协议,基于UDP端口520
算法:距离矢量协议
有类无类:v1有类,v2无类
运行范围:IGP
最佳路径:管理距离1120,度量值(路由器个数)
代码
network 10.0.0.0排错
show run | include ip route 查看静态路由配置
show run | section router rip 查看RIP配置
show run | s r r 查看rip配置
show ip route static rip eigrp 查看静态/rip/eigrp
show ip protocols 查看路由协议信息no ip routing 关闭路由功能(清除路由表)
ip routing 开启路由功能

image

路由分组和计时器

request分组
定义:RIP氢气去分组,用于初始化路由器邻居请求路由条目
原理
response
rip回复分组,用于更新/发送本地路由信息
特征:周期更新,广播更新,不可靠更新
计时器
更新计时器,30s ,用于实现对路由条目的周期交互
失效计时器,180s,若路由条目180s没有收到更新,则失效
抑制计时器,180s,用于防环
刷新计时器,240s,直接从路由表移除触发更新/中毒路由机制
当路由协议检测到网络拓扑发生变动时,不再需要基于计时器进行路由处理,直接发送故障信息,变动信息进行处理,此项过程为触发更新

路由器算法

路由算法,可以根据路径参数(度量值)生成的路由条目贝尔曼算法:
如果收到邻居给的路由,若本地没有,则接收
如果收到邻居给的路由,若本地有,根据度量值对比,择优录入
如果收到邻居给的路由,则劣质,但是还是从原有的邻居学到的,也录入

路由防环

环路形成

image

1.水平分割
从本接口收到的路由条目,不能再从本接口发送出去
2.最大16跳
定义:如果RIP路由条目跳数达到16跳,则此路由失效并且被丢弃
原理:(rip只能支持直径为16跳的网络,最大有效是15跳,16跳表示失效)
3.路由中毒-触发更新
定义:如果RIP路由条目发生故障,会将此路由标记为16跳,并发送给邻居,告知邻居此路由有问题,尽快删除
4.毒性逆转
定义:如果RIP路由条目发送故障时,会将此路由标记为16跳,并发送给邻居,邻居会返回16跳中毒路由,实现确认
5.抑制计时器
定义:当收到故障路由之后,默认会直接删除本故障路由,若此时从远方又收到此路由,则可能造成再一次环路,为了解决这个问题,设置抑制计时器当收到故障路由保持180s之后再删除路由条目

image

版本对比

V2是无类路由协议(能支持VLSM和CIDR),V1是有类路由协议·
V2传播路由时夹带子网掩码,V1没有
V2是组播更新,V1是广播更新

RIPV2部署

router rip
version 2 
no auto-summary 关闭自动汇总
network + 网段(有类)
clear ip route * 刷新路由表

image

RIP2路由汇总

创建多个网段,可以用一个环回口+secondary实现
r1将其network宣告出去,此时r2和r3能够学到
r3上执行路由汇总(在物理接口,此时r2和r3只能学到汇总路由)

EIGRP基础

eigrp是思科私有的
收敛之王
增强型内部网络路由协议,是一种混合路由协议(集成了距离矢量和链路特征,高级距离矢量)
可靠更新,触发更新增量更新
支持大型网络拓扑

EIGRP基本特征

OSI层次:传输层协议,基于协议号88
算法:距离矢量
运行范围:内部网络协议
有类无类IGRP是类,EIGRP是无类
最佳路径:管理距离90/170,度量值采用混合度量
(带宽,延迟,负载,可信度,MTU)
如果
R1(config)#router eigrp 
% Incomplete command.R1(config)#router eigrp 100
IP routing not enabled
解决办法:输入 ip routing
eigrp实验代码
router eigrp 100
R1(config-router)#network 12.0.0.0
R1(config-router)#network 1.0.0.0 
R1(config-router)#network 192.168.1.0
R1(config-router)#network 13.0.0.0  

EIGRP基本部署

方式一:network+子网掩码
R1(config) router eigrp 100 开启EIGRP进程,定义自治系统符号
no auto-summary 关闭自动汇总
network 1.1.1.1 255.255.255.255
自治系统号(A5)范围1-65535 ,表示区域/管理域的概念:同一个企业运营商的EIGRP路由器必须处于同一个AS内,否则邻居无法建立并无法学到路由
路由收敛:描述路由协议故障恢复,信息处理速度和效率方式2 network + 反掩码/通配符掩码($)
router eigrp 100
network 1.1.1.1 0.0.0.0
network 12.1.1.0 0.0.0.255
no auto-summary反掩码和子网掩码换算
反掩码 = 255.255.255.255-子网掩码
反掩码是什么(路由条目/网段抓取工具,将xxx字段开头路由都通告出去)
子网掩码1,表示网络位,0表示主机位
反掩码,1表示随意匹配,0表示严格匹配

image

image

UPDATE包

ERGIP表项
邻居表,用于存储邻居信息,show ip eigrp neighbor
拓扑表 用于存储所有路由条目(无论优劣)show ip eigrp topology (all-links)
路由表 用于存储最佳路由条目(通过DUAL算法计算) show ip route eigrp

image

总结 1.NULL0路由时用于解决路由环路 2.网络子网有时候是不完整的,但是还是会见总路由告知邻居,若网络拓扑情况有数据包经过,缺失子网时,则有可能造成路由环路 3.NULL0路由优先级高于默认路由,可以有效防止数据转发出去,并且将数据抑制在本地

EIGRP路由汇总
汇总配置
int f0/0 , f1/0
ip summary-address eigrp 100 192.168.0.0 255.255.252.0排错命令
show run int f0/0 查看接口配置

OSRF路由协议

OSRF基础

基本特征
OSRF 开放最短路径优先,采用SRF算法进行路径计算,是目前使用最为广泛的路由协议之一,被大量使用在企业网和校园网中
OSI层次
传输层协议,基于IP协议,协议号89
运行特征
链路状态协议
距离矢量,和链路状态
前者传递路由条目,后者传递链路信息
前者网络能见度只有一跳,后者是整个拓扑
前者计算路由基于邻居,后者计算路由基于自己
前者可能造成环路,后者基本无环
ISIS和OSPF的区别
OSPF和ISIS:
一、基本点:
1、ISIS基于数据链路层,OSPF基于IP层(协议号89),所以ISIS扩展性更强
2、OSPFv2只能用于IPv4,ISIS可以应用在多种网络层协议中:IPv4,IPv6,CLNP
3、OSPF支持4种网络类型:B,NBMA,P2P,P2MP
ISIS支持2种网络类型:B,P2P
OSPF更加适合网络环境比较复杂的场景
4、OSPF支持骨干区域,普通区域和特殊区域,区域的划分更加有层次,适合企业网层次化部署
ISIS支持L2和L1的区域,L1的区域类似OSPF的特殊区域,更加适合运营商做扁平化网络部署
5、OSPF划分区域,区域的边界在路由器上
ISIS划分区域,区域的边界在链路上
6、OSPF有区域内,区域间,区域外路由之分,路由控制更加精细
7、OSPF支持v-link,做网络的优化
8、报文类型:
OSRF:hello,DD,LSR,LSU,LSAck
ISIS:P2P-hello,L1-LAN-hello,L2-LAN-hello,
L1-CSNP,L2-CSNP(类似DD,描述LSDB的摘要信息)
L1-PSNP,L2-PSNP(类似LSR,LSAcK,用来请求LSP或确认LSP)
L1-LSP,L2-LSP(类似LSU,用来更新LSP的全部信息)
二、路由器类型:
OSPF:IR,ABR,ASBR
ISIS:Level-1,L2,L1/2
1、L1的路由器只能和L1或L1/2路由器在同一区域建立L1的邻居关系
2、L2的路由器可以和L2或L1/2路由器在不同区域建立L2的邻居关系
3、L2的邻居关系是骨干区域
三、邻居关系
OSPF:在广播/NBMA网需要选举DR/BDR,
D-other和DR/BDR建立FULL的邻接关系
D-other之间建立2-Way的邻居关系
ISIS:在广播网络选举DIS
所有路由器建立全链接的邻接关系
DR 首先比较优先级,默认为1, 有备份的DR D-other和DR/BDR建立FULL的邻接关系 收集LSA信息
优先级越大越好,优先级一样 叫BDR D-other之间建立2-Way的邻居关系 为其他路由器同步LSDB,减少LSA泛洪
比较router-id,越大越好 不能抢占,当DR失效,由BDR充当DR
优先级为0不能参与选举
最大为255
DIS 首先比较优先级,默认为64 无备份 所有路由器建立全链接的邻接关系 周期发送所有的LSP的摘要信息(CSNP)
优先级越大越好,优先级一样 可以抢占,因为是全互连邻接关系
比较MAC/DLCI,越大越好
如果没有MAC/DLCI,
则比较system-id,越大越好
四、LSDB同步机制
OSPF:
ISIS:
1、P2P的网络LSDB同步
当邻居关系建立之后,立即发送一次CSNP
对方收到之后发送PSNP请求相应LSP
收到PSNP之后回应LSP更新对方LSDB,并启动LSP超时计时器
如果在超时计时器内没有收到对方的PSNP确认
则重传LSP
如果在计时器内收到对方的PSNP
则认为LSDB同步完成
(PSNP完成了OSPF中LSR和LSAck的作用)
2、Broadcast的网络LSDB同步
由DIS周期发送CSNP
当有新上线的路由器时,会立即发送自身所有的LSP
新上线的路由器会根据周期的CSNP来查看自身缺少哪些LSP
则会发送PSNP请求相应LSP
DIS会根据PSNP来更新相应LSP
收到LSP的路由器无需确认,如果没有收到,则再次发送PSNP
注:LSP每900s更新一次,超过1200s则认为该LSP失效,从1200开始减小
LSA每1800s更新一次,超过3600s则认为该LSA失效,从小到大计数

部署

router ospf 100
router-id 1.1.1.1
network 12.1.1.0 0.0.0.255 area 0
骨干区域:Area 0 用于实现其他区域的流量中转,实现区域防环
常规区域,Area x 一般分支机构/部门使用,常规区域之间不能直接通信,必须经过骨干区域
1.区域划分使得OSPF的网站拓扑变的更加层次性和立体化
区域划分可以最大程度减少网络动荡和网络路径计算和消耗
区域划分可以实现区域间防环,常规区域无法直接通信,必须将数据丢给骨干区域,由骨干统一转发(形成星型放射拓扑)
区域划分易于网络管理
OSPF邻居状态机
1.发送hello包
2.发送目录信息
3.发送需求信息
4.交换需求信息
5.更新需求信息
6.确认需求信息

image

image

OSPF路由分组

1.hello分组
功能:用于建立和维持邻居关系
分组:每10秒相互发送hello分组,若40s没有发送,则邻居关系删除
2.DBD分组
clear ip ospf process 
功能:数据库描述符,对于对OSPF的网络拓扑进行描述
3.LSR分组
用于对LSU进行真正的请求
4.LSU
用于存储和传递路径信息
5.LSACK
用于对LSU进行可靠的确认

image

clear ip ospf process 刷新路由 在特权模式下

相关文章:

网络安全:路由技术

概述 路由技术到底研究什么内容 研究路由器寻找最佳路径的过程 路由器根据最佳路径转发数据包 知识点,重要OSRF,BGP1.静态路由原理 路由技术分类 静态路由和动态路由技术 静态路由:是第一代路由技术,由网络管理员手工静态写路由/路径告知路…...

Vue3 子组件向父组件传递消息(Events)

子组件向父组件传递消息&#xff08;Events&#xff09; 子组件可以通过 $emit 触发事件&#xff0c;父组件可以监听这些事件并作出响应。 子组件&#xff1a; <template><button click"sendMessage">Send Message to Parent</button> </tem…...

如何清理Docker的overlay2目录下的文件

清理 Docker 的 overlay2 目录下的文件需要谨慎操作,因为这些文件通常是容器的存储层,直接删除可能会导致容器无法正常运行或数据丢失。以下是清理 overlay2 目录的步骤和建议: 1. 确认文件是否可以被清理 在清理之前,确认 c7ffc13c49a43f08ef9e234c6ef9fc5a3692deda3c5d4…...

《Vue3实战教程》19:Vue3组件 v-model

如果您有疑问&#xff0c;请观看视频教程《Vue3实战教程》 组件 v-model​ 基本用法​ v-model 可以在组件上使用以实现双向绑定。 从 Vue 3.4 开始&#xff0c;推荐的实现方式是使用 defineModel() 宏&#xff1a; vue <!-- Child.vue --> <script setup> co…...

数字PWM直流调速系统设计(论文+源码)

2.1 系统方案设计 2.2.1开环控制方案 采用开环方案的系统架构如图2.1所示&#xff0c;这种方式不需要对直流电机的转速进行检测&#xff0c;在速度控制时单片机只需要直接发出PWM就可以实现直流电机速度的控制。这种方式整体设计难度较低&#xff0c;但是无法准确得知当前的…...

Spring Boot日志处理

文章目录 Spring Boot日志处理1. 日志存入数据库&#xff08;AOP&#xff09;2. 日志控制台打印与写入文件&#xff08;logback&#xff09; Spring Boot日志处理 1. 日志存入数据库&#xff08;AOP&#xff09; 引入aop依赖 <dependency><groupId>org.springfram…...

vue3+Echarts+ts实现甘特图

项目场景&#xff1a; vue3Echartsts实现甘特图;发布任务 代码实现 封装ganttEcharts.vue <template><!-- Echarts 甘特图 --><div ref"progressChart" class"w100 h100"></div> </template> <script lang"ts&qu…...

OpenCV相机标定与3D重建(41)从 3D 物点和它们对应的 2D 图像点估算初始相机内参矩阵函数initCameraMatrix2D()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 从3D-2D点对应关系中找到一个初始的相机内参矩阵。 cv::initCameraMatrix2D 是 OpenCV 库中的一个函数&#xff0c;用于从 3D 物点和它们对应的…...

ELK日志平台搭建 (最新版)

一、安装 JDK 1. 下载 JDK 21 RPM 包 wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.rpm2. 安装 JDK 21,使用 rpm 命令安装下载的 RPM 包&#xff1a; sudo rpm -ivh jdk-21_linux-x64_bin.rpm3. 配置环境变量 编辑 /etc/profile 文件以配置 JAVA_HO…...

智能化人才招聘系统是怎样的?

随着企业规模的扩大和业务范围的拓展&#xff0c;人才招聘成为了企业发展的关键环节。然而&#xff0c;市面上的人才招聘系统琳琅满目&#xff0c;质量参差不齐&#xff0c;许多企业发现&#xff0c;并非所有系统都能满足他们的需求&#xff0c;特别是智能化的需求。今天&#…...

电脑主机后置音频插孔无声?还得Realtek高清晰音频管理器调教

0 缘起 一台联想电脑&#xff0c;使用Windows 10 专业版32位&#xff0c;电脑主机后置音频插孔一直没有声音&#xff0c;所以音箱是接在机箱前面版的前置音频插孔上的。 一天不小心捱到了音箱的音频线&#xff0c;音频线头断在音频插孔里面了&#xff0c;前置音频插孔因此用不…...

记一次音频无输出的解决方案

啊啊啊&#xff0c;刷个抖音就发现个死电脑死都不出声&#xff0c;捣鼓了一天才解决 打开wav文件时&#xff0c;提示错误找不到音频播放设备 0xc00d36fa 起初以为是声卡坏了&#xff0c;就到官网下载、更新了声卡驱动。无用什么驱动精灵也检测了&#xff0c;但也测不出啥来。…...

初学stm32 --- FSMC驱动LCD屏

目录 FSMC简介 FSMC框图介绍 FSMC通信引脚介绍 FSMC_NWE 的作用 FSMC_NWE 的时序关系 FSMC_NOE 的含义 FSMC_NOE 的典型用途 FSMC_NOE 的时序关系 使用FSMC驱动LCD FSMC时序介绍 时序特性中的 OE ILI9341重点时序&#xff1a; FSMC地址映射 HADDR与FSMC_A关系 LCD的…...

Scala_【4】流程控制

第四章 分支控制if-else单分支双分支多分支返回值嵌套分支 For循环控制包含边界不包含边界循环守卫循环步长嵌套循环循环返回值 While循环Break友情链接 分支控制if-else 单分支 双分支 多分支 返回值 嵌套分支 For循环控制 Scala也为for循环这一常见的控制结构提供了非常多的…...

mysql带自动递增列的表删除数据后如何重置递增值

mysql带自动递增列的表删除数据后如何重置递增值 在 MySQL 中&#xff0c;如果你删除了表中的数据&#xff0c;自动递增列的值 不会自动重置。如果你希望在删除数据后重新设置自动递增列的值&#xff0c;可以使用以下几种方法&#xff1a; 1. 使用 ALTER TABLE 重置自动递增值…...

[CTF/网络安全] 攻防世界 simple_php 解题详析

题目描述&#xff1a;小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。 代码解读 $a$_GET[a]; 从HTTP GET请求参数中获取一个名为a的变量&#xff0c;并将其赋值给变量a。符号用于禁止错误输出&#xff0c;如果不存在参数a则会将变量a设置为NULL。 $b$_GET[b];…...

Android 第三方框架:网络框架:OkHttp:源码分析:缓存

文章目录 概述磁盘缓存 类结构 InternalCache接口DiskLruCahce.Entry内部类DiskLruCahce.Snapshot内部类DiskLruCahce.Editor内部类DiskLruCahce类Cahce.Entry内部类Cahce类总结概述 不存在内存缓存,只存在磁盘缓存 磁盘缓存 磁盘缓存 类结构 主要InternalCache接口、Dis…...

大数据新视界 -- Hive 集群搭建与配置的最佳实践(2 - 16 - 13)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...

C# 设计模式(结构型模式):组合模式

C# 设计模式&#xff08;结构型模式&#xff09;&#xff1a;组合模式 在软件设计中&#xff0c;有时我们需要处理的是一组对象&#xff0c;而这些对象既可以是单独的元素&#xff0c;也可以是由多个子元素组成的复合体。这时&#xff0c;组合模式&#xff08;Composite Patte…...

Aloudata AIR | 逻辑数据平台的 NoETL 之道

一文为你介绍 Aloudata AIR 逻辑数据平台的技术原理与核心价值 本文主旨是介绍逻辑数据平台的技术原理与核心价值&#xff0c;包含几个部分的内容&#xff1a; 首先&#xff0c;简要阐述逻辑数据平台出现的背景&#xff1b;其次&#xff0c;详细讲解逻辑数据平台的构建方法&am…...

js的一些处理

1.翻转字符串 let str abcdef str str.split().reverse().join() console.log(str) 因此想到了我之前写的截取字符串获取参数跳转&#xff0c;在写一遍 let str nameJack&age18&gender男 let list str.split(&); let obj {} list.forEach((v)>{ …...

NLP 复习大纲

CH3 激活函数意义 增强网络表达能力&#xff0c;引入非线性因素 连续可导的非线性函数 尽可能简单 导数的值域要在合适的范围内 为什么会发生梯度消失 误差传播的迭代公式为&#xff1a; 其中需要用到激活函数的导数&#xff0c;而激活函数的导数值小于1时&#xff0c;误差经过…...

Kafka的rebalance机制

1、什么是 rebalance 机制 重平衡&#xff08;rebalance&#xff09;机制规定了如何让消费者组下的所有消费者来分配 topic 中的每一个分区。 2、rebalance 机制的触发条件是什么 &#xff08;1&#xff09;消费者组内成员变更 成员增加&#xff1a;当有新的消费者加入到消费…...

【git】git stash相关指令

目录 git stashgit stash save “”git stash list&#xff1a; 获取stash列表git stash pop&#xff1a;恢复最近一次stash缓存git stash apply stash{index}: 恢复指定缓存在这里插入图片描述git stash drop stash{1}&#xff1a;删除指定缓存 git stash clear :删除stash gi…...

BLIP论文笔记

论文地址 BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation 论文思想 其实Clip就相当于只用了ITC...

设计模式-创建型设计模式总结

创建型设计模式&#xff08;Creational Design Patterns&#xff09;是 设计模式 中的一类&#xff0c;专注于如何实例化对象或类。它们提供了一些优雅的方式来创建对象&#xff0c;允许程序在对象创建过程中更灵活地进行管理&#xff0c;从而提高系统的扩展性和维护性。 创建…...

Java-多种方法实现多线程卖票

Java多线程卖票是一个经典的并发编程问题,它展示了如何在多个线程之间安全地共享和修改资 源。以下是几种实现方式: 使用synchronized关键字: 使用synchronized修饰符来同步方法或代码块,确保同一时刻只有一个线程可以访问临界区(即操 作共享资源的代码)。 使用Reen…...

嵌入式系统开发笔记112:通过有人云测试MQTT

文章目录 前言一、MQTT1、基本原理(1)发布 / 订阅模式:(2)主题系统:2、特点(1)轻量级:(2)可靠性:(3)低功耗:3、消息主题的命名(1)使用正斜杠(/)分隔层级:(2)区分大小写:(3)避免特殊字符:4、客户端ID(1)作用a、连接标识:b、消息路由与管理:c、会话…...

C++ Latch 和 Barrier: 新手指南

文章目录 什么是 Latch 和 Barrier?为什么要使用 Latch 和 Barrier?代码示例示例 1: 使用 std::latch示例 2: 多阶段任务示例 3: 使用 std::barrier 何时使用?优势使用时需要注意的事项参考链接源码链接 随着并发和并行编程的重要性日益增加, 理解像 Latch 和 Barrier 这样的…...

【Cocos TypeScript 零基础 4.1】

目录 背景滚动 背景滚动 创建一个 空节点 背景丟进去 ( 复制一个,再丢一次都行) 新建TS脚本 并绑定到 空节点 上 再对TS脚本进行编辑 export class TS2bg extends Component {property (Node) // 通过属性面板去赋值bg1:Node nullproperty (Node) bg2:Node nullprope…...