HCIA-数据通信datacom认证
文章目录
- 一、数据通信简介
- 1.1 标准协议
- 1.2 数据传输过程
- 二、通用路由平台VRP
- 2.1 VRP简介
- 2.2 命令行基础
- 三 、网络层协议IP
- 3.1 数据封装
- 3.2 数据包传输
- 2.3 IP地址
- 2.4 子网划分
- 2.5 ICMP
- 四、IP路由基础
- 4.1 路由概述
- 4.2 路由表
- 4.3 路由转发
- 4.4 静态路由
- 4.5 动态路由
- 4.6 路由高级特性
- 五、动态路由OSPF
- 5.1 动态路由分类
- 5.2 ospf概述
- 5.3 ospf 配置命令
- 5.4 ospf 工作原理
- 六、路由-交换
- 六、以太网交换基础
- 七、vlan原理与配置
- 7.1 access 接口
- 7.2 trunck 接口
- 7.3 hybrid 接口
- 7.4 基于mac地址
- 八、生成树
- 8.1 生成树概述
- 8.2 生成树原理
- 8.3 BPDU包文与stp配置
- 九、实现vlan间通信
- 9.1 **物理路由**
- 9.2 **单臂路由**
- 9.3 **三层交换机vlanif**
- 十、ACL原理与配置
- 10.1 ACL技术概述
- 10.2 ACL的基本概念及其工作原理
- 10.3 ACL基本配置
- 十一、AAA原理与配置
- 11.1 AAA概述
- 11.2 AAA配置
- 十二、链路聚合与交换机堆叠、集群
- 12.1 链路聚合
- 12.2 堆叠、集群
HCIA认证目标: 区分网络通信和数据通信网络的概念 描述信息传递的过程 区分不同的网络设备并了解其基本作用 认识不同的网络类型及拓扑类型
一、数据通信简介
1.1 标准协议
数通(数据通信)== datacom ==路由交换。
通信本质是:资源共享。
终端相连—交换机(扩展端口、端口密度大)—路由器(端口少,隔离广播域在接口上)
企业级路由器、三层交换机【企业用三层交换机:端口密码大且具有三层功能】
交换机的作用:提供更多接口,让终端能够接入到网络中。(这里没有特别说明情况下,交换机指的都是二层交换机Layer 2 switching。)
路由器的作用:寻址和转发,根据目标网段查找路由表,进行转发或者丢弃。
防火墙的作用:不但具有路由器三层功能和交换机二层功能,而且还具有独特安全的功能。
无线AP:1、瘦AP(瘦就是得靠AC来扶着,必须结合AC来使用),胖AP可以独立工作。
OSI参考模型:
all people seem to need data photo (记忆编码)
all 应用层 代表:具体应用,如QQ微信等软件 (Application)
people 表示层 格式,如mp3 mp4 (presentation)
seem 会话层 建立、管理、拆除会话 (Session)
to 传输层 数据段,代表协议TCP/UDP (transport)
need 网络层 数据包,IP地址-逻辑地址 (network)
data 数据链路层 数据帧,物理地址-MAC地址 (data link)
photo 物理层 比特流 (physical)
OSI参考模型:仅仅是参考模型。
1、过于理想化,无法实现;
2、先于网络产生,不符合网络实际发展。
3、每一层之间划分过于绝对,复杂,过度追求完美。TCP、IP标准: 分为两种:
1、TCP/IP标准模型
2、TCP/IP对等模型(华为认可标准)
TCP/IP标准参考模型将OSI中的数据链路层和物理层合并为网络接入层,这种划分方式其实是有悖于现实协议制定情况的,故融合了TCP/IP标准模型和OSI模型的TCP/IP对等模型被提出,后面的讲解也都将基于这种模型。
任何基于TCP的应用,在发送数据之前,都需要由TCP进行“三次握手”建立连接。
当数据传输完成,TCP需要通过“四次挥手”机制断开TCP连接,释放系统资源。
三次握手
TCP 三次握手的目的是建立可靠的连接,让客户端和服务器双方都能确认自己和对方的发送与接收能力正常,过程如下:
第一次握手:客户端向服务器发送一个 SYN(同步)包,其中包含客户端的初始序列号(Sequence Number),假设为 x。这个包表明客户端希望与服务器建立连接,并告诉服务器自己的初始序列号。此时客户端进入 SYN_SENT 状态。
第二次握手:服务器接收到客户端的 SYN 包后,会向客户端发送一个 SYN+ACK 包。该包中的序列号为服务器自己的初始序列号,假设为 y,同时 ACK 的值为客户端的序列号 x 加 1,即 x + 1,表示服务器已经收到了客户端的 SYN包,并且准备好接收客户端的数据。此时服务器进入 SYN_RCVD 状态。
第三次握手:客户端收到服务器的 SYN+ACK 包后,会向服务器发送一个 ACK 包。该包的序列号为 x + 1,ACK 的值为服务器的序列号 y 加 1,即 y +1。这表示客户端已经收到了服务器的 SYN+ACK 包,并且确认了服务器的连接请求。服务器收到这个 ACK 包后,连接正式建立,双方都进入ESTABLISHED 状态。
四次挥手
TCP 四次挥手用于断开已经建立的连接,过程如下:
第一次挥手:主动关闭方(可以是客户端或服务器)发送一个
FIN(结束)包,表示自己已经没有数据要发送了,但还可以接收对方的数据。假设主动关闭方的序列号为 u,此时主动关闭方进入 FIN_WAIT_1 状态。
第二次挥手:被动关闭方收到 FIN 包后,会发送一个 ACK 包作为应答。该包的序列号为 v,ACK 的值为u + 1,表示已经收到了主动关闭方的 FIN 包。此时被动关闭方进入 CLOSE_WAIT 状态,而主动关闭方收到这个 ACK 包后进入 FIN_WAIT_2 状态。
第三次挥手:当被动关闭方也没有数据要发送时,它会向主动关闭方发送一个 FIN 包,假设序列号为 w,ACK的值仍为 u + 1。此时被动关闭方进入 LAST_ACK 状态。
第四次挥手:主动关闭方收到被动关闭方的 FIN 包后,会发送一个 ACK包进行确认。该包的序列号为 u + 1,ACK 的值为 w + 1。发送完成后,主动关闭方进入 TIME_WAIT状态,经过一段时间(通常为 2 倍的 MSL,即最长报文段寿命)后,如果没有收到被动关闭方的重传请求,则认为连接已经成功关闭,主动关闭方进入 CLOSED 状态。被动关闭方收到这个 ACK 包后,也进入 CLOSED 状态
1.2 数据传输过程
FTP/telnet/http这三个协议都是基于C/S架构(client/server):
FTP实验:
1、FTP服务器端开启FTP服务:
2、客户端尝试使用FTP协议去服务端下载文件;
验证
在只有 IP 地址和子网掩码而不需要网关的情况下,主机之间能 ping 通主要基于本地网络内的直接通信原理.
抓包验证
可以看到3次握手,4次挥手
一个广播域 = 一个子网 = 一个vlan = 一个网段 = 一个子接口
数据链路层的通信地址是物理地址,也就是mac地址。
ARP Request是广播数据帧,因此交换机收到后,会对该帧执行泛洪操作。
二、通用路由平台VRP
网络拓扑(Network Topology)是指用传输介质(例如双绞线、光纤等)互连各种设备(例如计算机终端、路由器、交换机等)所呈现的结构化布局
2.1 VRP简介
VRP用户级别:
用户等级可以使用当前相同等级或者低于本用户等级的命令。向下兼容。
2.2 命令行基础
用户视图 使用命令system-view
system-view 可以简写sy (简写成功的前提:没有歧义,能唯一标识是哪个命令)
[AR3] 系统视图,是切换到其他视图的必经之路。
[AR3]interface GigabitEthernet 0/0/0
[AR3-GigabitEthernet0/0/0] 接口视图
[AR3]ospf 1
[AR3-ospf-1] OSPF协议视图
常见报错
常见命令
三 、网络层协议IP
3.1 数据封装
3.2 数据包传输
分片:也就分包,把数据包分成多个片段,以便顺利通过沿路的设备。
设备能接收多大数据取决于MTU(最大传输单元),默认值一般是1500
路由器
ping 抓包
2.3 IP地址
掩码若没明确,是一种不规范的书写方式
自然掩码:
/8 A类地址 255.0.0.0
/16 B类地址 255.255.0.0
/24 C类地址 255.255.255.0
掩码特点:从左到右,是连续的0或者1,
B类:172.16.0.0~172.31.255.255 #并不是172开头都是私网IP地址,要看范围!
127.0.0.0/8 的网段 则用127.1.1.1 也是回路
2.4 子网划分
2.5 ICMP
ip 根据自己的网段招192.168.1 匹配
即使对方网段设置为16也可以ping通
四、IP路由基础
4.1 路由概述
路由是路由器进行数据包转发的唯一根据,针对一个目标网段,存在路由则转发,无路由则丢包。
你要去哪里(目标网段),到达哪里要先找到下一站(下一跳IP地址)是谁,要达到下一站应该从哪个出口(接口)出去
路由器两大功能:1、寻址 2、转发
路由表的来源有哪些: 1、直连路由 1.1 接口up 1.2 接口下面配置了正确IP地址 2、静态路由
管理员手工写。下一跳可达才生效。 动态路由 部署协议,自动学习和调整路由表的变化
4.2 路由表
假设优先级和度量值都一样,会怎么处理这个情况:
答:那就负载均衡了 同时放进路由表 典型代表:浮动静态路由就是例子
[AR2]ip route-static 0.0.0.0 0 192.168.23.5
[AR2]ip route-static 0.0.0.0 0 192.168.22.4
4.3 路由转发
只有当没有找到任何符合最长匹配原则的特定路由时,才会使用默认路由来转发数据包。
路由转发流程:
1)三层设备转发数据包的唯一凭据就是路由表,根据目标节点,采用最长匹配原则,进行查表;
2)路由表存在路由则进行转发,逐跳地转发到下一跳设备(hop by hop)
3)路由表不存在路由则丢弃处理。
4.4 静态路由
边界路由可配
4.5 动态路由
路由协议分类:
1、算法:分为LS(链路状态路由协议OSPF、IS-IS) DV(距离矢量路由协议,rip)
2、范围:IGP EGP(BGP)
3、动态静态:动态路由协议、静态路由协议
4、业务范围:单播路由协议、组播路由协议
5、有类无类:有类路由协议、无类路由协议
4.6 路由高级特性
五、动态路由OSPF
5.1 动态路由分类
路由信息协议RIP(Routing Information Protocol)是基于距离矢量算法的路由协议,利用跳数来作为计量标准。在带宽、配置和管理方面要求较低,主要适合于规模较小的网络中。已淘汰
链路状态路由协议:OSPF、ISIS
早期运营商中ISIS运用非常广。
5.2 ospf概述
OSPF(Open Shortest Path First)即开放最短路径优先,是一种广泛应用于 IP 网络的内部网关协议(IGP)
链路状态路由协议:
1、有整个拓扑全貌;自己产生原材料LSA也会收集别人发送的LSA
2、把LSA放进数据库LSDB
3、通过SPF算法算出最短路径生成最优路由;
4、链路状态路由协议的路由不是别人告诉的,而是自身收集原材料通过算法自己算出来;
1、区域area,在OSPF协议存在两大类区域:
1.1骨干区域(Area 0)
1.2非骨干区域(不是area 0就是非骨干区域)
router-id 类似人的身份证号码一样,OSPF路由器可以自动选举
5.3 ospf 配置命令
## 配置
ospf 1 router-id 2.2.2.2
area 0
network 10.1.23.1 0 0.0.0.0
## 查看
display ospf peer brief
例 R1 R2 R3配置ospf
# R1
ospf 1area 0network 10.1.12.0 0.0.0.255 # 宣告 R1-R2 链路
# R2
ospf 1area 0network 10.1.12.0 0.0.0.255 # 宣告 R2-R1 链路network 10.1.23.0 0.0.0.255 # 宣告 R2-R3 链路
# R3
ospf 1area 0network 10.1.23.0 0.0.0.255 # 宣告 R3-R2 链路
5.4 ospf 工作原理
六、路由-交换
交换机泛洪,使用vlan解决交换机比较大的广播泛洪问题。
三层解决交换机valn通信和路由器贵和接口少的问题。
三层设备的一个接口=路由器的一个接口=vlan=一个子网=一个网段 都是一个单独的广播域。
相同网段之间可以直接通信,不同网段之间不能直接通信(需要借助三层设备)
六、以太网交换基础
CSMA/CD (Carrier Sense Multiple Access/Collision Detection,载波监听多路访问/冲突检测),这是以太网早期网络用来解决冲突的机制。
冲突域:可能发生冲突的设备或终端之间所组成的区域。早期使用CSMA/CD机制解决冲突问题,
最终方法:使用交换机(交换机的每一接口都是一个单独的冲突域。)
广播域:广播报文所能到达的整个访问范围称为二层广播域,简称广播域,同一广播域内的主机都能收到广播报文。交换机(二层)没法隔离广播域,注意:没特别说明情况下都是二层交换机(简单粗暴,插上就能用,傻瓜交换机,没有cosole口)。
数据链路层,通信地址是物理地址,也叫MAC地址,在以太网中特有概念。
以太网存在两种标准
1、Ethernet_II,比较常见几乎都是;
2、IEEE 802.3,STP协议、ISIS协议
数据链路层典型设备是交换机(二层交换机);
二层交换机具有以下特点:
1、端口密度大12-24-48-52
2、最靠近终端设备;
网络层典型设备是路由器(三层交换机)。
交换机的工作原理:
1、根据源MAC地址学习,
2、根据目的MAC转发,
3、查表的依据是MAC地址表。
# 交换机mac映射表
display mac-address
七、vlan原理与配置
vlan id 12位=4096个 默认存在1,vlan-id范围1-4094
vlan的划分方式:
1、基于接口:缺点:移动终端需要重新配置接口所属的vlan。
2、基于mac地址: 采集mac地址,优点:终端移动不需要更改接口所属的vlan
Access:用于连接终端设备,接口只能属于一个VLAN。
Trunk:用于连接交换机或路由器,允许多个VLAN通过。
Hybrid:灵活配置,可以同时支持Tagged和Untagged VLAN。
7.1 access 接口
access接口:
应用场景-终端或者服务器,这类终端或者服务器存在一个特点(只能识别纯以太网帧)
access接口收到数据帧的处理方法:
1、纯的以太网帧,给该帧加上access接口的PVID值;
access接口发送数据帧的处理方法:
2、标记以太网帧,
2.1如果该以太网帧的vlan id和access接口的pvid不同,直接丢弃;
2.2如果该以太网帧的vlan id和access接口的pvid相同,剥离标签转发出去;
access的特点:
接口只能属于一个vlan,并且一根链路上的access只能允许相同一个vlan通过
7.2 trunck 接口
trunk收发规则(这里假设trunk放行列表不存在问题):
发送规则:
1、帧的VLAN ID与接口PVID相同:则将该帧的Tag剥除,然后将其从该接口发送出去;
2、帧的VLAN ID与接口PVID不同:则保留该帧的Tag,然后将其从该接口发送出去;
接收规则:
1、接口收到Untagged帧:
该帧打上PVID,接收该帧;
2、接口收到Tagged帧:
接收该帧。
个人思考总结:进来无标打标,有标access相同-trunk放行,出去相同去掉,不同acces不让,trunck放行。
interface Ethernet 0/0/2
# 接口类型 华为默认hybrid
# 添加vlan acess
port link-type access
port default vlan 10
# 添加vlan trunck
port link-type trunck
port trunck allow-pass vlan 10
port trunk pvid vlan vlan-id
# 查询
#历史命令
display history-command
#接口信息
display interface Ethernet 0/0/1
# vlan信息
display port vlan
display vlan
# 查询接口配置
display current-configuration interface Ethernet 0/0/3
与路由三层连接不需tag。当直连不通时可考虑是否将trunk改为access
7.3 hybrid 接口
为什么需要hybrid接口?
1、access在发送出去的数据帧一定是没有标签。(access无法做到在发送出去的数据帧带标签)。
2、trunk只有在跟自己pvid一样的时候才会剥离标签发送出去(trunk无法做到vlanid跟自己的pvid不一样的时候,剥离标签发送出去)
3、从上面1和2这两点看出access接口和trunk接口无法做到灵活剥离标签或者带有标签。
port hybrid untagged vlan:表示这些 VLAN 的数据帧会以 Untagged 形式发送。
port hybrid tagged vlan:表示这些 VLAN 的数据帧会以 Tagged 形式发送
# 配置hybrid
port link-type hybrid
port hybrid untagged vlan 10
port hybrid tagged vlan 20
# 可选 缺省的vlan
port hybrid pvid vlan
个人总结。hybrid终端untagged 中间tagged。相当于trunck vlan为1情况下的补充。只要trunck pvid不修改,始终为1,vlan也不配置1,应该主要用acces和trunk可以了吧,欢迎大家留言。
华为的默认下可以通信,因为默认下hybrid pvid 1 untagged都为 1
7.4 基于mac地址
八、生成树
8.1 生成树概述
以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路。但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及MAC地址表不稳定等故障现象,从而导致用户通信质量较差,甚至通信中断。为解决交换网络中的环路问题,提出了生成树协议STP(Spanning Tree Protocol)
单点故障–冗余–二层环路–stp 解决单点用冗余带来二层环路用stp
生成树协议
8.2 生成树原理
RP选举
每台非根桥上有且仅有一个根接口.
每天链路上仅有一个DP,和根端口原则一样。
## 华为默认下为mstp
stp mode ?
默认案例
#查看stp 信息
display stp
# CIST Root 根桥设备
# CIST Root/ERPC:32768.4c1f-cc0e-0d61 / 200000
display stp brif
# 非根交换机上有一个RootPort-ROLE 最优路径到桥。状态FORWARDING
# 每天链路上有一个designate-ROLE 指定端口,状态FORWARDING
# 剩下的Alternat-ROLE 备份端口,状态DISARDING
8.3 BPDU包文与stp配置
#配置生成树工作模式 默认mstp
stp mode mstp
#配置根桥
stp root primary
# CIST Root/ERPC :0 .4c1f-cc66-1d02 / 200000
#设置优先级(必须是4096的倍数,范围0-61440)默认32768
stp priority 4096
九、实现vlan间通信
以三层交换机为主,端口多,价格便宜。
PC1发现目标IP不在本地子网,将数据包发给网关192.168.10.254。
网关IP不一定必须是.1或.254,可以是子网内任意可用IP,但需满足:
是路由器或三层交换机接口的IP。
9.1 物理路由
配置好路由接口ip 即网关即可。
9.2 单臂路由
# 单臂路由 图如下
## 路由子接口1interface Ethernet 0/0/0.10 # 进入子接口ip address 192.168.10.254 24 # 配置网关IPdot1q termination vid 10 # 子接口绑定VLAN 10 # 路由子接口2interface Ethernet 0/0/0.20ip address 192.168.20.254 24dot1q termination vid 20# 查询接口IP网关display ip interface brief
## 交换机侧: 连接路由器的端口需要配置Trunkinterface GigabitEthernet0/0/24port link-type trunkport trunk allow-pass vlan 10 20
# 连接pc机配置accessinterface GigabitEthernet0/0/1port link-type accessport default vlan 10 interface GigabitEthernet0/0/2port link-type accessport default vlan 20
# 查询接口vlandisplay port vlan#查询display ip routing-tabledisplay ip interface briefdisplay current-configuration
9.3 三层交换机vlanif
# 三层交换机vlanif实现
# 创建VLAN 10(二层)
vlan 10
# 将物理端口加入VLAN 10(Access模式)
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
# 配置VLAN 10的三层接口(网关)
interface Vlanif 10
ip address 192.168.10.1 255.255.255.0
十、ACL原理与配置
10.1 ACL技术概述
VLAN(虚拟局域网)和ACL(访问控制列表)是网络中的两种不同技术,它们在功能上有部分重叠但不能完全相互替代。
随着网络的飞速发展,网络安全和网络服务质量QoS (Quality of Service)问题日益突出。访问控制列表 (ACL, Access Control List)是与其紧密相关的一个技术
10.2 ACL的基本概念及其工作原理
10.3 ACL基本配置
十一、AAA原理与配置
AAA=你是谁 你可以做什么 你做了什么
11.1 AAA概述
11.2 AAA配置
VTY是设备提供的远程登录通道,用于:Telnet(明文传输,不安全)
SSH(加密传输,推荐)其他远程协议(如STelnet、SFTP)
[Huawei] user-interface vty 0 4
# 启用AAA认证(需提前配置用户名/密码)
[Huawei-ui-vty0-4] authentication-mode aaa
# 仅允许SSH登录(禁用Telnet)
[Huawei-ui-vty0-4] protocol inbound ssh
# 设置超时时间为15分钟
[Huawei-ui-vty0-4] idle-timeout 15 0
# 设置登录用户权限等级(15为最高)
[Huawei-ui-vty0-4] user privilege level 15
AR1配置AAA
# 本地服务需打开,默认打开telnet server enableaaalocal-user lih password cipher C`Be0!1Ad1ECB7Ie7'/)8)d#local-user lih privilege level 2local-user lih service-type telnet
AR2 telnet AR1
十二、链路聚合与交换机堆叠、集群
12.1 链路聚合
#创建链路聚合组
interface Eth-Trunk 12
# 配置链路聚合模式
mode manual load-balance
#将接口加入链路聚合组中(Eth-Trunk视图)
trunkport Ethernet 0/0/1 to 0/0/3
# 查看
display interface Eth-Trunk 12
LACP模式
lacpdu类似于ospf中的hello报文
#创建链路聚合组
interface Eth-Trunk 12
# 配置链路聚合模式
mode manual lacp-static
#将接口加入链路聚合组中(Eth-Trunk视图)
trunkport Ethernet 0/0/1 to 0/0/3
# 配置最大活动接口数
max active-linknumber 2
# 查看
display stp brief
display eth-trunk 12
display interface Eth-Trunk 12
12.2 堆叠、集群
相关文章:
HCIA-数据通信datacom认证
文章目录 一、数据通信简介1.1 标准协议1.2 数据传输过程 二、通用路由平台VRP2.1 VRP简介2.2 命令行基础 三 、网络层协议IP3.1 数据封装3.2 数据包传输2.3 IP地址2.4 子网划分2.5 ICMP 四、IP路由基础4.1 路由概述4.2 路由表4.3 路由转发4.4 静态路由4.5 动态路由4.6 路由高级…...
学以致用,基于OpenCV的公摊面积估算程序
由于很多户型图并没有标注各个房间或者走廊的面积,亦或比较模糊,且很多人并不具备迅速口算多个小数相加再做除法的能力,本帖通过程序粗略计算公摊比例。由于非专业人士,公摊面积涉及到很多建筑学的专业公式,因此本帖只…...
Odoo/OpenERP 和 psql 命令行的快速参考总结
Odoo/OpenERP 和 psql 命令行的快速参考总结 psql 命令行选项 选项意义-a从脚本中响应所有输入-A取消表数据输出的对齐模式-c <查询>仅运行一个简单的查询,然后退出-d <数据库名>指定连接的数据库名(默认为当前登录用户名)-e回显…...
Ubuntu20.04安装OpenVINO环境以及YOLOv8 C++部署测试
深度学习 文章目录 深度学习一、三种推理框架介绍1、OpenVINO介绍2、TensorRT介绍3、Mediapipe介绍 二、三种框架的对比1、框架自身比较2.1、从模型部署上:2.2.从支持深度学习模型上:2.3.从应用平台上:2.4.从上手的难易程度上: 2、应用平台比…...
uniapp微信小程序封装navbar组件
一、 最终效果 二、实现了功能 1、nav左侧返回icon支持自定义点击返回事件(默认返回上一步) 2、nav左侧支持既显示返回又显示返回首页icon 3、nav左侧只显示返回icon 4、nav左侧只显示返回首页icon 5、nav左侧自定义left插槽 6、nav中间支持title命名 7…...
Docker中安装MySQL--------【详细图解】
1.根据所需拉取镜像---------不指定版本会下载最新版 docker pull mysql:8.0.27 2.查看所拉取的镜像 docker images 3.在/usr/local下创建docker、mysql目录 cd /usr/local mkdir docker mkdir mysql 4.进入mysql文件夹 cd mysql 5.创建config文件夹 mkdir config 6.编写配…...
QT基础:安装与简介
QT初级 1、简介1.1 安装1.2 设置1.3 在VS中配置Qt1.3 帮助文档 2、Qt项目2.1 创建项目2.1 项目文件2.2 Qt中的窗口类窗口显示 2.3 坐标体系2.4 内存回收 1、简介 QT是一个跨平台的C应用程序开发框架。几乎支持所有的平台, 可用于桌面程序开发以及嵌入式开发。 Qt是标准 C 的扩…...
智能打印预约系统:微信小程序+SSM框架实战项目
微信小程序打印室预约系统,采用SSM(SpringSpringMVCMyBatis)经典框架组合。 一、系统核心功能详解 1. 智能化管理后台 用户数据看板打印店资源管理预约动态监控服务评价系统 2. 微信小程序端 智能定位服务预约时段选择文件…...
AWTK-WEB 快速入门(6) - JS WebSocket 应用程序
WebSocket 可以实现双向通信,适合实时通信场景。本文介绍一下使用 Javacript 语言开发 AWTK-WEB 应用程序,并用 WebSocket 与服务器通讯。 用 AWTK Designer 新建一个应用程序 先安装 AWTK Designer: https://awtk.zlg.cn/web/index.html …...
一.搭建ubuntu系统服务器
搭建ubuntu系统服务器 一:Ubantu下载及安装1.Ubuntu的U盘系统安装工具制作2.Ubuntu系统安装 二.安装ssh实现远程连接1.安装OpenSSH服务器2.启动SSH服务并设置开机自启3.配置文件4.配置防火墙5.处理SELinux(仅限CentOS/RHEL)6.设置和修改SSH密…...
[python]基于yolov8实现热力图可视化支持图像视频和摄像头检测
YOLOv8 Grad-CAM 可视化工具 本工具基于YOLOv8模型,结合Grad-CAM技术实现目标检测的可视化分析,支持图像、视频和实时摄像头处理。 功能特性 支持多种Grad-CAM方法实时摄像头处理视频文件处理图像文件处理调用简单 环境要求 Python 3.8需要电脑带有…...
微软 GraphRAG 项目学习总结
微软2024年4月份发布了一篇《From Local to Global: A GraphRAG Approach to Query-Focused Summarization》(GraphRAG:从局部到全局的查询式摘要方法)论文,提出了一种名为GraphRAG的检索增强生成(RAG)方法…...
DeepSeek结合MCP Server与Cursor,实现服务器资源的自动化管理
MCP Server是最近AI圈子中又一个新的热门话题。很多用户都通过结合大语言模型、MCP Server,实现了一些工具流的自动化,例如,你只需要给出文字指令,就可以让Blender自动化完成建模的工作。你有没有想过,利用MCP来让AI A…...
DFX架构详解:构建面向全生命周期的卓越设计体系
引言 在当今高度竞争的市场环境中,产品开发已不再是单纯的功能实现,而是需要从设计源头考虑制造效率、用户需求、成本控制、环境兼容性等多维目标。DFX(Design for X)架构作为一种系统化的设计方法论,正成为企业实现产…...
如何在 Vue 项目中使用 Vite 和 Cordova 动态加载 Layui 和 DTree
随着前端开发工具的不断进步,Vue 项目的构建工具也从 Webpack 升级到了 Vite。Vite 的快速构建和热更新功能使得开发体验大大提升。 本文将介绍如何在迁移至 Vite 后,动态加载 Layui 和 DTree 库,并兼容 Cordova 应用中的资源路径。 1. Vite …...
如何在 vue 渲染百万行数据,vxe-table 渲染百万行数据性能对比,超大量百万级表格渲染
vxe-table 渲染百万行数据性能对比,超大量百万级表格渲染;如何在 vue 渲染百万行数据;当在开发项目时,遇到需要流畅支持百万级数据的表格时, vxe-table 就可以非常合适了,不仅支持强大的功能,虚…...
el-select+el-tree实现下拉树形选择
主要实现el-select下使用树结构,支持筛选功能 封装的组件 composeTree.vue <template><div class"vl-tree"><el-select class"treeScroll" popper-class"treeScrollSep"v-model"selectedList"placeholder"请选择…...
JavaScript函数知识点总结
JavaScript函数是一种可重复使用的代码块,它接受输入值(参数)、执行特定任务,并返回输出值。 1. 声明函数 function greet(name) {return "Hello, " + name + "!"; }console.log(greet("Alice")); // 输出: Hello, Alice! console.log( t…...
SQL INSERT INTO 语句详解
SQL INSERT INTO 语句详解 引言 SQL(Structured Query Language)是数据库管理系统的标准语言,用于处理数据库中的数据。在SQL中,INSERT INTO 语句是用于向数据库表中插入新记录的重要命令。本文将详细介绍 INSERT INTO 语句的用…...
为什么可视化大屏越来越多应用3D元素呢?
现在可视化大屏应用3D元素越来越普及了,背后的原因是什么呢?3D元素相较于2D元素有什么优势?应用3D元素涉及到哪些技术呢?大象数据工场通过本文与大家分享一下。 一、3D元素普及的原因是什么? 可视化大屏应用中使用3D…...
Github Webhook 以及主动式
Github配置 GitHub 默认支持两种 Content-Type: application/json application/x-www-form-urlencoded 特别要注意 Content-Type 我们选择: application/json Flask代码 import os import shutil import subprocess from flask import Flask, request, jsonifyapp = Fla…...
MySQL的基础语法1(增删改查、DDL、DML、DQL和DCL)
目录 一、基本介绍 二、SQL通用语法 三、SQL分类(DDL、DML、DQL、DCL) 1.DDL 1.1数据库操作 1.2表操作 1.2.1表操作-查询创建 1.2.2表操作-数据类型 1)数值类型 2)字符串类型 3)日期时间类型编辑 4)表操作-案例 1.2.3…...
基于 SpringBoot 的火车订票管理系统
收藏关注不迷路!! 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多…...
c#的反射和特性
在 C# 中,反射(Reflection)和特性(Attributes)是两个强大的功能,它们在运行时提供元编程能力,广泛用于框架开发、对象映射和动态行为扩展。以下是对它们的详细介绍,包括定义、用法、…...
MaxEnt物种分布建模全流程;R+ArcGIS+MaxEnt模型物种分布模拟、参数优化方法、结果分析制图与论文写作
融合R语言的MaxEnt模型具有以下具体优势: 数据处理高效便捷 📊强大的数据预处理功能:R语言提供了丰富的数据处理工具,能够轻松完成数据清洗、筛选、转换等操作,为MaxEnt模型提供高质量的输入数据。 🌐自动…...
【AI插件开发】Notepad++插件开发实践:从基础交互到ScintillaCall集成
一、背景与目标 在文本编辑器领域,Notepad凭借其轻量级特性和强大的插件生态,成为开发者群体中的热门选择。作为基于Scintilla组件构建的编辑器(Scintilla是开源的代码编辑控件,被Notepad、Geany等知名工具广泛采用)&…...
TCP/IP协议的应用层与传输层
TCP/IP协议簇是互联网的核心通信框架,定义了数据如何在网络中封装、寻址、传输和路由(确定数据包从源主机到目标主机的传输路径的过程)。 应用层 直接面向用户和应用,负责实现网络服务的具体功能(如网页浏览、文件传输…...
CentOS与Ubuntu命令对比指南:从软件包管理到系统配置
CentOS与Ubuntu命令对比指南 作为两大主流Linux发行版,**CentOS(基于RHEL)和Ubuntu(基于Debian)**在日常运维中常因命令差异引发混淆。本文通过关键场景对比,助您快速掌握两者的核心操作区别。 一、软件包管理:yum/dnf vs apt 操作CentOSUbuntu更新软件源yum check-upd…...
python-leetcode 61.N皇后
题目: 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击 给你一个整数 n ,返回所有不同的 n 皇后问题 的解…...
Scala 正则表达式
Scala 正则表达式 引言 正则表达式(Regular Expression)是一种强大的文本处理工具,在Scala编程语言中也有着广泛的应用。Scala正则表达式可以帮助开发者高效地进行字符串匹配、搜索、替换和解析等操作。本文将深入探讨Scala正则表达式的相关知识,包括语法、常用模式、匹配…...
【分布式】分布式限流方案解析
文章目录 固定窗口限流方案实现方式优点缺点 滑动窗口限流方案实现方式优点缺点 令牌桶限流方案实现方式优点缺点 漏斗限流方案实现方式优点缺点 在分布式系统蓬勃发展的当下,系统面临的流量挑战日益复杂。为确保系统在高并发场景下…...
Docker 拉取镜像部分成功部分失败?
🐋 Docker 拉取镜像部分成功部分失败?一次代理配置踩坑记录! 最近在部署 Zitadel 身份认证平台的过程中,遇到一个看似“随机”的问题:Docker 有些镜像可以拉取,有些却一直超时失败。最终通过配置 Docker 守…...
Spring AI Alibaba 对话记忆使用
一、对话记忆 (ChatMemory)简介 1、对话记忆介绍 ”大模型的对话记忆”这一概念,根植于人工智能与自然语言处理领域,特别是针对具有深度学习能力的大型语言模型而言,它指的是模型在与用户进行交互式对话过程中,能够追踪、理解并利…...
Mysql从入门到精通day5————子查询精讲
本文主要讲述子查询的几种方法,读者注意体会它们的不同场合的适用情况及功能,本篇文章也融入了小编实践过程遇到的坑,希望读者不要再踩坑 一.带IN关键字的子查询 in关键字可以检测结果集中是否存在某个特定的值,检测成功则执行外…...
QScreen 捕获屏幕(截图)
一、QScreen核心能力解析 硬件信息获取 // 获取主屏幕对象 QScreen* primaryScreen QGuiApplication::primaryScreen();// 输出屏幕参数 qDebug() << "分辨率:" << primaryScreen->size(); qDebug() << "物理尺寸:" << primar…...
Skyeye 云智能制造办公系统 VUE 版本 v3.15.15 发布
Skyeye 云智能制造,采用 Springboot winUI 的低代码平台、移动端采用 UNI-APP。包含 30 多个应用模块、50 多种电子流程,CRM、PM、ERP、MES、ADM、EHR、笔记、知识库、项目、门店、商城、财务、多班次考勤、薪资、招聘、云售后、论坛、公告、问卷、报表…...
【最新】探索CFD的未来:从OpenFOAM到深度学习,全面解析计算流体力学的顶级资源与前沿技术
计算流体力学(CFD)作为现代工程与科学研究的核心工具,正以前所未有的速度迈向智能化与多物理场耦合的新时代。本文全面梳理了在线学习CFD的顶级资源,涵盖了从传统数值模拟到深度学习驱动的物理信息模型的广泛领域,旨在为研究者、工程师和学生提供一站式参考指南。内容分为…...
【QT5 网络编程示例】TCP 通信
文章目录 TCP 通信 TCP 通信 QT主要通过QTcpSocket 和 QTcpServer两个类实现服务器和客户端的TCP 通信。 QTcpSocket 是 Qt 提供的套接字类,看用于建立、管理和操作 TCP 连接。 常用方法 connectToHost(host, port):连接到指定服务器。disconnectFro…...
QT五 文件系统,QFile,QfileInfo
总览 QIODevice:所有 I/O 设备类的父类,提供了字节块读写的通用操作以及基本接口;QFileDevice:Qt5新增加的类,提供了有关文件操作的通用实现。QFlie:访问本地文件或者嵌入资源;QTemporaryFile&a…...
OpenMCU(五):STM32F103时钟树初始化分析
概述 本文主要描述了STM32F103初始化过程系统时钟的初始化,主要描述了系统时钟的初始化,AHB总线时钟,APB总线时钟等的初始化。 硬件板卡3d图 时钟树 STM32F103的时钟树,如下所示: 时钟源选择 从STM32F103的时钟树框图,我们可以…...
docker save如何迁移镜像更节省空间?
文章目录 方法一:使用docker save命令方法二:直接保存多个镜像到一个tar文件哪个方法更节省磁盘空间?空间效率对比实际测试示例其他优势结论 如何用脚本迁移加载镜像 迁移镜像时候,往往会碰到基础镜像相同的很多镜像需要迁移&…...
在 UniApp 编译小程序时出现 `:class` 不支持 `getStatusClass(device.deviceStatus)` 语法的报错
在 UniApp 编译小程序时出现 :class 不支持 getStatusClass(device.deviceStatus) 语法的报错,这是因为在非 H5 平台,v-bind:class(:class 是其简写形式)里直接使用方法调用这种动态计算类名的方式可能不被支持。下面为你提供几种…...
Python之贪心算法
Python实现贪心算法(Greedy Algorithm) 概念 贪心算法是一种在每一步选择中都采取当前状态下最优的选择,从而希望导致结果是全局最优的算法策略。 基本特点 局部最优选择:每一步都做出当前看起来最佳的选择不可回退:一旦做出选择…...
Javaweb后端AOP记录操作日志
日志记录表 提示词 切入点表达式,注解的方法 查询不用加上日志记录功能...
obsidian ios git同步
首先感谢几位博主的文章,我现在时间久了,未保存原文地址。以下是我自己的执行步骤总结。 应用商店安装 iSH 打开iSH,执行 apk update 安装下面软件,(我觉得只安装第一个应该就行,下次测试)。 …...
我的机器学习学习之路
学习python的初衷 • hi,今天给朋友们分享一下我是怎么从0基础开始学习机器学习的。 • 我是2023年9月开始下定决心要学python的,目的有两个,一是为了提升自己的技能和价值,二是将所学的知识应用到工作中去,提升工作…...
Python的ASGI Web 服务器之uvicorn
文章目录 什么是uvicornUvicorn 和 uWSGI 对比区别安装 Uvicorn使用示例 什么是uvicorn 官网https://www.uvicorn.org/ Uvicorn 是一个用于 Python 的 ASGI Web 服务器实现。 Until recently Python has lacked a minimal low-level server/application interface for async…...
Spring Boot分布式项目实战:装饰模式的正确打开方式
我在最近参与的物流中台项目中,面对复杂的分布式服务调用场景时,发现装饰模式(Decorator Pattern)竟成为提升系统扩展性的秘密武器。当某个基础服务接口需要同时支持缓存、日志、限流等多种能力时,传统的继承方式已难以…...
基于WebSocket的金融数据实时推送系统架构设计对接多国金融数据API
基于WebSocket的金融数据实时推送系统架构设计 ——高可用、低延迟与全球化数据支持的技术实践 一、实时数据推送的技术演进 在证券交易、外汇监控、量化策略等场景中,毫秒级延迟可能带来完全不同的业务结果。早期基于HTTP轮询的方案存在三大核心问题:…...
Java虚拟机JVM知识点(已完结)
JVM内存模型 介绍下内存模型 根据JDK8的规范,我们的JVM内存模型可以拆分为:程序计数器、Java虚拟机栈、堆、元空间、本地方法栈,还有一部分叫直接内存,属于操作系统的本地内存,也是可以直接操作的。 详细解释一下 程…...