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

【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 !目前《软考中级网络工程师》专栏已经更新二十多篇文章了,每篇笔记都包含详细的知识点,希望能帮助到你&#xff01…...

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&#xff1a; 记忆化搜索 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 应用能够自己独立运行&#xff0c;不依赖需 要安装的 Tomcat&#x…...

解构赋值

【系统学习ES6】 本专题旨在对ES6的常用技术点进行系统性梳理&#xff0c;帮助大家对其有更好的掌握&#xff0c;希望大家有所收获。 ES6允许按照一定模式&#xff0c;从数组和对象中提取值&#xff0c;对变量进行赋值&#xff0c;这被称为解构。解构是一种打破数据结构&#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 设计的未来范式

在人工智能技术持续突破的浪潮下&#xff0c;UI 设计领域正经历着前所未有的变革。AI 的深度介入不仅重塑了设计流程&#xff0c;更催生了全新的设计范式&#xff0c;为用户带来颠覆式的交互体验。探索 AI 时代 UI 设计的未来范式&#xff0c;是把握行业发展趋势的关键所在。​…...

键盘输出希腊字符方法

在不同操作系统中&#xff0c;输出希腊字母的方法有所不同。以下是针对 Windows 和 macOS 系统的详细方法&#xff0c;以及一些通用技巧&#xff1a; 1.Windows 系统 1.1 使用字符映射表 字符映射表是一个内置工具&#xff0c;可以方便地找到并插入希腊字母。 • 步骤&#xf…...

[数据结构高阶]并查集初识、手撕、可以解决哪类问题?

标题&#xff1a;[数据结构高阶]并查集初识、手撕、可以解决哪类问题&#xff1f; 水墨不写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)| 过拟合问题

机器学习&#xff08;Machine Learning&#xff09; 简要声明 基于吴恩达教授(Andrew Ng)课程视频 BiliBili课程资源 文章目录 机器学习&#xff08;Machine Learning&#xff09;简要声明 解决过拟合问题一、收集更多训练数据二、选择特征三、正则化四、过拟合解决方法总结 过…...

单片机-STM32部分:13-1、编码器

飞书文档https://x509p6c8to.feishu.cn/wiki/BpEywhaX9iqbiLkdqdAcmDnwnab EC旋转编码器 在产品开发过程中&#xff0c;需要位置闭环的的产品&#xff0c;类似电机类产品来说&#xff0c;编码器至关重要&#xff0c;它不仅可以使我们对带年纪进行精确的速度闭环&#xff0c;位…...

浅谈大语言模型原理

1.反向传播算法 背景 反向传播算法是当前深度学习的核心技术。 神经网络 x是输入&#xff0c;o是输出&#xff0c;w是需要训练的参数&#xff08;w有初始值&#xff09;三层全连接的神经网络&#xff1a;输入层、隐藏层、输出层 激活函数 f ( x ) 1 1 x − 1 f(x)\frac…...

设计模式之中介者模式

在我们实际开发中&#xff0c;我们经常会遇到多个对象之间互相依赖、互相调用的场景。如果这些对象之间的耦合度太高&#xff0c;不仅会让系统变得难以维护&#xff0c;还会让扩展变得异常困难。此时&#xff0c;中介者模式(Mediatro)就是一种非常实用的设计方案&#xff0c;它…...

Matlab 空调温度时延模型的模糊pid控制

1、内容简介 Matlab 231-空调温度时延模型的模糊pid控制 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略中央空调温湿度采用PID控制系统的探讨.pdf 中央空调房间温度智能 PID控制的仿真研究.pdf...

RabbitMQ ③-Spring使用RabbitMQ

Spring使用RabbitMQ 创建 Spring 项目后&#xff0c;引入依赖&#xff1a; <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-amqp --> <dependency><groupId>org.springframework.boot</groupId><artifac…...

C++修炼:模板进阶

Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;《编程之路》、《数据结构与算法之美》、《题海拾贝》、《C修炼之路》 欢迎点赞&#xff0c;关注&am…...

Spring Boot集成RabbitMQ高级篇:可靠性与性能提升

一、环境准备 安装 RabbitMQ 在官网上下载对应操作系统的安装包&#xff08;如 Windows、Linux 等&#xff09;&#xff0c;按照安装向导完成安装。 安装完成后&#xff0c;启动 RabbitMQ 服务。在 Windows 系统下&#xff0c;可以在服务列表中找到 RabbitMQ Server 并启动&am…...

Shell脚本编程3(函数+正则表达式)

1.函数 1.1 定义 简单来讲&#xff0c;所谓函数就是把完成特定功能&#xff0c;并且多次使用的一组命令或者语句封装在一个固定的结构中&#xff0c;这个结构我们就叫做函数。从本质上讲&#xff0c;函数是将一个函数名与某个代码块进行映射。也就是说&#xff0c;用户在定义了…...

【C++】语言深处的“精灵”:探索内存的奥妙

这里我们要知道&#xff0c;我们编写一个程序&#xff0c;这个程序中的变量是存储在哪个区域的 栈一般是用于静态的分配内存的&#xff0c;但也可以动态的分配内存&#xff0c; 堆是用于动态的分配内存的&#xff0c;不能静态的分配内存 栈&#xff1a; 通常是向低地址方向…...

c语言第一个小游戏:贪吃蛇小游戏03

我们为贪吃蛇的节点设置为一个结构体&#xff0c;构成贪吃蛇的身子的话我们使用链表&#xff0c;链表的每一个节点是一个结构体 显示贪吃蛇身子的一个节点 我们这边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 单片…...

让 - 艾里克・德布尔与斯普林格出版公司:科技变革下的出版业探索

在数字化浪潮席卷全球的当下&#xff0c;传统出版行业面临着前所未有的挑战与机遇。《对话 CTO&#xff0c;驾驭高科技浪潮》的第 10 章聚焦于让 - 艾里克・德布尔&#xff08;Jean - Eric Debeure&#xff09;及其所在的斯普林格出版公司&#xff08;Springer Publishing Comp…...

[python] 面向对象的三大特性-封装及新式类

一 继承 继承是指一个类&#xff08;子类&#xff09;可以继承另一个类&#xff08;父类&#xff09;的属性和方法&#xff0c;并可以在其基础上进行扩展或修改。 子类可以继承父类的属性和方法,包括私有属性和隐藏属性 &#x1f4a1; 核心思想&#xff1a; 避免重复代码&…...

winreg查询Windows注册表的一些基本用法

注册表是Windows操作系统中用于存储配置信息的数据库。它包含了关于系统硬件、已安装的应用程序、用户账户设置以及系统设置的信息。 特别地&#xff0c;当我们需要某些软件的配置配息时&#xff0c;主要在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与微服务场景深度解析

&#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精通 &#x1f601; 2. 毕业设计专栏&#xff0c;毕业季咱们不慌忙&#xff0c;几百款毕业设计等你选。 ❤️ 3. Python爬虫专栏…...

TDengine 在金融领域的应用

简介 金融行业正处于数据处理能力革新的关键时期。随着市场数据量的爆炸式增长和复杂性的日益加深&#xff0c;金融机构面临着寻找能够高效处理大规模、高频次以及多样化时序数据的大数据处理系统的迫切需求。这一选择将成为金融机构提高数据处理效率、优化交易响应时间、提高…...

十三、动态对象创建(Dynamic Object Creation)

十三、动态对象创建&#xff08;Dynamic Object Creation&#xff09; 目录 13.1 对象创建&#xff08;Object creation&#xff09;13.2 new / delete 操作符13.3 数组的 new 与 delete13.4 总结 背景说明 有时候我们需要知道程序中对象的数量、类型和声明周期&#xff0c;…...

cursor Too many报错 显示锁机器码怎么办?也就是Cursor的

22. Too many报错 显示锁机器码怎么办&#xff1f;也就是Cursor的 文档出自&#xff1a;https://www.kdocs.cn/l/cp5GpLHAWc0p...

window 显示驱动开发-将虚拟地址映射到内存段(二)

在将虚拟地址映射到段的一部分之前&#xff0c;视频内存管理器调用显示微型端口驱动程序的 DxgkDdiAcquireSwizzlingRange 函数&#xff0c;以便驱动程序可以设置用于访问可能重排的分配位的光圈。 驱动程序既不能将偏移量更改为访问分配的 PCI 光圈&#xff0c;也不能更改分配…...

Linux 软硬连接详解

目录 一、软链接&#xff08;Symbolic Link&#xff09; ‌定义与特性 ‌实现方法‌使用 ln -s 命令&#xff1a; 二、硬链接&#xff08;Hard Link&#xff09; 1、是什么 2、工作机制 3、实现方式 一、软链接&#xff08;Symbolic Link&#xff09; ‌定义与特性 定义…...