“SCSA-T学习导图+”系列:IPSec VPN原理与应用

news2024/7/5 22:21:03

本期引言:

本章主要讲解IPSec VPN相关理论概念,工作原理。从安全和加密原理入手,讲解了IPSec 在VPN对等体设备实现的安全特性,如数据的机密性、数据的完整性,数据验证等。重点分析IPSec封装模式,IPSec安全协议,IPSec密钥交换等知识为整个IPSec知识体系打下坚实的基础。

IPsec协议介绍:

需求背景

随着Internet的发展,由于IP协议未考虑安全性,而且Internet上有大量的不可靠用户和网络设备,所以业务数据要穿越这些未知网络,无法保证数据的安全性,数据易被伪造、篡改或窃取。为了解决上述问题,IPSec(Internet Protocol Security)应运而生。IPSec是对IP的安全性补充,其工作在IP层,为IP网络通信提供透明的安全服务。

IPsec简介:

IPSec是IETF(Internet Engineering Task Force)制定的一组开放的网络安全协议。它并不是一个单独的协议,而是一系列为IP网络提供安全性的协议和服务的集合,包括认证头AH(Authentication Header)和封装安全载荷ESP(Encapsulating Security Payload)两个安全协议、密钥交换和用于验证及加密的一些算法等。

通过这些协议,在两个设备之间建立一条IPSec隧道。数据通过IPSec隧道进行转发,实现保护数据的安全性。

IPSec对等体:IPSec用于在协商发起方和响应方这两个端点之间提供安全的IP通信,通信的两个端点被称为IPSec对等体。其中,端点可以是网关、路由器或者防火墙,也可以是主机。

IPSec隧道:IPSec为对等体间建立IPSec隧道来提供对数据流的安全保护。一对IPSec对等体间可以存在多条IPSec隧道,针对不同的数据流各选择一条隧道对其进行保护,例如有的数据流只需要认证、有的需要认证和加密。

IPSec对数据的加密是以数据包为单位,而不是以整个数据流为单位。发送方对要保护的数据包进行加密封装,在Internet上传输,接收方采用相同的参数对报文认证、解封装,以得到原始数据。

IPsec提供的安全服务

IPsec具有如下安全特性:机密性、完整性、数据来源验证、不可否认性及抗重放保护。

IPSec通过加密与验证等方式,从以下几个方面保障了用户业务数据在Internet中的安全传输:

数据来源验证:接收方验证发送方身份是否合法。数据加密:发送方对数据进行加密,以密文的形式在Internet上传送,接收方对接收的加密数据进行解密后处理或直接转发。数据完整性:接收方对接收的数据进行验证,以判定报文是否被篡改。抗重放:接收方拒绝旧的或重复的数据包,防止恶意用户通过重复发送捕获到的数据包所进行的攻击。

IPsec协议体系架构

​IPSec VPN体系结构主要由验证头AH(Authentication Header)、封装安全载荷ESP(Encapsulating Security Payload)和因特网密钥交换IKE(Internet Key Exchange)协议套件组成。IPSec通过AH和ESP两个安全协议实现IP报文的安全保护,通过ESP来保障IP数据传输过程的机密性,使用AH/ESP提供数据完整性、数据源验证和抗报文重放功能。ESP和AH定义了协议和载荷头的格式及所提供的服务,但却没有定义实现以上能力所需具体转码方式,转码方式包括对数据转换方式,如算法、密钥长度等。为简化IPSec的使用和管理,IPSec还可以通过IKE进行自动协商交换密钥、建立和维护安全联盟的服务。具体介绍如下:

AH协议:AH是报文头验证协议,主要提供数据源验证、数据完整性验证和防报文重放功能,不提供加密功能。

ESP协议:ESP是封装安全载荷协议,主要提供加密、数据源验证、数据完整性验证和防报文重放功能。

IKE协议:IKE协议建立在Internet安全联盟和密钥管理协议ISAKMP(Internet Security Association and Key Management Protocol)框架之上,采用DH(Diffie-Hellman)算法在不安全的网络上安全地分发密钥、验证身份,以保证数据传输的安全性。IKE协议可提升密钥的安全性,并降低IPSec管理复杂度。

IPsec协议族

IPSec协议定义了两种通信保护机制:封装安全载荷(ESP,Encapsulating Security Payload)和鉴别头(AH,Authentication Header)。其中ESP机制为通信提供机密性和完整性;AH机制为通信提供完整性保护。ESP机制和AH机制都能为通信提供抗重放(Anti-replay)攻击。IPSec协议可以设置成在两种工作模式下运行:一种是隧道(tunnel)模式,另一种是传输(transport)模式。

IPSec协议使用IKE协议实现安全协议的自动安全参数协商。IKE协商的安全参数包括加密与鉴别算法、加密与鉴别密钥、通信的保护模式(传输或隧道模式)、密钥的生存期等。IKE将这些安全参数构成的集合称为安全关联(SA,security Association),还负责这些安全参数的刷新。

IPSec封装模式

传输模式

在传输模式中,AH头或ESP头被插入到IP头与传输层协议头之间,保护TCP/UDP/ICMP负载。传输模式不改变报文头,故隧道的源和目的地址必须与IP报文头中的源和目的地址一致,所以只适合两台主机或一台主机和一台VPN网关之间通信。

IPsec工作模式即IPSec协议封装模式,主要用于定义在不同工作模式下,数据包交互的封装格式。

这里的IPSec包头就是下面介绍的AH头或者ESP头部。

在传输模式下,IPSec协议处理模块会在IP报头和高层协议报头之间插入一个IPSec报头。在这种模式下,IP报头与原始IP分组中的IP报头是一致的,只是IP报文中的协议字段会被改成IPSec协议的协议号(50或者51) ,并重新计算IP报头校验和。传输模式保护数据包的有效载荷、高层协议,IPSec源端点不会修改IP报头中目的IP地址,原来的IP地址也会保持明文。传输模式只为高层协议提供安全服务。

传输模式报文封装方式

在传输模式下,以TCP报文为例,原始报文经过传输模式封装后,报文格式如上图所示。

传输模式下,AH协议的完整性验证范围为整个IP报文。ESP协议验证报文的完整性检查部分包括ESP头、传输层协议头、数据和ESP报尾,但不包括IP头,因此ESP协议无法保证IP头的安全。ESP的加密部分包括传输层协议头、数据和ESP报尾。

隧道模式

与传输模式不同,在隧道模式下,AH头或ESP头被插到原始IP头之前,另外生成一个新的报文头放到AH头或ESP头之前,保护IP头和负载。隧道模式主要应用于两台VPN网关之间或一台主机与一台VPN网关之间的通信。

与传输模式不同,在隧道模式下,原始IP分组被封装成一个新的IP报文,在内部报头以及外部报头之间插入一个IPSec报头,原IP地址被当作有效载荷的一部分收到IPSec的保护。另外,通过对数据加密,还可以隐藏原数据包中的IP地址,这样更有利于保护端到端通信中数据的安全性。

隧道模式报文封装方式

在隧道模式下,以TCP报文为例,原始报文经过隧道模式封装后,报文格式如上图所示。

隧道模式下,AH协议的完整性验证范围为包括新增IP头在内的整个IP报文。ESP协议的加密部分包括传输层协议头、数据和ESP报尾。ESP协议验证报文的完整性检查部分包括ESP包头、原IP头、传输层协议头、数据和ESP报尾,但不包括新IP头,因此ESP协议无法保证新IP头的安全。

IPsec封装模式对比

传输模式和隧道模式的区别在于:

从安全性来讲,隧道模式优于传输模式。它可以完全地对原始IP数据包进行验证和加密。隧道模式下可以隐藏内部IP地址,协议类型和端口。

从性能来讲,隧道模式因为有一个额外的IP头,所以它将比传输模式占用更多带宽。

从场景来讲,传输模式主要应用于两台主机或一台主机和一台VPN网关之间通信;隧道模式主要应用于两台VPN网关之间或一台主机与一台VPN网关之间的通信。当安全协议同时采用AH和ESP时,AH和ESP协议必须采用相同的封装模式。

IPsec安全协议

AH和ESP是IPSec的两个主要协议。

认证头(AH , Authentication Header)协议为IP通信提供数据源认证、数据完整性检验和防重放保证。

封装安全载荷(ESP, Encapsulating Security Payload)为IP通信提供完整性检验、认证、加密和防重放保证。

AH和ESP可以单独使用,也可以同时使用。在实际的组网中,ESP协议使用较多。IPSec通过AH(Authentication Header)和ESP(Encapsulating Security Payload)这两个安全协议来实现数据报文在网络上传输时的安全性(eg:私有性、完整性、真实性和防重放等)。

AH协议介绍

AH(Authentication Header,认证头):

AH提供的安全服务:

AH不提供任何保密性服务:它不加密所保护的数据包。

不论是传输模式还是隧道模式下,AH提供对数据包的保护时,它保护的是整个IP数据包(易变的字段除外,如IP头中的TTL和TOS字段)。

AH仅支持认证功能,不支持加密功能。AH在每一个数据包的标准IP报头后面添加一个AH报文头。AH对数据包和认证密钥进行Hash计算,接收方收到带有计算结果的数据包后,执行同样的Hash计算并与原计算结果比较,传输过程中对数据的任何更改将使计算结果无效,这样就提供了数据来源认证和数据完整性校验。AH协议的完整性验证范围为整个IP报文。

AH在传输模式下封装

AH在隧道模式下封装

ESP协议介绍

ESP(Encapsulating Security Payload,封装安全有效载荷):

保密服务通过使用密码算法加密 IP 数据包的相关部分来实现。

数据流保密由隧道模式下的保密服务提供。

ESP通常使用DES、3DES、AES等加密算法实现数据加密,使用MD5或SHA1来实现数据完整性认证。

ESP同样被当作一种IP协议对待,紧贴在ESP头前的IP头,以协议号50标志ESP头,ESP之前的IP头中的协议字段将是50,以表明IP头之后是一个ESP头。

并且,ESP不仅具备ESP头,还有一个包含有用信息的ESP尾。

在隧道模式中,ESP保护整个IP包,整个原始IP包将会以ESP载荷的方式加入新建的数据包,同时,系统根据隧道起点和终点等参数,建立一个隧道IP头,作为这个数据包的新IP头,ESP头夹在隧道IP头和原始IP包之间,并点缀ESP尾。

而ESP提供加密服务,所以原始IP包和ESP尾以密文的形式出现。

ESP在验证过程中,只对ESP头部、原始数据包IP包头、原始数据包数据进行验证;只对原始的整个数据包进行加密,而不加密验证数据。

p作为一个IPSec头,ESP头中必然包含一个SPI字段。这个值,和IP头之前的目标地址以及协议结合在一起,用来标识特定的安全联盟。SPI本身是个任意数,可以是使用者自己指定,也可交由一些密钥管理技术自行协商决定。需要注意的是, SPI可以经过了验证,但却无法被加密。这是必不可少的一种做法,因为SPI用于SA的标识,指定了采用的加密算法以及密钥,并用于对包进行解密。如果SPI本身已被加了密,我们会碰到一个非常严重的问题——“先有鸡,还是先有蛋”。

ESP在传输模式下封装

ESP通常使用DES、3DES、AES等加密算法实现数据加密,使用MD5或SHA1来实现数据完整性认证。

ESP同样被当作一种IP协议对待,紧贴在ESP头前的IP头,以协议号50标志ESP头,并且,ESP不仅具备ESP头,还有一个包含有用信息的ESP尾。

在隧道模式中,ESP保护整个IP包,整个原始IP包将会以ESP载荷的方式加入新建的数据包,同时,系统根据隧道起点和终点等参数,建立一个隧道IP头,作为这个数据包的新IP头,ESP头夹在隧道IP头和原始IP包之间,并点缀ESP尾。

而ESP提供加密服务,所以原始IP包和ESP尾以密文的形式出现。

ESP在验证过程中,只对ESP头部、原始数据包IP包头、原始数据包数据进行验证;只对原始的整个数据包进行加密,而不加密验证数据。

ESP在隧道模式下封装

ESP通常使用DES、3DES、AES等加密算法实现数据加密,使用MD5或SHA1来实现数据完整性认证。

ESP同样被当作一种IP协议对待,紧贴在ESP头前的IP头,以协议号50标志ESP头,并且,ESP不仅具备ESP头,还有一个包含有用信息的ESP尾。

在隧道模式中,ESP保护整个IP包,整个原始IP包将会以ESP载荷的方式加入新建的数据包,同时,系统根据隧道起点和终点等参数,建立一个隧道IP头,作为这个数据包的新IP头,ESP头夹在隧道IP头和原始IP包之间,并点缀ESP尾。

而ESP提供加密服务,所以原始IP包和ESP尾以密文的形式出现。

ESP在验证过程中,只对ESP头部、原始数据包IP包头、原始数据包数据进行验证;只对原始的整个数据包进行加密,而不加密验证数据。

IPsec密钥交换

安全联盟SA

定义:安全联盟是通信的IPSec对等体间对某些要素的约定,例如:对等体间使用何种安全协议、需要保护的数据流特征、对等体间传输的数据的封装模式、协议采用的加密算法、验证算法、密钥以及SA的生存周期等。IPSec安全联盟简称IPSec SA。

lSA由三元组来唯一标识 ,包括:

SA是单向的:In和Out方向各需要一个SA。

建立IPSec SA的方式:手工方式和IKE自动协商方式。

IPSec安全传输数据的前提是在IPSec对等体(即IPSec协议的两个端点)之间成功建立安全联盟SA(Security Association)。SA是通信的IPSec对等体间对某些要素的约定,例如:对等体间使用何种安全协议、需要保护的数据流特征、对等体间传输的数据的封装模式、协议采用的加密算法、验证算法,以及用于数据安全转换和传输的密钥以及SA的生存周期等。IPSec安全联盟简称IPSec SA。

SA由一个三元组来唯一标识,这个三元组包括安全参数索引SPI(Security Parameter Index)、目的IP地址和使用的安全协议号(AH或ESP)。其中,SPI是用于唯一标识SA的一个32比特数值,它在AH和ESP头中传输。在手工配置SA时,需要手工指定SPI的取值。使用IKE协商产生SA时,SPI将随机生成。

安全联盟是单向的,在两个对等体之间的双向通信,最少需要两个安全联盟来分别对两个方向的数据流进行安全保护。另外,SA的个数还与安全协议相关。如果您只使用AH或ESP来保护两个对等体之间的流量,则对等体之间就有两个SA,每个方向上一个。如果对等体同时使用了AH和ESP,那么对等体之间就需要四个SA,每个方向上两个,分别对应AH和ESP。

建立IPSec SA的方式:手工方式和IKE自动协商方式。二者的主要区别为:密钥生成方式不同:手工方式下,建立SA所需的全部参数,包括加密、验证密钥,都需要用户手工配置,也只能手工刷新,在中大型网络中,这种方式的密钥管理成本很高;IKE方式下,建立SA需要的加密、验证密钥是通过DH算法生成的,可以动态刷新,因而密钥管理成本低,且安全性较高。

生存周期不同:手工方式建立的SA,一经建立永久存在;IKE方式建立的SA,其生存周期由双方配置的生存周期参数控制。

IKE介绍

因特网密钥交换IKE(Internet Key Exchange)协议建立在Internet安全联盟和密钥管理协议ISAKMP定义的框架上,是基于UDP(User Datagram Protocol)的应用层协议。它为IPSec提供了自动协商密钥、建立IPSec安全联盟的服务,能够简化IPSec的使用和管理,大大简化IPSec的配置和维护工作。

用IPSec保护一个IP包之前,必须先建立一个安全联盟(SA)。IPSec的安全联盟可以通过手工配置的方式建立。但是当网络中节点较多时,手工配置将非常困难,而且难以保证安全性。这时就可以使用IKE(Internet Key Exchange)自动进行安全联盟建立与密钥交换的过程。Internet密钥交换(IKE)就用于动态建立SA,代表IPSec对SA进行协商。

密钥管理协议ISAKMP定义了消息交换的体系结构,包括两个IPSec对等体间分组形式和状态转变(定义封装格式和协商包交换的方式)。

IKE用途

IKE为IPSec协商生成密钥,供AH/ESP加解密和验证使用。

在IPSec通信双方之间,动态地建立安全联盟(SA:Security Association),对SA进行管理和维护。

IKE是UDP之上的一个应用层协议,是IPSec的信令协议。IKE为IPSec协商生成密钥,供AH/ESP加解密和验证使用。AH协议和ESP协议有自己的协议号,分别是51和50。

IKE的安全机制

IKE具有一套自保护机制,可以在不安全的网络上安全地认证身份、分发密钥、建立IPSec SA。

IKE具有一套自保护机制,可以在不安全的网络上安全地认证身份、分发密钥、建立IPSec SA:

  • 身份认证:身份认证确认通信双方的身份(对等体的IP地址或名称)。

  • 身份保护:通信双方的身份数据在密钥产生之后加密传送,实现了对身份数据的保护。

  • DH(Diffie-Hellman)密钥交换算法:IKE采用DH(Diffie-Hellman)算法在不安全的网络上安全地分发密钥。这种方式配置简单,可扩展性好,特别是在大型动态的网络环境下此优点更加突出。同时,通信双方通过交换密钥交换材料来计算共享的密钥,即使第三方截获了双方用于计算密钥的所有交换数据,也无法计算出真正的密钥。

  • 完善的前向安全性PFS(Perfect Forward Secrecy):PFS是一种安全特性,指一个密钥被破解,并不影响其他密钥的安全性,因为这些密钥间没有派生关系。PFS是由DH算法保障的。

  • IKE的安全机制—身份认证

确认通信双方的身份(对等体的IP地址或名称),包括:

  • 预共享密钥PSK(pre-shared key)认证。

  • 数字证书RSA(rsa-signature)认证。

  • 数字信封认证。

对于预共享密钥认证方法,当有1个对等体对应多个对等体时,需要为每个对等体配置预共享的密钥。该方法在小型网络中容易建立,但安全性较低。使用数字证书安全性高,但需要CA来颁发数字证书,适合在大型网络中使用。而数字信封认证用于设备需要符合国家密码管理局要求时使用,此认证方法只能在IKEv1的主模式协商过程中支持。

IKE支持的认证算法有:MD5、SHA-1、SHA2-256、SHA2-384、SHA2-512、AES-XCBC-MAC-96、SM3。

身份认证确认通信双方的身份(对等体的IP地址或名称),包括预共享密钥PSK(pre-shared key)认证、数字证书RSA(rsa-signature)认证和数字信封认证。

  • 在预共享密钥认证中,认证字作为一个输入来产生密钥,通信双方采用共享的密钥对报文进行Hash计算,判断双方的计算结果是否相同。如果相同,则认证通过;否则认证失败。

  • 在数字证书认证中,通信双方使用CA证书进行数字证书合法性验证,双方各有自己的公钥(网络上传输)和私钥(自己持有)。发送方对原始报文进行Hash计算,并用自己的私钥对报文计算结果进行加密,生成数字签名。接收方使用发送方的公钥对数字签名进行解密,并对报文进行Hash计算,判断计算结果与解密后的结果是否相同。如果相同,则认证通过;否则认证失败。

  • 在数字信封认证中,发送方首先随机产生一个对称密钥,使用接收方的公钥对此对称密钥进行加密(被公钥加密的对称密钥称为数字信封),发送方用对称密钥加密报文,同时用自己的私钥生成数字签名。接收方用自己的私钥解密数字信封得到对称密钥,再用对称密钥解密报文,同时根据发送方的公钥对数字签名进行解密,验证发送方的数字签名是否正确。如果正确,则认证通过;否则认证失败。

IKE的安全机制-身份保护

身份数据在密钥产生之后加密传送,实现了对身份数据的保护。

lPSec工作过程中涉及数据加密和协议消息加密两种加密情况。

IPSec采用对称加密算法对数据进行加密和解密。对称加密算法是指数据发送方和接收方使用相同的密钥进行加密、解密。具体加密和解密的过程如上图所示。

用于加密和解密的对称密钥可以手工配置,也可以通过IKE协议自动协商生成。

IKE的安全机制- DH (Diffie-Hellman) 密钥交换算法

DH被称为公共密钥交换方法,它用于产生密钥材料,并通过ISAKMP消息在发送和接收设备之间进行密钥材料交换。然后,两端设备各自计算出完全相同的对称密钥。该对称密钥用于计算加密和验证的密钥。在任何时候,通信双方都不交换真正的密钥。DH密钥交换是IKE的精髓所在。但DH没有提供双方身份的任何信息,不能确定交换的数据是否发送给合法方,第三方可以通过截获的数据与通信双方都协商密钥、共享通信,从而获取和传递信息,所以,IKE还需要身份认证来对对等体身份进行认证。

发起方和响应方利用ISAKMP消息的Key Exchange和nonce载荷交换彼此的密钥材料。

pKey Exchange用于交换DH公开值。

pnonce用于传送临时随机数。

由于DH算法中IKE Peer双方只交换密钥材料,并不交换真正的共享密钥,即使黑客窃取了DH值和临时值也无法计算出共享密 钥,这一点正是DH算法的精髓所在。从抓包中可以看到IKE Peer双方交换密钥材料,以消息3为例:

IKE的安全机制-完美向前保密PFS

短暂的一次性密钥系统称为“完美向前保密”(Perfect Forward Secrecy,PFS)。如果加密系统中有一个秘钥是所有对称密钥的衍生者(始祖),便不能认为那是一个“完美向前保密”的系统。在这种情况下,一旦破解了根密钥,便能拿到其它衍生的所有密钥,受那些密钥保护的全部数据都会曝光。=

在IPSec里,PFS是通过在IPSec SA协商阶段重新进行一次DH交换来实现的。PFS是一种安全特性,指一个密钥被破解,并不影响其他密钥的安全性,因为这些密钥间没有派生关系。IPSec SA的密钥是从IKE SA的密钥导出的,由于一个IKE SA协商生成一对或多对IPSec SA,当IKE的密钥被窃取后,攻击者将可能收集到足够的信息来导出IPSec SA的密钥,PFS通过执行一次额外的DH交换,保证IPSec SA密钥的安全。

IKE协议版本

IKE协议分IKEv1和IKEv2两个版本,总体区别如下:

IKEv1

IKEv1使用两个阶段为IPSec进行密钥协商并建立IPSec SA。

  • 第一阶段,通信双方协商和建立IKE本身使用的安全通道,建立一个IKE SA,有那种协商模式:主模式和野蛮模式。

  • 第二阶段,利用这个已通过了认证和安全保护的安全通道,建立一对IPSec SA,产生真正可以用来加密数据流的密钥,用于最终的IP数据安全传送。

IKEv2

IKEv2简化了协商过程。在一次协商中可直接产生IPSec的密钥,生成IPSec SA。

本期作者:李忻蔚,深信服安全服务认证专家

深信服安全服务认证专家(SCSE-S),产业教育中心资深讲师,曾任职于中国电子科技网络信息安全有限公司,担任威胁情报工程师、渗透测试工程师、安全讲师;多年来为政府部门进行安全培训,安全服务;多次参与国家级、省级攻防比武的出题和保障任务,擅长Web安全、渗透测试与内网渗透方向。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/454676.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

技术解读丨多模数据湖:助力AI技术,推动内容管理平台智能化升级

随着数字化时代的到来,数据已经成为企业的重要资产之一。因此,构建高效的内容管理平台变得至关重要。本文重点介绍SequoiaDB多模数据湖技术在内容管理平台中的应用和成效,以及其对企业非结构化数据管理和AI的推动作用。 随着数字化时代的到来…

Vue3技术6之toRef和toRefs、shallowReactive与shallowRef、readonly与shallowReadonly

Vue3技术6 toRef和toRefstoRefApp.vueDemo.vue toRefsApp.vueDemoTwo.vue 总结 shallowReactive与shallowRefshallowReactiveApp.vueDemo.vue shallowRefDemo.vue 总结 readonly与shallowReadonlyApp.vueDemo.vueDemoTwo.vue总结 toRef和toRefs toRef App.vue <template&…

SpringCloud入门实战(七)-Hystrix服务限流

&#x1f4dd; 学技术、更要掌握学习的方法&#xff0c;一起学习&#xff0c;让进步发生 &#x1f469;&#x1f3fb; 作者&#xff1a;一只IT攻城狮 。 &#x1f490;学习建议&#xff1a;1、养成习惯&#xff0c;学习java的任何一个技术&#xff0c;都可以先去官网先看看&…

电子行业数字工厂管理系统的生产管理模式是什么

随着电子行业的不断发展&#xff0c;数字工厂管理系统在生产管理中的应用越来越广泛。数字工厂系统是一种综合管理系统&#xff0c;它将企业的采购、生产、销售、财务、人力资源等多个方面进行整合&#xff0c;实现了企业资源的有效整合和管理效率的提升。电子行业数字工厂系统…

vue 使用 threejs 加载第三方模型

threejs 加载第三方模型 接专栏的上一篇博文&#xff0c;这是加载第三方模型相关的。这篇博文拖了很久了哈&#xff0c;简单说一下吧&#xff0c;本来不想写了的&#xff0c;觉得相对来说比较简单&#xff0c;但是还是稍微一扯。为啥要加载第三方呢&#xff0c;上一篇我们绘制的…

人工智能:技术的进步与未来展望

一、引言 1.人工智能的定义 人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;是指由人类创造的具有某种程度上模拟、延伸或超越人类智能的技术。AI技术使计算机能够从数据中学习、推理、适应并执行类似人类大脑所进行的任务。这些任务包括图像识别、…

【Linux命令行与Shell脚本编程】三,Linux文件系统

Linux命令行与Shell脚本编程 第三章 Linux文件系统 文章目录 Linux命令行与Shell脚本编程三.Linux文件系统3.1,查看文件3.1.1,ls 命令 选项和参数3.1.2,过滤输出列表 3.2, 处理文件3.2.1,touch 创建文件3.2.2,cp 复制文件cp -i 覆盖询问cp -R 递归cp命令中使用通配符 3.2.3,ta…

NFS网络文件共享服务

NFS网络文件共享服务 NFS&#xff08;network file system&#xff09;网络文件系统 可以把对方主机资源直接挂载到自己电脑上&#xff0c;比FTP更加方便 明文传输 没有认证机制 安全性很差 只在局域网使用 依赖RPC(远程过程调用&#xff09; 需要安装nfs-utils(提供NFS服务)…

对话西门子Mendix:低代码与亚马逊云科技Serverless的底层融合,助力企业提效降本...

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 3月30日 亚马逊云科技举办了主题为“全面拥抱Serverless时代”的创新大会&#xff0c;分享了亚马逊云科技17年引领Serverless发展的技术创新、应用场景以及全球客户的创新实践。 会上&#xff0c;亚马逊云科技大中华区产品部…

RocketMQ高级概念

一 RocketMQ核心概念 1.消息模型&#xff08;Message Model&#xff09; RocketMQ主要由 Producer、Broker、Consumer 三部分组成&#xff0c;其中Producer 负责⽣产消息&#xff0c;Consumer 负责消费消息&#xff0c;Broker 负责存储消息。Broker 在实际部署过程中对应⼀台…

[MLIR] 转换流程详解(以Toy接入为例)

参考资料&#xff1a; [MLIR] 转换流程详解(以Toy接入为例) - 知乎 (zhihu.com) 在本文中我们使用 toy 语言接入 MLIR&#xff0c;最终转化为 LLVM IR (或目标代码)为例&#xff0c;来讲解 MLIR 的转换流程。具体的流程如下&#xff1a; .toy 源文件 → AST → MLIRGen(遍历AST…

【SSM】整合开发

文章目录 1.ssm整合过程1.1步骤1.2 Spring整合SpringMVC的问题 2.准备工作2.1 添加依赖2.2 创建数据库 3.相关配置3.1 整合Spring和Mybatis3.2 引入SpringMVC3.3 spring整合入web项目 4.测试整合效果 1.ssm整合过程 1.1步骤 &#xff08;1&#xff09;Spring整合MyBatis 通过…

PHP数组的功能及实现案例

目录 前言 一、什么是数组 二、创建关联数组 1.1运行流程&#xff08;思想&#xff09; 1.2代码段 1.3运行截图 三、创建索引数组 1.1运行流程&#xff08;思想&#xff09; 1.2代码段 1.3运行截图 前言 1.若有选择&#xff0c;可实现在目录里进行快速查找&#xff…

golang-GC垃圾回收

参考&#xff1a;https://juejin.cn/post/7040737998014513183#comment 垃圾回收&#xff08;Garbage Collection&#xff0c;缩写为GC&#xff09;&#xff0c;是一种自动内存管理机制。 相关术语 赋值器:说白了就是你写的程序代码&#xff0c;在程序的执行过程中&#xff0c…

《架构设计》-08-分布式系统和Rpc架构

文章目录 1. 分布式系统1.1 横向拆分1.2 分布式服务框架优缺点1.3 功能/非功能需求 2. RPC架构2.1 概述2.2 网络通信2.3 序列化2.3.1 概述2.3.2 传输协议 2.4 服务调用2.4.1 概述2.4.2 同步调用2.4.3 异步调用&#xff08;Future模式为例&#xff09;1&#xff09;Future-Get模…

day2 OSI七层体系结构

目录 网络体系结构的形成 协议与划分层次 OSI七层体系结构 网络体系结构的形成 两台计算机要互相传送文件需解决很多问题&#xff1b; (1) 必须有一条传送数据的通路。 (2) 发起方必须激活通路。 (3) 要告诉网络如何识别接收方。 (4) 发起方要清楚对方是否已开机&#…

绿色节约型校园电力能耗监控系统的设计与应用方案

摘 要&#xff1a;校园中能源的消耗与浪费占用了校园总费用支出的很大比例&#xff0c;而电能的消耗又是能源消耗的重中之重&#xff0c;重点阐述了校园能耗监控系统方案设计、关键技术。以北方某高校为例应用该方案&#xff0c;并结合具体的耗能特点对节能措施进行研究。 关…

养老保障金查询系统【GUI/Swing+MySQL】(Java课设)

系统类型 Swing窗口类型Mysql数据库存储数据 使用范围 适合作为Java课设&#xff01;&#xff01;&#xff01; 部署环境 jdk1.8Mysql8.0Idea或eclipsejdbc 运行效果 本系统源码地址&#xff1a;https://download.csdn.net/download/qq_50954361/87700421 更多系统资源库…

Linux中的DNS域名解析配置及原理

Linux中的DNS域名解析配置及原理 DNS系统的作用1、DNS系统的分布式数据结构2、DNS域名解析方式3、通过BIND做DNS解析部署 DNS系统的作用 DNS域名系统是因特网的一项核心服务&#xff0c;它作为可以将域名和IP地址相互映射的一个分布式数据库&#xff0c;能够使人更方便的访问互…

2023前端面试上岸手册——JavaScript 部分

目录 JavaScript 有哪些数据类型&#xff0c;它们的区别&#xff1f;数据类型检测的方式有哪些null 和undefined 区别如何获取安全的 undefined 值&#xff1f;Object.is() 与比较操作符 “两等” 、“三等” 的区别&#xff1f;什么是 JavaScript 中的包装类型&#xff1f;为什…