【25软考网工】第六章(4)VPN虚拟专用网 L2TP、PPTP、PPP认证方式;IPSec、GRE
博客主页:christine-rr-CSDN博客
专栏主页:软考中级网络工程师笔记
大家好,我是christine-rr !目前《软考中级网络工程师》专栏已经更新二十多篇文章了,每篇笔记都包含详细的知识点,希望能帮助到你!
今天的笔记是是虚拟专用网。
目录
一、虚拟专用网
1. 虚拟专用网基础
1)VPN概念与关键技术
2.VPN分类
1) 根据应用场景分类:
2) 根据VPN实现层次分类
二、 二层隧道协议——PPTP和L2TP、PPP认证方式
1.PPTP和L2TP
2. PPP认证方式
1)PAP(Password Authentication Protocol)
2)CHAP(Challenge Handshake Authentication Protocol)
3. 应用 案例
1)例题:CHAP协议定义
2)例题:PPP协议定义
3)例题:二层隧道协议
4.知识小结
三、第三层隧道协议--IPSec基础、GRE
1. IPSec原理
1)认证头AH
2)封装安全负荷 ESP
3)Internet密钥交换协议IKE
2. IPSec两种封装模式
1)原始报文
2)传输模式与隧道模式
3. GRE虚拟专网
4.IPSec协议专题
1) 例题:IPSec协议描述
2)例题:IPSec安全性
3)例题:IP数据报文加密
4)例题:IPSec封装方式
5)例题:数据加密协议
6) 例题:IPSec说法
7)例题:增强网际层安全协议
8)例题:IPSec说法
9)例题:加密功能隧道技术
10) 例题:AH协议功能
11)例题:安全联盟三元组内容
5.知识小结
一、虚拟专用网
1. 虚拟专用网基础
1)VPN概念与关键技术
定义:虚拟专用网(Virtual Private Network,VPN)是一种建立在公网上的,由某一组织或某一群用户专用的通信网络,类似于城市中的公交车专用通道。
类比理解:如同在传统马路上用黄线划出公交专用道, VPN在传统互联网上通过技术手段划出专用通道。
关键技术:
- 隧道技术(Tunrling):实现远程设备与内网设备"同局域网"效果。例如出差员工PC(北京)通过隧道获得内网IP(如192.168.1.2),与上海文件服务器(192.168.1.1)直接通信。
- 加解密技术(Emcryption&Decryption):防止数据在公网传输时被截获。
- 密钥管理(Key Management):定期更换通信密钥(如3-5小时更换一次)。
- 身份认证(Authentication):通过用户名/密码、UK、指纹等多因素认证确保接入安全。
2.VPN分类
1) 根据应用场景分类:
Client-to-Site VPN:
- 客户机与企业内网之间通过VPN隧道建立连接,客户机可以是一台防火墙、路由器,也可以是个人计算机。
- 场景:个人PC/移动设备访问企业内网(如出差员工)
- 别名:Remote VPN/Easy VPN
- 实现技术:SSL(最常用)、IPSec、L2TP、L2TP over IPSec
- 特点:L2TP本身不加密,需结合IPSec实现安全(L2TP over IPSec)
Site-to-Site VPN:
- 两个局域网之间通过VPN隧道建立连接,部署的设备通过为路由器挥着防火墙。
- 场景:总分机构互联(如学校本部与分校)
- 部署设备:路由器/防火墙
- 实现技术:
- IPSec:支持加密但不支持组播(影响OSPF/视频会议)
- GRE over IPSec:最常用组合,GRE支持组播+IPSec提供加密
- 注意:实际不用IPSec over GRE(仍不支持组播)
- L2TP(不加密、不支持组播)、L2TP over IPSec
2) 根据VPN实现层次分类
第二层——数据链路层:
- 主要技术:PPTP、L2TP(常考)
- 特点:L2TP需结合IPSec实现加密(L2TP over IPSec)
第三层——网络层:
- 核心技术:
- GRE(通用路由封装):支持组播但不加密
- IPSec:支持加密但不支持组播
- 最佳实践:GRE over IPSec组合使用
第四层——传输层:
- 技术:SSL/TLS VPN
- 关系:TLS基于SSL制定的标准,二者为"同门师兄弟"
- 应用:主要用于保护HTTP等应用层协议
二、 二层隧道协议——PPTP和L2TP、PPP认证方式
1.PPTP和L2TP
PPTP(Point-to-Point Tunneling Protocol,点对点隧道协议)
L2TP(Layer 2 Tunneling Protocol,第二层隧道协议)
底层协议: PPTP和L2TP都基于PPP协议,这是选择题高频考点
协议差异:
- 适用范围:
- PPTP仅支持TCP/IP体系(网络层必须是IP协议)
- L2TP可运行在IP(使用UDP)、X.25、帧中继或ATM网络上
- 隧道数量:
- PPTP只能在两端点建立单一隧道
- L2TP支持建立多个隧道
- 包头压缩:
- L2TP支持压缩(开销4字节)
- PPTP不支持(开销6字节)
- 安全特性:
- L2TP提供隧道验证但不加密
- PPTP不支持隧道验证但支持加密
PPP(Point-to-Point Protocol)组成 : 包含链路控制协议LCP(对接物理层)和网络控制协议NCP(对接网络层)
PPP(Point-to-Point Protocol,是一种数据链路层协议)由三个主要部分组成:
- 链路控制协议(LCP):用于建立、配置和测试数据链路连接。
- 网络控制协议(NCP):用于协商网络层协议的具体参数。
- 身份验证协议:如PAP(Password Authentication Protocol)和CHAP(Challenge Handshake Authentication Protocol),用于验证连接双方的身份
2. PPP认证方式
1)PAP(Password Authentication Protocol)
- 握手次数: 两次握手验证协议
- 传输方式: 口令以明文传送
- 认证流程: 被认证方主动发起请求,发送用户名+密码给主认证方进行验证
- 安全性: 较低,因为采用明文传输密码
2)CHAP(Challenge Handshake Authentication Protocol)
- 握手次数: 三次握手验证协议
- 传输内容: 不传送明文口令,传送HMAC散列值(基于哈希H的消息认证码MAC)
- 认证流程:
- 主认证方发起质询(包含用户名和随机报文)
- 被认证方用密码+随机数生成哈希值返回
- 主认证方验证哈希值是否匹配
- 通过挑战-响应机制来验证用户身份:服务器向客户端发送一个随机生成的挑战值,客户端使用预共享的密码和挑战值生成一个哈希值,并将其发送回服务器。服务器使用相同的密码和挑战值生成哈希值,并与客户端发送的哈希值进行比较。如果匹配,则验证成功。
- 安全性: 更高,采用哈希值代替明文传输
- 关联知识: 该过程与哈希应用场景中的认证过程原理一致
3. 应用 案例
1)例题:CHAP协议定义
- 握手方式: CHAP采用三次握手周期验证身份(B选项正确)
- 挑战响应机制: 服务器发送挑战报文后,终端计算该报文的HASH值(D选项正确)
- HASH生成原理: 基于用户密码+服务器随机数生成HMAC(哈希消息认证码)
- 典型错误: 注意CHAP值(C选项)是干扰项,实际应返回哈希值
- 答案:(19)B (20)D
2)例题:PPP协议定义
- 错误描述识别: "只能采用IP作为网络层协议"(C选项)是错误的
- 协议特性对比:
- PPP: 支持多协议(IP/IPX等)、具有地址协商功能、支持错误检测
- HDLC: 仅支持IP、无地址协商、支持错误检测
- 功能验证:
- A选项(链路控制)正确,通过LCP实现
- B选项(IP地址管理)属于PPP扩展功能
- 考试提示: 该考点近年较少出现,但需掌握基础对比表格
- 答案:C
3)例题:二层隧道协议
- 协议层级判断:
- 二层隧道:PPTP和L2TP(A选项正确)
- 排除依据:IPSec属三层,GRE属三层
- TCP/IP依赖要求:
- PPTP必须依赖TCP/IP(B选项正确)
- L2TP无此限制
- 安全特性补充:
- PPTP支持加密
- L2TP不提供原生加密(需结合IPSec)
- 解题技巧: 需同时掌握协议层级和特性差异才能准确排除干扰项
- 答案:(14)A (15)B
4.知识小结
知识点 | 核心内容 | 考试重点/易混淆点 | 难度系数 |
虚拟专用网(VPN)概念 | 建立在公网上的专用通信网络,类似公交车专用道 | 英文全称Virtual Private Network缩写VPN | ★★☆☆☆ |
VPN关键技术 | 1. 隧道技术 2. 加解密技术 3. 密钥管理技术 4. 身份认证技术 | 四大技术常考选择题 隧道技术实现远程PC与内网同网段效果 | ★★★☆☆ |
VPN分类(按场景) | 1. Client to Site(远程接入VPN) 2. Site to Site(站点间VPN) | Client to Site常用SSL/IPSec Site to Site最常用IPSec/GRE over IPSec | ★★★☆☆ |
VPN实现层次 | 二层:PPTP/L2TP 三层:GRE/IPSec(重点) 传输层:SSL/TLS | GRE支持组播但不加密,IPSec加密但不支持组播 实际常用GRE over IPSec | ★★★★☆ |
PPTP与L2TP对比 | 1. PPTP仅支持TCP/IP,L2TP支持多协议 2. PPTP单隧道,L2TP多隧道 3. L2TP支持头压缩(4字节) vs PPTP(6字节) 4. L2TP不加密,PPTP支持加密 | 选择题高频考点 两者都基于PPP协议 | ★★★★☆ |
PPP认证协议 | 1. PAP(两次握手明文传输) 2. CHAP(三次握手哈希认证) | CHAP认证过程: 1. 服务器发随机数 2. 客户端计算哈希(密码+随机数) 3. 验证哈希值 | ★★★★☆ |
GRE over IPSec优势 | 1. 支持组播(路由协议/视频会议) 2. 支持加密 3. 实际部署首选方案 | 案例分析高频考点 与IPSec over GRE的区别 | ★★★★☆ |
三、第三层隧道协议--IPSec基础、GRE
- 概念:IPSec(IP Security)是IETF定义一组协议,用于增强网络的安全性。
- 工作层:第三层网络层/网际层
- 作用:IPv4增加安全性,向IPv6过渡。
- 提供以下安全服务:
- 数据完整性(Data Integrity)
- 认证(Authentication)
- 保密性(Confidentiality)
- 应用透明安全性(Application-transparent Security)
1. IPSec原理
1)认证头AH
- 功能: IP包的数据完整性、数据来源认证和抗重放攻击服务,但不提供数据保密服务。
- 实现算法: MD5、SHA。
2)封装安全负荷 ESP
- 功能:除了提供IP包的数据完整性、数据来源认证和抗重放攻击服务,提供数据加密功能。
- 加密算法: DES、3DES、AES等。
3)Internet密钥交换协议IKE
- 功能: 用于生成和分发在ESP和AH中使用的密钥。
- 算法: 常用DH算法进行密钥交换。
2. IPSec两种封装模式
1)原始报文
- 描述: 原始报文结构包括IP头、TCP头和数据。
2)传输模式与隧道模式
- 传输模式:
- 特点: 效率高,不封装新的IP头,而是在原始报文中间插入AH头。
- 安全性: 相对较低,因为原始IP头未加密。
- 隧道模式:
- 特点: 安全性更高,封装新的IP头,将加入AH头后的整个原始报文作为数据加密后封装在新IP头内。
- 开销: 较大,因为需要封装新的IP头。
- 效率: 相对较低。
- 记忆技巧: 隧道模式类似于盾构机挖隧道,有一个新的“头”(盾构机的前端),因此隧道模式有新的IP头。
3. GRE虚拟专网
- GRE(Generic Routing Encapsulation,通用路由封装):
- 定义: 网络层隧道协议,对组播等技术支持很好。
- 缺点: 本身不加密。
- IPSec与GRE结合:
- 原因: GRE对组播支持好,但不加密;IPSec加密但对组播支持不佳。
- 方式: 先用GRE封装,再用IPSec加密,即GRE over IPSec。
- 协议号与端口:
- GRE协议号: 47。
- IPSec IKE端口: UDP 500(日常用)和4500(涉及NAT穿越时用)。
4.IPSec协议专题
1) 例题:IPSec协议描述
- AH功能:认证头(AH)仅提供数据完整性和源认证服务,不提供数据加密(A选项正确)
- ESP功能:封装安全负荷(ESP)主要用于数据加密,但也可用于完整性认证(B选项部分正确)
- 模式区别:传输模式不添加新IP头,隧道模式会封装新IP头(C选项错误)
- 协议层级:IPSec是网络层协议,与应用层Web服务器无关(D选项错误)
- 易错点:注意ESP的双重功能,若题目无A选项时B也可选
- 答案:A
2)例题:IPSec安全性
- 完整性保护:通过AH中的哈希算法(如MD5)实现(A正确)
- 身份认证:AH可提供用户身份认证服务(B正确)
- 封装位置:AH添加在TCP头部之前,不在TCP内部(C错误)
- 加密传输:通过ESP子协议实现数据加密(D正确)
- 记忆技巧:AH像"身份证"(认证),ESP像"保险箱"(加密)
- 答案:C
3)例题:IP数据报文加密
- 协议对比:
- PP2P/L2TP:二层隧道协议
- HTTPS/TLS:应用层/传输层安全协议
- IPSec:唯一直接加密IP报文的网络层协议
- 经典结论:IP层加密首选IPSec(A选项)
- 答案:A
4)例题:IPSec封装方式
- 传输模式:原IP头|AH|TCP|数据(对应②)
- 隧道模式:新IP头|AH|原IP头|TCP|数据(对应③)
- 错误识别:
- ①是原始报文(无AH)
- ②是传输模式非隧道模式
- ③是唯一正确的隧道模式描述
- 答案:C
5)例题:数据加密协议
- 对称算法:IDEA、AES、RC4均用于数据加密
- 非对称算法:Diffie-Hellman(DH)用于密钥交换
- 关键区别:加密算法(处理数据)vs 密钥交换算法(建立安全通道)
- 答案:B
6) 例题:IPSec说法
- 核心错误:AH不提供数据机密性服务,ESP提供加密服务(B选项错误)
- 模式特征:
- 传输模式:仅处理数据部分(C正确)
- 隧道模式:封装原IP头在内的所有字段(D正确)
- 高频考点:AH与ESP的功能差异每年必考
- 答案:B
7)例题:增强网际层安全协议
- 协议层级:
- L2TP/PPTP:二层协议
- TLS:传输层协议
- IPSec:唯一网络层安全协议
- 组合应用:L2TP常与IPSec结合使用(L2TP over IPSec)
- 答案:A
8)例题:IPSec说法
- 重复考点:与1.6题完全相同,再次验证AH无加密功能
- 应试技巧:同类题目可能在不同年份重复出现
- 答案:B
9)例题:加密功能隧道技术
- 加密能力:
- GRE/L2TP/MPLS-VPN:均无原生加密
- IPSec:唯一自带加密的隧道技术
- 典型组合:GRE over IPSEC是常见解决方案
- 答案 :D
10) 例题:AH协议功能
- 功能清单:
- 抵抗重放攻击
- 数据源认证
- 数据完整认证
- 排除项:数据保密性属于ESP功能(A选项)
- 答案:A
11)例题:安全联盟三元组内容
- 三元组构成:
- 安全参数索引(SPI)
- 目的IP地址
- 安全协议标识符(AH/ESP)
- 答案:C
5.知识小结
知识点 | 核心内容 | 考试重点/易混淆点 | 难度系数 |
ipsec基础 | ipsec(IP Security)是IETF定义的一组协议,包含多个子协议,用于增强IP网络的安全性 | ipsec是一组协议,不是单个协议;网络层=网际层 | 🌟 |
ipsec的目的 | 主要用来增强IP网络的安全性,保护IP网络 | ipsec的工作层次是网络层(网际层) | 🌟 |
ipv4与ipsec | ipv4网络没有安全机制,ipsec作为补丁来增强安全性 | ipv4与ipsec的关系,ipsec作为安全补丁 | 🌟🌟 |
ipv6与ipsec | ipv6通过扩展头(AH和esp)天然集成ipsec | ipv6的扩展头与ipsec的集成 | 🌟🌟 |
ipsec的安全服务 | 提供数据完整性校验、认证、保密性(数据加密) | ipsec提供的具体安全服务 | 🌟 |
ipsec的子协议功能 | - AH:提供数据完整性和数据原认证,不提供数据加密; - esp:提供数据加密功能; - ike:用于生成和分发密钥 | AH不提供数据加密;esp提供数据加密;ike的功能 | 🌟🌟🌟 |
ipsec的封装模式 | - 传输模式:在原有报文中间插入AH/esp头; - 隧道模式:添加新的IP头,封装原有报文 | 传输模式与隧道模式的区别 | 🌟🌟🌟 |
GRE与ipsec的结合 | GRE用于封装,但不加密; ipsec用于加密; 常结合使用(GRE over ipsec) | GRE与ipsec的结合方式及原因 | 🌟🌟 |
ipsec的协议号与端口 | - 协议号:47; - ike常用端口:udp 500; NAT穿越时使用udp 4500 | ipsec的协议号与ike的端口号 | 🌟 |
易混淆点:隧道模式与传输模式 | 隧道模式添加新IP头,开销大,安全性高; 传输模式效率高,安全性不如隧道模式 | 隧道模式与传输模式的优缺点及区分 | 🌟🌟🌟 |
安全联盟SA | SA是ipsec技术实现的基础,由三元组唯一标识:安全参数索引SPI、目的IP地址、安全协议(AH/esp) | SA的三元组组成 | 🌟🌟 |
相关文章:
【25软考网工】第六章(4)VPN虚拟专用网 L2TP、PPTP、PPP认证方式;IPSec、GRE
博客主页:christine-rr-CSDN博客 专栏主页:软考中级网络工程师笔记 大家好,我是christine-rr !目前《软考中级网络工程师》专栏已经更新二十多篇文章了,每篇笔记都包含详细的知识点,希望能帮助到你!…...
C语言:深入理解指针(3)
目录 一、数组名的理解 二、用指针访问数组 三、一维数组传参的本质 四、冒泡排序 五、二级指针 六、指针数组 七、指针数组模拟二维数组 八、结语 一、数组名的理解 数组名其实就是首元素的地址 int arr[3] {1,2,3}; printf("arr :%p\n" ,arr); printf(…...
R语言实战第5章(1)
第一部分:数学、统计和字符处理函数 数学和统计函数:R提供了丰富的数学和统计函数,用于执行各种计算和分析。这些函数可以帮助用户快速完成复杂的数学运算、统计分析等任务,例如计算均值、方差、相关系数、进行假设检验等。字符处…...
Lodash isEqual 方法源码实现分析
Lodash isEqual 方法源码实现分析 Lodash 的 isEqual 方法用于执行两个值的深度比较,以确定它们是否相等。这个方法能够处理各种 JavaScript 数据类型,包括基本类型、对象、数组、正则表达式、日期对象等,并且能够正确处理循环引用。 1. is…...
探索边缘计算:赋能物联网的未来
摘要 随着物联网(IoT)技术的飞速发展,越来越多的设备接入网络,产生了海量的数据。传统的云计算模式在处理这些数据时面临着延迟高、带宽不足等问题,而边缘计算的出现为解决这些问题提供了新的思路。本文将深入探讨边缘…...
Ubuntu中配置【Rust 镜像源】
本篇主要记录Ubuntu中配置Rust编程环境时,所需要做的镜像源相关的配置 无法下载 Rust 工具链 通过环境变量指定 Rust 的国内镜像源(如中科大或清华源)。 方法一:临时设置镜像 export RUSTUP_DIST_SERVERhttps://mirrors.ustc.e…...
netty 客户端发送消息服务端收到消息无法打印,springBoot配合 lombok使用@Slf4j
netty 客户端发送消息服务端收到消息无法打印,springBoot配合 lombok使用Slf4j 服务端代码 Slf4j public class EventLoopServer {public static void main(String[] args) throws InterruptedException {new ServerBootstrap().group(new NioEventLoopGroup()).c…...
学习笔记:黑马程序员JavaWeb开发教程(2025.4.3)
12.1 基础登录功能 EmpService中的login方法,是根据接收到的用户名和密码,查询时emp数据库中的员工信息,会返回一个员工对象。使用了三元运算符来写返回 Login是登录,是一个业务方法,mapper接口是持久层,是…...
Spark SQL 运行架构详解(专业解释+番茄炒蛋例子解读)
1. 整体架构概览 Spark SQL的运行过程可以想象成一个"SQL查询的加工流水线",从原始SQL语句开始,经过多个阶段的处理和优化,最终变成分布式计算任务执行。主要流程如下: SQL Query → 解析 → 逻辑计划 → 优化 → 物理…...
【时时三省】(C语言基础)字符数组的输入输出
山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 字符数组的输入输出可以有两种方法。 ( 1 )逐个字符输入输出。用格式符“% c”输入或输出一个字符. ( 2 )将整个字符串一次输入或输出。用“% s”格式符,意思是对字符串( strin…...
Hive HA配置高可用
Hive的高可用性(HA)通过消除关键组件的单点故障来实现,确保系统在部分故障时仍能正常运行。其基本原理涉及以下核心组件和策略: 1. Hive Metastore 的高可用 多实例部署:部署多个Metastore服务实例,每个实例连接到共享的后端数据库(如MySQL、PostgreSQ…...
Python爬虫第20节-使用 Selenium 爬取小米商城空调商品
目录 前言 一、 本文目标 二、环境准备 2.1 安装依赖 2.2 配置 ChromeDriver 三、小米商城页面结构分析 3.1 商品列表结构 3.2 分页结构 四、Selenium 自动化爬虫实现 4.1 脚本整体结构 4.2 代码实现 五、关键技术详解 5.1 Selenium 启动与配置 5.2 页面等待与异…...
重构金融数智化产业版图:中电金信“链主”之道
近日,《商学院》杂志独家专访了中电金信常务副总经理(主持经营工作)冯明刚,围绕“金融科技”“数字底座”“架构转型”“AI驱动”等议题,展开了一场关于未来架构、技术变革与系统创新的深入对话。 当下,数字…...
笔记本电脑升级实战手册【扩展篇1】:flash id查询硬盘颗粒
文章目录 前言:一、硬盘颗粒介绍1、MLC(Multi-Level Cell)2、TLC(Triple-Level Cell)3、QLC(Quad-Level Cell) 二、硬盘与主控1、主控介绍2、主流主控厂家 三 、硬盘颗粒查询使用flash id工具查…...
文档外发安全:企业数据防护的最后一道防线
在当今数字化时代,数据已成为企业最宝贵的资产之一。随着网络安全威胁日益增多,企业安装专业加密软件已从"可选"变为"必选"。本文将全面分析企业部署华途加密解决方案后获得的各项战略优势。 一、数据安全防护升级 核心数据全面保护…...
springboot集成langchain4j实现票务助手实战
前言 看此篇的前置知识为langchain4j整合springboot,以及springboot集成langchain4j记忆对话。 Function-Calls介绍 langchain4j 中的 Function Calls(函数调用)是一种让大语言模型(LLM)与外部工具(如 A…...
ZYNQ笔记(二十一): VDMA HDMI 彩条显示
版本:Vivado2020.2(Vitis) 任务:实现驱动 HDMI 显示彩条图像,同时支持输出给 HDMI 的图像分辨率可调。 目录 一、介绍 二、硬件设计 (1)DVI_Transmitter (2)Clockin…...
常用的maven插件及其使用指南
目录 1.maven官方插件列表2.两种方式调用maven插件3.常用的maven插件总结参考文献 1.maven官方插件列表 groupId为org.apache.maven.pluginshttp://maven.apache.org/plugins/index.html 2.两种方式调用maven插件 将插件目标与生命周期阶段绑定,例如maven默认将m…...
Meilisearch 安装
1.环境 rockey linux 9.2 meilisearch-linux-amd64 2.下载 访问:https://github.com/meilisearch/meilisearch/releases 下载适合自己系统版本的。 注意:我下载的不是最新版本的,因为最新版本的需要GLIBC2.35,我本地系统的是…...
用postman的时候如何区分服务器还是自己的问题?
作为测试人员,在使用Postman进行接口测试时,准确判断问题是出在服务器端还是本地环境非常重要。以下是一些实用的区分方法: 1. 基础检查方法 本地问题排查清单: ✅ 检查网络连接是否正常 ✅ 确认Postman版本是否为最新 ✅ 验证请求URL是否正确(特别是环境变量是否被正确…...
【Python算法】最长递增子序列
题目链接 方法1: 记忆化搜索 class Solution:def lengthOfLIS(self, nums: List[int]) -> int:cachedef dfs(i):res0 for j in range(i):if nums[j]<nums[i]:res max(res,dfs(j))return res1 # 返回res表示以nums[i]结尾的LIS长度return max(dfs(i) for i…...
springboot-web基础
21.web spring MVC 基于浏览器的 B/S 结构应用十分流行。Spring Boot 非常适合 Web 应用开发。可以使用嵌入式 Tomcat、Jetty、 Undertow 或 Netty 创建一个自包含的 HTTP 服务器。一个 Spring Boot 的 Web 应用能够自己独立运行,不依赖需 要安装的 Tomcat&#x…...
解构赋值
【系统学习ES6】 本专题旨在对ES6的常用技术点进行系统性梳理,帮助大家对其有更好的掌握,希望大家有所收获。 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。解构是一种打破数据结构&#x…...
Leetcode-BFS问题
LeetCode-BFS问题 1.Floodfill问题 1.图像渲染问题 [https://leetcode.cn/problems/flood-fill/description/](https://leetcode.cn/problems/flood-fill/description/) class Solution {public int[][] floodFill(int[][] image, int sr, int sc, int color) {//可以借助另一…...
AI 时代 UI 设计的未来范式
在人工智能技术持续突破的浪潮下,UI 设计领域正经历着前所未有的变革。AI 的深度介入不仅重塑了设计流程,更催生了全新的设计范式,为用户带来颠覆式的交互体验。探索 AI 时代 UI 设计的未来范式,是把握行业发展趋势的关键所在。…...
键盘输出希腊字符方法
在不同操作系统中,输出希腊字母的方法有所不同。以下是针对 Windows 和 macOS 系统的详细方法,以及一些通用技巧: 1.Windows 系统 1.1 使用字符映射表 字符映射表是一个内置工具,可以方便地找到并插入希腊字母。 • 步骤…...
[数据结构高阶]并查集初识、手撕、可以解决哪类问题?
标题:[数据结构高阶]并查集初识、手撕、可以解决哪类问题? 水墨不写bug 文章目录 一、认识并查集二、模拟实现并查集三、用并查集解决问题1、[省份的数量](https://leetcode.cn/problems/number-of-provinces/)2、[等式方程的可满足性](https://leetcode…...
BUUCTF——PYWebsite
BUUCTF——PYWebsite 进入靶场 看看基本信息 没有什么信息 扫个目录看看 http://node5.buuoj.cn:28115/.DS_Store http://node5.buuoj.cn:28115/flag.php http://node5.buuoj.cn:28115/index.html访问flag.php 提示保存购买者的IP 抓包看看 直接XFF伪造一下 X-Forwarded-F…...
【学习笔记】机器学习(Machine Learning) | 第六章(2)| 过拟合问题
机器学习(Machine Learning) 简要声明 基于吴恩达教授(Andrew Ng)课程视频 BiliBili课程资源 文章目录 机器学习(Machine Learning)简要声明 解决过拟合问题一、收集更多训练数据二、选择特征三、正则化四、过拟合解决方法总结 过…...
单片机-STM32部分:13-1、编码器
飞书文档https://x509p6c8to.feishu.cn/wiki/BpEywhaX9iqbiLkdqdAcmDnwnab EC旋转编码器 在产品开发过程中,需要位置闭环的的产品,类似电机类产品来说,编码器至关重要,它不仅可以使我们对带年纪进行精确的速度闭环,位…...
浅谈大语言模型原理
1.反向传播算法 背景 反向传播算法是当前深度学习的核心技术。 神经网络 x是输入,o是输出,w是需要训练的参数(w有初始值)三层全连接的神经网络:输入层、隐藏层、输出层 激活函数 f ( x ) 1 1 x − 1 f(x)\frac…...
设计模式之中介者模式
在我们实际开发中,我们经常会遇到多个对象之间互相依赖、互相调用的场景。如果这些对象之间的耦合度太高,不仅会让系统变得难以维护,还会让扩展变得异常困难。此时,中介者模式(Mediatro)就是一种非常实用的设计方案,它…...
Matlab 空调温度时延模型的模糊pid控制
1、内容简介 Matlab 231-空调温度时延模型的模糊pid控制 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略中央空调温湿度采用PID控制系统的探讨.pdf 中央空调房间温度智能 PID控制的仿真研究.pdf...
RabbitMQ ③-Spring使用RabbitMQ
Spring使用RabbitMQ 创建 Spring 项目后,引入依赖: <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-amqp --> <dependency><groupId>org.springframework.boot</groupId><artifac…...
C++修炼:模板进阶
Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路! 我的博客:<但凡. 我的专栏:《编程之路》、《数据结构与算法之美》、《题海拾贝》、《C修炼之路》 欢迎点赞,关注&am…...
Spring Boot集成RabbitMQ高级篇:可靠性与性能提升
一、环境准备 安装 RabbitMQ 在官网上下载对应操作系统的安装包(如 Windows、Linux 等),按照安装向导完成安装。 安装完成后,启动 RabbitMQ 服务。在 Windows 系统下,可以在服务列表中找到 RabbitMQ Server 并启动&am…...
Shell脚本编程3(函数+正则表达式)
1.函数 1.1 定义 简单来讲,所谓函数就是把完成特定功能,并且多次使用的一组命令或者语句封装在一个固定的结构中,这个结构我们就叫做函数。从本质上讲,函数是将一个函数名与某个代码块进行映射。也就是说,用户在定义了…...
【C++】语言深处的“精灵”:探索内存的奥妙
这里我们要知道,我们编写一个程序,这个程序中的变量是存储在哪个区域的 栈一般是用于静态的分配内存的,但也可以动态的分配内存, 堆是用于动态的分配内存的,不能静态的分配内存 栈: 通常是向低地址方向…...
c语言第一个小游戏:贪吃蛇小游戏03
我们为贪吃蛇的节点设置为一个结构体,构成贪吃蛇的身子的话我们使用链表,链表的每一个节点是一个结构体 显示贪吃蛇身子的一个节点 我们这边node就表示一个蛇的身体 就是一小节 输出结果如下 显示贪吃蛇完整身子 效果如下 代码实现 这个hasSnakeNode(…...
51 单片机头文件 reg51.h 和 reg52.h 详解
51 单片机头文件详解 51 单片机的头文件reg51.h和reg52.h是开发中非常重要的文件,它们定义了单片机的特殊功能寄存器 (SFR) 和位地址。以下是对这两个头文件的详细解析: 1. 头文件概述 reg51.h:针对标准 8051 单片机(4KB ROM, 128B RAM) reg52.h:针对增强型 8052 单片…...
让 - 艾里克・德布尔与斯普林格出版公司:科技变革下的出版业探索
在数字化浪潮席卷全球的当下,传统出版行业面临着前所未有的挑战与机遇。《对话 CTO,驾驭高科技浪潮》的第 10 章聚焦于让 - 艾里克・德布尔(Jean - Eric Debeure)及其所在的斯普林格出版公司(Springer Publishing Comp…...
[python] 面向对象的三大特性-封装及新式类
一 继承 继承是指一个类(子类)可以继承另一个类(父类)的属性和方法,并可以在其基础上进行扩展或修改。 子类可以继承父类的属性和方法,包括私有属性和隐藏属性 💡 核心思想: 避免重复代码&…...
winreg查询Windows注册表的一些基本用法
注册表是Windows操作系统中用于存储配置信息的数据库。它包含了关于系统硬件、已安装的应用程序、用户账户设置以及系统设置的信息。 特别地,当我们需要某些软件的配置配息时,主要在HKEY_CURRENT_USER和HKEY_LOCAL_MACHINE下的SoftWare内进行查询操作。 …...
DHCP自动分配IP
DHCP自动分配IP 练习1 路由器 Router>en Router#conf t Router(config)#ip dhcp pool ip10 //创建DHCP地址池 Router(dhcp-config)#network 192.168.20.0 255.255.255.0 // 配置网络地址和子网掩码 Router(dhcp-config)#default-router 192.168.20.254 //配置默认网关 Rou…...
互联网大厂Java求职面试实战:Spring Boot与微服务场景深度解析
💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通 😁 2. 毕业设计专栏,毕业季咱们不慌忙,几百款毕业设计等你选。 ❤️ 3. Python爬虫专栏…...
TDengine 在金融领域的应用
简介 金融行业正处于数据处理能力革新的关键时期。随着市场数据量的爆炸式增长和复杂性的日益加深,金融机构面临着寻找能够高效处理大规模、高频次以及多样化时序数据的大数据处理系统的迫切需求。这一选择将成为金融机构提高数据处理效率、优化交易响应时间、提高…...
十三、动态对象创建(Dynamic Object Creation)
十三、动态对象创建(Dynamic Object Creation) 目录 13.1 对象创建(Object creation)13.2 new / delete 操作符13.3 数组的 new 与 delete13.4 总结 背景说明 有时候我们需要知道程序中对象的数量、类型和声明周期,…...
cursor Too many报错 显示锁机器码怎么办?也就是Cursor的
22. Too many报错 显示锁机器码怎么办?也就是Cursor的 文档出自:https://www.kdocs.cn/l/cp5GpLHAWc0p...
window 显示驱动开发-将虚拟地址映射到内存段(二)
在将虚拟地址映射到段的一部分之前,视频内存管理器调用显示微型端口驱动程序的 DxgkDdiAcquireSwizzlingRange 函数,以便驱动程序可以设置用于访问可能重排的分配位的光圈。 驱动程序既不能将偏移量更改为访问分配的 PCI 光圈,也不能更改分配…...
Linux 软硬连接详解
目录 一、软链接(Symbolic Link) 定义与特性 实现方法使用 ln -s 命令: 二、硬链接(Hard Link) 1、是什么 2、工作机制 3、实现方式 一、软链接(Symbolic Link) 定义与特性 定义…...