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

RIP协议

介绍

路由信息协议RIP(Routing Information Protocol)是基于距离矢量(Distance-Vector)算法的路由协议,它是一种较为简单的内部网关协议IGP(Interior Gateway Protocol)。它的主要功能是帮助路由器在一个自治系统(AS)内通过交换路由信息来选择最佳路径,从而实现数据包的传输。RIP协议使用跳数(hop count)作为衡量路径优劣的标准,并在此基础上进行路由选择。属于网络层,在带宽、配置和管理方面要求较低,主要适合于规模较小的网络中。

路由信息协议_百度百科

工作原理

1、距离矢量:RIP协议是距离矢量路由协议,它的核心思想是每个路由器维持一个“路由表”,并定期向相邻路由器通告它所知道的所有路由信息(也就是交换自己的路由表)。每条路由信息包括目标网络和该网络到达的跳数。仅和邻居交换路由信息,来逐步学习整个网络的拓扑结构。最总通过距离矢量算法来确定最短路径。(这里的“距离”用跳数(hop count)来衡量,每经过一个中间节点计为一跳)

2、路由交换周期:路由信息交换之后,然后就是多久交换?是周期性交换,每个具有 RIP 协议功能的路由器每隔 30 秒用 UDP 520 端口给与之直接相连的机器广播更新信息。当网络拓扑发生变化时,路由器也会发送触发更新,以便更快地将网络变化信息传递给其他路由器。

3、跳数(Hop Count):也就是到目标网络的路由跳数。每当数据包经过一个路由器时,跳数加1。当某个网络或路径发生故障,路由器将故障路径的度量值设置为16表示路径不可达。RIP协议中,跳数的最大值为15,超过15跳的路径被视为不可达。16跳为不可达

4、路由表的维护:每个RIP路由器会维护一个路由表,其中包含所有可达目标网络的路由条目。每个路由条目包括目标网络的地址、下一跳路由器的地址、该路径的跳数、最后更新时间等。路由表中的信息会定期更新,以适应网络拓扑的变化。例如,如果某个路由器或链接出现故障,RIP协议会通过更新来重新计算最优路径。

5、避免环路:使用水平分割和毒反转技术来维护准确的路由信息并防止环路。水平分割:路由器不会向路径到来的方向回传此路径。毒反转技术:当一个路由失效时,路由器会将该路由的跳数设为16(即不可达),通知其他路由器该路由不可用。

6、路由(RIP)表更新:

①、RIP 路由器每 30 秒向其邻居发送一次更新。这些更新包含整个路由表,允许相邻路由器了解所有已知路由。

②、Invalid Timer:如果路由器在 180 秒内未收到特定路由的更新,则会将该路由标记为无效。

③、刷新计时器:将路由标记为无效后,路由器会再等待 60 秒(从上次更新开始总共 240 秒),然后再从其路由表中删除该路由。此延迟提供了一个缓冲期,允许在完全删除路由之前接收任何最后一刻的更新。

④、路由通告:当路由器将其路由表发送给其邻居时,它包括每个路由的度量。该指标表示到目标的跃点数。如果路由器了解到具有更好度量(较少跃点)的路由,它会更新其路由表以反映此更高效的路径。

⑤、触发更新:除了常规的 30 秒更新外,路由器还可以发送触发更新。这些变化会立即发生,以响应网络中的重大变化,例如路由变得无法访问。触发的更新有助于比等待下一次定期更新更快地传播关键更改。

⑥、Poison Reverse:为了防止路由循环,RIP 使用一种称为 Poison Reverse 的机制。当路由器确定路由不再有效时,它会向其邻居发送更新,其中包含该路由的无限度量。这会告诉邻居该路由不再可访问。

版本介绍

比较项目

RIP 版本 1

RIP 版本 2

子网掩码支持

不支持,有类路由协议

支持,无类路由协议,支持 VLSM(可变长度子网) 和 CIDR

路由选择

基于目标网络,较简单

更精确,支持同一目标网络的多条路径

认证机制

支持明文和 MD5 认证

更新机制

定时更新(30 秒),收敛慢

定时更新和触发更新,收敛快

水平分割与毒性逆转

通常不支持

支持,防止路由环路

广播与组播

广播(255.255.255.255)

组播(224.0.0.9)

路由标记与下一跳属性

有路由标记和下一跳属性

路由更新包携带条目数量

最多 25 条

有认证时最多 24 条

报文介绍

RIP-V1报文

RIP-1报文由头部(Header)和多个路由表项(Route Entries)部分组成。在一个RIP报文中,最多可以有25个路由表项。RIP是一个基于UDP协议的,并且RIP-1的数据包不能超过512字节。

字段名

长度

含义

Command(命令)

8bit

标识报文的类型:

1:Request报文,向邻居请求全部或部分路由信息(广播);

2:Reponse报文,发送自己全部或部分路由信息(单播),一个Response报文中最多包含25个路由表项。

Version(版本)

8bit

RIP的版本号:

1:RIP-1

2:RIP-2

Must be zero

16/32bit

保留字段,必须为0。

AFI(Address family identifier)地址族标识符

16bit

地址族标识,其值为2时表示IP协议。对于Request报文,此字段值为0。

IP Address(IP地址)

32bit

该路由的目的IP地址,可以是自然网段的地址,也可以是子网地址或主机地址。

Metric(度量值)

32bit

路由的开销值。对于Request报文,此字段值为16。

RIP-V2报文

字段名

长度

含义

Command

8比特

标识报文的类型:

  • 1:Request报文,向邻居请求全部或部分路由信息;
  • 2:Reponse报文,发送自己全部或部分路由信息,一个Response报文中最多包含25个路由表项。

Version

8比特

RIP的版本号:

1:RIP-1

2:RIP-2

Must be zero

16比特

必须为零字段。

AFI(Address Family Identifier)

16比特

地址族标识,其值为2时表示IP协议。对于Request报文,此字段值为0。

Route Tag

16比特

外部路由标记。

IP Address

32比特

该路由的目的IP地址,可以是自然网段的地址,也可以是子网地址或主机地址。

Subnet Mask

32比特

目的地址的掩码。

Next Hop

32比特

提供一个更好的下一跳地址。如果为0.0.0.0,则表示发布此路由的路由器地址就是最优下一跳地址。

Metric

32比特

路由的开销值。对于Request报文,此字段为16。

RIP-2的验证报文格式

字段名

长度

含义

Command

8比特

标识报文的类型:

1:Request报文,向邻居请求全部或部分路由信息;

2:Reponse报文,发送自己全部或部分路由信息,一个Response报文中最多包含25个路由表项。

Version

8比特

RIP的版本号:

  • 1:RIP-1
  • 2:RIP-2

Must be zero

16比特

必须为零字段。

0xFFFF

16比特

验证项标识,表示整个路由报文需要验证。

Authentication Type

16比特

验证类型:

  • 2:明文验证;
  • 3:MD5验证。

Authentication

16字节

验证口令,当使用明文验证时该字段才会包含密码信息。

RIP路由配置

[R1]rip 1 开启rip

[R1-rip-1]version 2 启动版本2,默认为1

[R1-rip-1]undo summary 关闭路由器自动聚合

[R1-rip-1]nnetwork 192.168.1.0 宣告主网号

[R1-GigabitEthernet0/0/1] rip authentication-mode md5 usual cipher + 密码进行手工认证

[R1-GigabitEthernet0/0/1] rip summary-address [address mask],其中address是汇总后的网络地址,mask是对应的子网掩码。

[R1-rip-1]timers rip 10 60 100 解释times rip +30(更新)+180(失效)+300(刷新)进行加快收敛操作

[R1-rip-1]default-routeoriginate 解释:缺省路由或者将路由表中存在的缺省路由发送给邻居

RIP路由配置查看

display rip命令用来查看RIP进程的当前运行状态及配置信息。

display default-parameter rip命令用来查看RIP的缺省配置信息。

display rip database命令用来查看RIP发布数据库的所有激活路由。这些路由以RIP更新报文的形式发送。

display rip interface命令用来查看RIP的接口信息。

display rip neighbor命令用来查看RIP的邻居信息。

display rip route命令用来查看所有从其它交换机学来的RIP路由信息,以及与每条路由相关的不同定时器的值。

display rip statistics interface命令用来查看RIP接口上的统计信息,包括从接口上收到和发送的报文数量。

---------------------------------------------------------------------------------------------------------------------------------

亲爱的读者朋友们,我在发布的博客中可能存在一些不足之处,如果您发现了任何错误或有改进建议,恳请不吝赐教,您的反馈对我非常重要。谢谢!

相关文章:

RIP协议

介绍 路由信息协议RIP(Routing Information Protocol)是基于距离矢量(Distance-Vector)算法的路由协议,它是一种较为简单的内部网关协议IGP(Interior Gateway Protocol)。它的主要功能是帮助路…...

vue-router查漏补缺

一、动态路由匹配 1.带参数的动态路由匹配 import User from ./User.vue// 这些都会传递给 createRouter const routes [// 动态字段以冒号开始{ path: /users/:efg, component: User }, ]这种方式的路由会匹配到/users/abc或者/users/123,路径参数用冒号:表示,并…...

使用Flink CDC实现 Oracle数据库数据同步的oracle配置操作

使用Flink CDC实现 Oracle数据库数据同步的oracle配置操作,包括开启日志归档和用户授权。 flink官方参考资料: https://nightlies.apache.org/flink/flink-cdc-docs-master/zh/docs/connectors/flink-sources/oracle-cdc/ 操作步骤: 1.启用…...

mqtt.js 客户端封装

mqtt.js 客户端封装 没封装前使用 const client mqtt.connect(ws://10.10.20.9:9001) onMounted(() > {const topicList []const channelCount 12for(let i 0; i < channelCount; i) {topicList.push(/test/sendImage${i 1})}client.on(connect, () > {console…...

www.aws.training网站的账户密码如何修改

www.aws.training网站的账户密码如何修改 参加aws考试后, 账号密码如何修改呢? 是不是找了好久都找不到. 右上角, 我的账户, 点击注销. 然后会跳到页面: 点击那个网址链接, 进入新的页面,点安全: 右上角: 更改密码. 按提示来就好....

使用Python实现高性能数据存储

在数据驱动的时代&#xff0c;处理和存储海量数据已成为关键需求。高性能数据存储不仅能够确保数据的快速读写&#xff0c;还能提升系统的整体性能。Python作为一种灵活且功能强大的编程语言&#xff0c;提供了多种高效的数据存储解决方案。本文将详细介绍如何使用Python实现高…...

[已解决]nvm安装node.js 报错 拒绝访问此应用无法在你电脑上运行

报错如下&#xff1a; 出错背景&#xff1a; 心血来潮把node删掉重新安装&#xff0c;想用nvm来进行管理node 出错原因&#xff1a; npm下载失败、下载不完整 不完整的npm展示&#xff1a; 出错根本原因&#xff1a; 可能因为镜像源或者网络波动&#xff0c;导致node下载…...

图文检索(36):Decomposing Semantic Shifts for Composed Image Retrieval

Decomposing Semantic Shifts for Composed Image Retrieval 摘要方法3.1 前期准备3.2 视觉语言表示3.3 降级过程3.4 升级过程3.5 训练和推理 结论 发布时间&#xff08;2024 AAAI&#xff09; 标题&#xff1a;分解语义转换以实现组合图像检索 摘要 语义转换网络 (SSN)&…...

批量计算(Batch Processing)

批量计算&#xff08;Batch Processing&#xff09;是一种数据处理方式&#xff0c;指的是将大量任务或数据分批次进行处理&#xff0c;而不是实时处理每一个任务。这种处理方式通常在任务之间没有依赖关系时使用&#xff0c;可以大大提高计算效率和资源利用率。批量计算广泛应…...

Linux yum-config-manager命令异常

错误信息 使用 yum-config-manager命令时错误信息如下 sudo yum-config-manager \ > --add-repo \ > https://download.docker.com/linux/centos/docker-ce.repo sudo: yum-config-manager: command not found 解决办法 第一步&#xff1a; sudo yum -y install yum-u…...

【C++】关联存储结构容器-set(集合)详解

目录 一、基本概念 二、内部实现 三、常用操作 3.1 构造函数 3.2 插入操作 3.3 删除操作 3.4 查找操作 3.5 访问元素 3.6 容量操作 3.7 交换操作 四、特性 五、应用场景 结语 一、基本概念 set是C标准模板库&#xff08;STL&#xff09;中的一种关联容器&#xf…...

如何利用SPSS软件进行多组间显著性检验以abcd显示

1.SPSS软件中进行多组间的显著性检验 要在SPSS软件中进行多组间的显著性检验&#xff0c;并以abcd显示结果&#xff0c;你可以按照以下步骤操作&#xff1a; 数据准备&#xff1a; 确保你的数据已经正确输入SPSS&#xff0c;其中每行代表一个观测值&#xff0c;包含至少两列&a…...

C++ 之计时函数总结

C 之计时函数总结 总结Windows下C开发时的计时实现 1. clock() #include <time.h>   //引入头文件void main() {clock_t start, end;start clock();fun(); //需计时的函数end clock(); float t_cfloat(end-start)/CLOCKS_PER_SEC;cout << "func cos…...

仿dota2渲染--shader常见贴图含义(直观展示)

Properties {[Header(Texture)]_MainTex ("RGB:颜色 A:透贴", 2D) "white"{}_NormTex ("RGB:法线贴图", 2D) "bump" {}_MaskTex ("R:高光强度 G:边缘光强度 B:高光染色 A:高光次幂…...

NoSQL大数据存储技术测试(5)MongoDB的原理和使用

单项选择题 第1题 关于 MongoDB 集群部署下面说法不正确的是&#xff08;&#xff09; 已经不使用主从复制的模式 在实际应用场景中&#xff0c; Mongodb 集群结合复制集和分片机制 MongoDB 支持自动分片&#xff0c; 不支持手动切分 &#xff08;我的答案&#xff09; 每…...

视图、转发与重定向、静态资源处理

目录 视图 默认视图 视图机制原理 自定义视图 请求转发与重定向 静态资源处理 视图 每个视图解析器都实现了 Ordered 接口并开放出一个 order 属性 可以通过 order 属性指定解析器的优先顺序&#xff0c;order 越小优先级越高 默认是最低优先级&#xff0c;Integer.MAX_…...

ThinkPHP 5.1 的模板布局功能

ThinkPHP 5.1 的模板布局功能&#xff0c;包括全局配置、模板标签以及动态方法布局三种方式。以下是对这三种方式的要点概括和补充&#xff0c;以便于更好地理解和使用&#xff1a; 方式一&#xff1a;全局配置方式 适用于全站使用相同布局的情况&#xff0c;配置简单且统一。…...

入门网络安全工程师要学习哪些内容【2025年寒假最新学习计划】

&#x1f91f; 基于入门网络安全/黑客打造的&#xff1a;&#x1f449;黑客&网络安全入门&进阶学习资源包 大家都知道网络安全行业很火&#xff0c;这个行业因为国家政策趋势正在大力发展&#xff0c;大有可为!但很多人对网络安全工程师还是不了解&#xff0c;不知道网…...

Redis Cluster 分片机制

Redis 集群是 Redis 提供的一种分布式实现&#xff0c;用于水平扩展数据存储能力。通过 Redis 集群&#xff0c;可以将数据分片存储在多个 Redis 节点上&#xff0c;同时提供高可用性和故障转移功能。 分片&#xff08;Sharding&#xff09;&#xff1a; Redis 集群将数据划分…...

LightRAG测试BUG

错误一&#xff1a; LightRAG无法回答错误&#xff1a; INFO:lightrag:kw_prompt result:{{"high_level_keywords": ["xxx", "xxx"],"low_level_keywords": ["xxx", "xxx", "xxx"] }} JSON parsing e…...

关于手柄摇杆的连线

由于时间实在是太久远了&#xff0c;我也忘记具体的连线了&#xff0c;只能提供当时的连线图片。...

运算符优先级和,|| 的介绍

运算符优先级 关系运算的优先级高于逻辑运算&#xff0c;所以需要加上小括号来改变 更详细的运算符优先级可以去MATLAB官网看 &运算的优先级高于|优先级&#xff1a; &&&#xff0c;|| 的介绍 我们知道&#xff0c;&运算时&#xff0c;若第一个为 0 0 0&…...

Excel的文件导入遇到大文件时

Excel的文件导入向导如何把已导入数据排除 入起始行&#xff0c;选择从哪一行开始导入。 比如&#xff0c;前两行已经导入了&#xff0c;第二次导入的时候排除前两行&#xff0c;从第三行开始&#xff0c;就将导入起始行设置为3即可&#xff0c;且不勾选含标题行。 但遇到大文…...

SQL Having用法

拿个业务场景说这个案例&#xff0c;比如我们有个表里面可能有批改过的数据&#xff0c;批改过得数据不会随着新批改的数据覆盖&#xff0c;而是逐条插入表中&#xff0c;如果想找出包含最早批改的数据和最新批改数据的话&#xff0c;那么我们就需要用到了havinng 用法,假设最开…...

【mysql优化 | 新增分区】

在同步其他系统的数据&#xff0c;大概每天有16w多&#xff0c;目前已经600多万条数据了&#xff0c;导致查询的时候特别慢。 因为是报表&#xff0c;而且是每天统计&#xff0c;所以我们可以按照日期进行分区。 ALTER TABLE table PARTITION BY RANGE (TO_DAYS(rsdate)) (PA…...

vue 组件之间的传值方式

一、父组件向子组件传值 父组件可以使用 props 将数据传递给子组件。 <!-- 父组件 --> <template><ChildComponent :message"parentMessage" /> </template><script> import ChildComponent from ./ChildComponent.vue;export defau…...

VScode执行任务

背景 在vscode 中 如果执行命令需要传递进来参数&#xff0c;那么直接通过命令行终端的方式不太方便。通过task 任务的方式来进行启动执行&#xff0c;降低反复输入参数等繁琐工作。 首先可以查看vscode 官方文档 task 启动 crtl shift p .vscode/task.json 示例 执行cp…...

以太网链路详情

文章目录 1、交换机1、常见的概念1、冲突域2、广播域3、以太网卡1、以太网卡帧 4、mac地址1、mac地址表示2、mac地址分类3、mac地址转换为二进制 2、交换机的工作原理1、mac地址表2、交换机三种数据帧处理行为3、为什么会泛洪4、转发5、丢弃 3、mac表怎么获得4、同网段数据通信…...

将PDF流使用 canvas 绘制然后转为图片展示在页面上(二)

将PDF流转为图片展示在页面上 使用 pdfjs-dist 库来渲染 PDF 页面到 canvas 上&#xff0c;然后将 canvas 转为图片 安装 pdfjs-dist 依赖 npm install pdfjs-dist 或者 yarn add pdfjs-dist创建一个组件来处理 PDF 流的加载和渲染 该组件中是一个包含 PDF 文件的 ArrayBuffer…...

若依集成Uflo2工作流引擎

文章目录 1. 创建子模块并添加依赖1.1 新建子模块 ruoyi-uflo1.2 引入 Uflo2 相关依赖 2. 配置相关 config2.1 配置 ServletConfig2.2 配置 UfloConfig2.3 配置 TestEnvironmentProvider 3. 引入Uflo配置文件4. 启动并访问 Uflo2 是由 BSTEK 自主研发的一款基于 Java 的轻量级工…...

CV(4)--边缘提取和相机模型

前言 仅记录学习过程&#xff0c;有问题欢迎讨论 边缘提取&#xff08;涉及语义分割&#xff09;&#xff1a; 图象的边缘是指图象局部区域亮度变化显著的部分,也有正负之分&#xff0c;暗到亮为正 求边缘的幅度&#xff1a;sobel&#xff0c;Canny算子 图像分高频分量和低…...

使用html 和javascript 实现微信界面功能2

1.功能说明&#xff1a; 对上一篇的基础上进行了稍稍改造 主要修改点&#xff1a; 搜索功能: 在搜索框后面增加了搜索按钮。 搜索按钮调用performSearch函数来执行搜索操作。 表单形式的功能: 上传文件: 修改为表单形式&#xff0c;允许用户通过文件输入控件选择文件并上传。 …...

音视频入门基础:MPEG2-TS专题(12)—— FFmpeg源码中,把各个transport packet组合成一个Section的实现

一、引言 从《音视频入门基础&#xff1a;MPEG2-TS专题&#xff08;9&#xff09;——FFmpeg源码中&#xff0c;解码TS Header的实现》可以知道&#xff1a;FFmpeg源码中使用handle_packet函数来处理一个transport packet&#xff08;TS包&#xff09;&#xff0c;该函数的前半…...

数据结构Day一

1.思维导图 2.顺序表的创建 seq.h #ifndef __SEQ_H__ #define __SEQ_H__#define max 30 typedef int DataType; typedef struct {DataType data[max];int len; }seqList,*seqListPtr;seqListPtr seq_create();#endifseq.c #include <stdio.h> #include <stdlib.h&g…...

cpptoml介绍

cpptoml 是一个用于 C 的开源库&#xff0c;旨在提供对 TOML&#xff08;Toms Obvious, Minimal Language&#xff09;格式的支持。它允许开发者轻松地在 C 项目中读取、解析和生成 TOML 格式的配置文件。cpptoml 是一个轻量级、易于使用的库&#xff0c;适用于那些希望将 TOML…...

迭代器(转

package Scala4 //迭代器 object hd { def main(args: Array[String]): Unit { var li1 List(1, 2, 3, 4, 5, 6) //依次输出List的元素 //1.循环 //li1.foreach(println) //2.迭代器 //2.1创建一个迭代器&#xff08;iterator&#xff09; // val it1li1.iterator.take(3)/…...

鸿蒙元服务上架

鸿蒙元服务上架 一、将代码打包成 .app 文件1. 基本需求2. 生成密钥和证书请求文件3. 申请发布证书4. 申请发布Profile5. 配置签名信息6. 更新公钥指纹7. 打包项目成 .app 文件 二、发布元服务1. 进入应用信息页面2. 上传软件包3. 配置隐私协议4. 配置版本信息5. 提交审核&…...

查询三网话费余额接口,移动话费余额接口、电信话费余额接口、联通话费余额的接口+html前端查询UI界面

PHP是直接请求的接口&#xff0c;HTML代码也是直接请求的接口。如果HTML想上线运行&#xff0c;还是需要做下安全的。 下边是PHP代码 <?php // 定义API接口地址和参数 $apiUrl "https://api.taolale.com/api/Inquiry_Phone_Charges/get"; //API文档地址&…...

C#开发-集合使用和技巧(十)Union用法-并集

在 C# 中&#xff0c;IEnumerable 的 Union 方法用于返回两个序列的并集。Union 方法会去除重复的元素&#xff0c;确保结果集中每个元素都是唯一的。以下是 Union 方法的基本用法&#xff1a; 基本语法 public static IEnumerable<TSource> Union<TSource>(this…...

PyTorch 切片运算 (Slice Operator)

PyTorch 切片运算 {Slice Operator} 1. [:, -1, :]2. [:, [-1], :]References 1. [:, -1, :] https://github.com/karpathy/llama2.c/blob/master/model.py import torchlogits torch.arange(1, 16) print("logits.shape:", logits.shape) print("logits:\n&…...

leaflet 双屏对比

本章主要讲的是leaflet的双屏对比&#xff0c;本文参考了插件&#xff1a;Leaflet.Sync&#xff0c;我这里对原有的文件进行了重写&#xff0c;去掉了一部分不需要的内容&#xff0c;增加了flyTo和panTo方法&#xff0c;新的方法&#xff0c;如果需要可以自行下载资源。 目录 …...

渗透测试学习笔记(二)kali相关

一.kali 基础工具 NetCat -网络工具中的瑞士军刀&#xff1a;允许用户通过 TCP 或 UDP 协议发送和接收数据。WireShark-开源抓包软件TCPdump-命令行抓包分析工具 二. 被动信息收集 2.1 被动信息收集指从公开渠道获取信息&#xff0c;主要是已经公开的信息。 要点&#xff1…...

Python中的正交配对测试库:allpairspy

Python中的正交配对测试库&#xff1a;allpairspy 简介Python 中的 All-Pairs Testing 库安装 allpairspy使用 allpairspy 库的代码示例运行结果总结 简介 All-Pairs Testing (正交配对测试) 是一种广泛应用于软件测试中的组合测试方法&#xff0c;其核心思想是通过生成所有可…...

循序渐进kubenetes Service(Cluster ip、Nodeport、Loadbalancer)

文章目录 部署一个web服务Kubernetes Port ForwardKubernetes ServicesClusterIP ServiceNodePort ServiceLoadBalancer Service 部署一个web服务 准备 Kubernetes 集群后&#xff0c;创建一个名为 web 的新 namespace&#xff0c;然后在该 namespace 中部署一个简单的 web 应…...

SpringBoot【八】mybatis-plus条件构造器使用手册!

一、前言&#x1f525; 环境说明&#xff1a;Windows10 Idea2021.3.2 Jdk1.8 SpringBoot 2.3.1.RELEASE 经过上一期的mybatis-plus 入门教学&#xff0c;想必大家对它不是非常陌生了吧&#xff0c;这期呢&#xff0c;我主要是围绕以下几点展开&#xff0c;重点给大家介绍 里…...

《HTML 的变革之路:从过去到未来》

一、HTML 的发展历程 图片: HTML 从诞生至今&#xff0c;经历了多个版本的迭代。 &#xff08;一&#xff09;早期版本 HTML 3.2 在 1997 年 1 月 14 日成为 W3C 推荐标准&#xff0c;提供了表格、文字绕排和复杂数学元素显示等新特性&#xff0c;但因实现复杂且缺乏浏览器…...

给我的小程序加了个丝滑的搜索功能,踩坑表情包长度问题

前言 最近在用自己的卡盒小程序的时候&#xff0c;发现卡片越来越多&#xff0c;有时候要找到某一张来看看笔记要找半天&#xff0c;于是自己做了一个搜索功能&#xff0c;先看效果&#xff1a; 怎么样&#xff0c;是不是还挺不错的&#xff0c;那么这篇文章就讲讲这样一个搜索…...

高阶数据结构--B树B+树实现原理B树模拟实现--Java

目录 一、B-树概念 二、B-树插入分析 1.用序列{53, 139, 75, 49, 145, 36, 101}构建B树的过程如下&#xff1a; 2.插入过程总结 三、B树插入实现 四、B树 1.B树概念 2.B树的特性 五、B树应用 1.索引 2.Mysql索引 3.InnoDB 一、B-树概念 1970 年&#xff0c; R.Bayer 和…...

CTF: 在本地虚拟机内部署CTF题目docker

step 1 安装基本依赖 sudo apt-get update sudo apt-get install -y \ca-certificates \curl \gnupg \lsb-releasestep 2 安装docker sudo apt-get remove docker docker.io containerd runc sudo apt-get update sudo apt-get install \apt-transport-https \ca-certificate…...

深度学习详解

深度学习&#xff08;Deep Learning&#xff0c;DL&#xff09;是机器学习&#xff08;Machine Learning&#xff0c;ML&#xff09;中的一个子领域&#xff0c;利用多层次&#xff08;深层&#xff09;神经网络来自动从数据中提取特征和规律&#xff0c;模仿人脑的神经系统来进…...