网络运维与网络安全 学习笔记2023.11.23
网络运维与网络安全 学习笔记 第二十四天

今日目标
VRRP负载均衡、BFD原理与配置、BFD典型应用
DHCP工作原理、全局模式DHCP
VRRP负载均衡
VRRP单组缺陷
每网段存在一个VRRP组,缺点如下:
主网关数据转发压力大
备份网关不转发任何数据
网络设备利用率低

每网段设置多个VRRP组
虚拟网关1的IP为192.168.1.254
PC-1的网关为虚拟网关1

每网段设置多个VRRP组
虚拟网关2的IP为192.168.1.253
PC-2的网关为虚拟网关2

配置虚拟网关1,配置R1
interface gi0/0/0
vrrp vrid 1 virtual-ip 192.168.1.254 //配置虚拟路由器1的IP
vrrp vrid 1 priority 200 //配置虚拟路由器R1的优先级为200
配置虚拟网关1,配置R2
interface gi0/0/0
vrrp vrid 1 virtual-ip 192.168.1.254 //配置虚拟路由器1的IP
配置虚拟网关2,配置R2
Interface gi0/0/0
vrrp vrid 2 virtual-ip 192.168.1.253 //配置虚拟路由器2的IP
vrrp vrid 2 priority 200 //配置虚拟路由器2 的优先级为200
配置虚拟网关2,配置R1
interface gi0/0/0
vrrp vrid 2 virtual-ip 192.168.1.253 //配置虚拟路由器2的IP
多VLAN网关负载均衡
为VLAN10配置VRRP
SW1和SW2是VLAN10的真实网关
SW1在VLAN10中的优先级为200
SW2在VLAN10中的优先级为100
VLAN10的虚拟网关为192.168.10.254

配置虚拟路由器10,配置SW1
interface vlanif 10
vrrp vrid 10 virtual-ip 192.168.10.254 //配置虚拟路由器10的IP
vrrp vrid 10 priority 200 //配置虚拟路由器10的优先级为200
配置虚拟路由器10,配置SW2
interface vlanif 10
vrrp vrid 10 virtual-ip 192.168.10.254 //配置虚拟路由器10的IP
为VLAN20配置VRRP
SW1和SW2是VLAN20的真实网关
SW2在VLAN20中的优先级为200
SW1在VLAN20中的优先级为100
VLAN20的虚拟网关为192.168.20.254

配置虚拟路由器20,配置SW2
interface vlanif 20
vrrp vrid 20 virtual-ip 192.168.20.254 //配置虚拟路由器20的IP
vrrp vrid 20 priority 200 //配置虚拟路由器20的优先级为200
配置虚拟路由器20,配置SW1
interface vlanif 20
vrrp vrid 20 virtual-ip 192.168.20.254 //配置虚拟路由器20的IP
需求描述
VLAN6的主网关在SW1,优先级150,备份网关在SW2,优先级130
VLAN8的主网关在SW2,优先级150,备份网关在SW1,优先级130
VLAN6的虚拟IP为:192.168.6.254
VLAN8的虚拟IP为:192.168.8.254


①配置终端设备PC1
PC1的IP地址:192.168.6.1 255.255.255.0 192.168.6.254
PC2的IP地址:192.168.8.1 255.255.255.0 192.168.8.254
②配置SW3
system-view
[Huawei]sysname SW3
[SW3]vlan batch 6 8
[SW3]interface Ethernet0/0/1
[SW3-Ethernet0/0/1]port link-type access
[SW3-Ethernet0/0/1]port default vlan 6
[SW3-Ethernet0/0/1]quit
[SW3]interface Ethernet0/0/2
[SW3-Ethernet0/0/2]port link-type access
[SW3-Ethernet0/0/2]port default vlan 8
[SW3]interface Ethernet0/0/13
[SW3-Ethernet0/0/13]port link-type trunk
[SW3-Ethernet0/0/13]port trunk allow-pass vlan all
[SW3-Ethernet0/0/13]quit
[SW3]interface Ethernet0/0/22
[SW3-Ethernet0/0/22]port link-type trunk
[SW3-Ethernet0/0/22]port trunk allow-pass vlan all
[SW3-Ethernet0/0/22]quit
③配置SW1
system-view
[Huawei]sysname SW1
[SW1]vlan batch 6 8
[SW1]interface GigabitEthernet0/0/13
[SW1-GigabitEthernet0/0/13]port link-type trunk
[SW1-GigabitEthetnet0/0/13]port trunk allow-pass vlan all
[SW1-GigabitEthernet0/0/13]quit
④配置SW2
system-view
[Huawei]sysname SW2
[SW2]vlan batch 6 8
[SW2]interface GigabitEthernet0/0/22
[SW2-GigabitEthernet0/0/22]port link-type trunk
[SW2-GigabitEthernet0/0/22]port trunk allow-pass vlan all
[SW2-GigabitEthernet0/0/22]quit
⑤配置SW1上vlan6的VRRP(主网关)
[SW1]interface Vlanif 6
[SW1-Vlanif6]ip address 192.168.6.251 24
[SW1-Vlanif6]vrrp vrid 6 virtual-ip 192.168.6.254
[SW1-Vlanif6]vrrp vrid 6 priority 150
[SW1-Vlanif6]quit
⑥配置SW2上vlan6的VRRP(备份网关)
[SW2]interface Vlanif 6
[SW2-Vlanif6]ip address 192.168.6.252 24
[SW2-Vlanif6]vrrp vrid 6 virtual-ip 192.168.6.254
[SW2-Vlanif6]vrrp vrid 6 priority 130
[SW2-Vlanif6]quit
⑦配置SW2上vlan8的VRRP(主网关)
[SW2]interface Vlanif 8
[SW2-Vlanif8]ip address 192.168.6.252 24
[SW2-Vlanif8]vrrp vrid 8 virtual-ip 192.168.8.254
[SW2-Vlanif8]vrrp vrid 8 priority 150
[SW2-Vlanif8]quit
⑧配置SW1上vlan8的VRRP(备份网关)
[SW1]interface Vlanif 8
[SW1-Vlanif8]ip address 192.168.6.251 24
[SW1-Vlanif8]vrrp vrid 8 virtual-ip 192.168.8.254
[SW1-Vlanif8]vrrp vrid 8 priority 130
[SW1-Vlanif8]quit
⑨查看VRRP信息
[SW1]display vrrp brief
[SW2]display vrrp brief
BFD原理与配置
产生背景
目的
为了减小设备故障对业务的影响,提高网络的可靠性,网络设备需要能够尽快检测到与相邻设备间的通信故障,以便及时采取措施,保障业务继续进行。
在现有网络中,有些链路通常通过硬件检测信号,如SDH告警,检测链路故障,但并不是所有的介质都能够提供硬件检测。
此时应用就要依靠上层协议自身的Hello报文机制来进行故障检测。上层协议的检测时间都在1秒以上,这样的故障检测时间对某些应用来说是不能容忍的。同时,在一些小型三层网络中,如果没有部署路由协议,则无法使用路由协议的Hello报文机制来检测故障。
解决方案
BFD(Bidirectional Forwarding Detection)
双向转发检测机制,提供了一个通用的标准化的,与介质和协议无关的快速故障检测机制,用于快速检测、监控网络中链路或者IP路由的转发连接情况。
BFD的优点
对相邻设备之间的通道提供轻负荷、快速故障检测
用单一的机制对任何介质、任何协议层进行实时检测
BFD原理描述
原理简介
BFD在两台网络设备上建立会话,用来检测网络设备间的双向转发路径,为上层应用服务。
BFD本身并没有邻居发现机制,二是靠被服务的上层应用通知其邻居信息以建立会话。
会话建立后会周期性地快速发送BFD报文,如果在监测时间内没有收到BFD报文则认为该双向转发路径发生了故障,通知被服务的上层应用进行相应的处理。
BFD会话建立方式
静态建立BFG会话
通过命令行手工配置BFD会话参数,包括配置本地标识符和远端标识符等,然后手工下发BFD会话建立请求。
动态建立BFD会话
动态分配本地标识符:当应用程序触发动态创建BFD会话时,系统分配属于动态会话标识符区域的值作为BFD会话的本地标识符。
然后向对端发送Remote Discriminator的值为0的BFD控制报文,进行会话协商。
BFD检测机制
原理
BFD的检测机制是两个系统建立BFD会话,并沿它们之间的路径周期性发送BFD控制报文,如果一方在既定的时间内没有收到BFD控制报文,则认为路径上发生了故障。
配置命令

[RA]bfd //启用BFD
[RA]bfd AC bind peer-ip 10.2.1.2 //创建BFD会话,名字为AC
[RA-bfd-session-AC]discriminator local 1 //配置本地设备标识为1
[RA-bfd-session-AC]discriminator remote 3 //配置远程设备标识为3
[RA-bfd-session-AC]commit //提交BFD会话,才可以让配置生效
[RA-bfd-session-AC]quit
[RC]bfd //启用BFD
[RC]bfd CA bind peer-ip 10.1.1.1 //创建BFD会话,名字为CA
[RC-bfd-session-CA]discriminatior loacl 3 //配置本地设备标识为3
[RC-bfd-session-CA]discriminator remote 1 //配置远程设备标识为1
[RC-bfd-session-CA]commit //提交BFD会话
[RC-bfd-session-CA]quit
[SW2]display bfd session all //显示BFD会话信息
配置BFD多跳检测
需求描述
如图配置设备的IP地址
在R1和R3之间建立BFD会话,快速检测链路故障
查看R1和R3之间的BFD会话的状态信息


配置步骤
①配置R1
system-view
[Huawei]sysname R1
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.12.1 24
[R1-GigabitEthernet0/0/0]quit
[R1]ip route-static 192.168.23.0 24 192.168.12.2
②配置R2
system-view
[Huawei]sysname R2
[R2]interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1]ip address192.168.12.2 24
[R2-GigabitEthernet0/0/1]quit
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ip address 192.168.23.2 24
[R2-GigabirEthernet0/0/0]quit
③配置R3
system-view
[Huawei]sysname R3
[R3]interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1]ip address 192.168.23.3 24
[R3-GigabitEthernet0/0/1]quit
[R3]ip route-static 192.168.12.0 24 192.168.23.2
④配置BFD-R1
[R1]bfd
[R1-bfd]quit
[R1]bfd 13 bind peer 192.168.23.3
[R1-bfd-session-13]discriminator loacl 1
[R1-bfd-session-13]discriminator remote 3
[R1-bfd-session-13]commit
[R1-bfd-session-13]quir
⑤配置BFD-R3
[R3]bfd
[R3-bfd]quit
[R3]bfd 13 bind peer 192.168.12.1
[R3-bfd-session-13]discriminator local 3
[R3-bfd-session-13]discriminator remote 1
[R3-bfd-session-13]commit
[R3-bfd-session-13]quit
⑥验证BFD会话
[R1]display bfd session all
[R3]display bfd session all
BFD典型应用
应用场景
R1故障,R2切换为主网关
默认切换时间为3s
希望主/备网关实现快速切换

解决方案
在R1和R2之间,建立BFD会话
在R2上配置VRRP链路跟踪,跟踪对象为BFD会话
一旦BFD会话的状态为down,则增加R2的VRRP优先级,确保R2升级为主网关
配置命令
[R1]bfd //启用bfd
[R1]bfd 12 bind peer-ip 192.168.1.252 //创建bfd会话,名字为12
[R1-bfd-session-12]discriminator local 1 //配置本地设备标识为1
[R1-bfd-session-12]discriminator remote 2 //配置远程设备标识为2
[R1-bfd-session-12]commit //提交bfd会话
[R1-bfd-session-12]quit
[R2]bfd //启用bfd
[R2]bfd 21 bind peer-ip 192.168.1.251 //创建bfd会话,名字为21
[R2-bfd-session-21]discriminator local 2 //配置本地设备标识为2
[R2-bfd-session-21]discriminator remote 1 //配置远程设备标识为1
[R2-bfd-session-21]commit //提交bfd会话
[R2-bfd-session-21]quit
在R2上配置VRRP链路跟踪,跟踪bfd会话,增加优先级到210
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]vrrp vrid 1 track bfd-session 2 increased 110
//如果本地的bfd ID为2的会话断开,那么Gi0/0/0端口发送的VRRP优先级增加110
配置VRRP主/备网关快速切换
需求描述
如图配置设备的IP地址
在SW1和SW2之间建立BFD会话,快速检测链路故障
主网关SW1故障后,实现备份网关的快速切换


配置步骤
①配置终端PC1/2的IP地址信息
②SW3配置VLAN/Trunk/Access
system-view //进入系统视图
[Huawei]sysname SW1 //修改设备名称为SW3
[SW1]vlan batch 6
[SW3]interface GigabitEthernet0/0/1 //SW3与PC1的互联接口
[SW3-GigabitEthernet0/0/1]port link-type access //配置链路类型为access
[SW3-GigabitEthernet0/0/1]port default vlan 6 //将接口加入到vlan6
[SW3-GigabitEthernet0/0/1]quit
[SW3]interface GigabitEthernet0/0/2 //SW3与PC2的互联接口
[SW3-GigabitEthernet0/0/2]port link-type access //配置链路类型为access
[SW3-GigabitEthernet0/0/2]port default vlan 6 //将接口加入到vlan6
[SW3-GigabitEthernet0/0/2]quit
[SW3]interface GigabitEthernet0/0/13 //SW3与SW1的互联接口
[SW3-GigabitEthernet0/0/13]port link-type trunk //配置链路类型为Trunk
[SW3-GigabitEthernet0/0/13]port trunk allow-pass vlan all //设置Trunk允许所有vlan
[SW3-GigabitEthernet0/0/13]quit
[SW3]interface GigabitEthernent0/0/23 //SW3与SW2的互联接口
[SW3-GigabitEthernet0/0/23]port link-type trunk //配置链路类型为Trunk
[SW3-GigabitEthernet0/0/23]port trunk allow-pass vlan all //设置Trunk允许所有vlan
[SW3-GigabitEthernet0/0/23]quit
③SW1配置VLAN/Trunk/Access
system-view //进入系统视图
[Huawei]sysname SW1 //修改设备名称为SW1
[SW1]vlan batch 6
[SW1]interface GigabitEthernet0/0/13 //SW1与SW3的互联接口
[SW1-GigabitEthernet0/0/13]port link-type trunk //配置链路类型为Trunk
[SW1-GigabitEthernet0/0/13]port trunk allow-pass vlan all //设置允许所有vlan
[SW1-GigabitEthernet0/0/13]quit
④SW2配置VLAN/Trunk/Access
system-view //进入系统视图
[Huawei]sysname SW2 //修改设备名称为SW2
[SW2]vlan batch 6
[SW2]interface GigabitEthernet0/0/23 //SW2与SW3的互联接口
[SW2-GigabitEthernet0/0/23]port link-type trunk //配置链路类型为Trunk
[SW2-GigabitEthernet0/0/23]port trunk allow-pass vlan all //设置允许所有vlan
[SW2-GigabitEthernet0/0/23]quit
⑤配置SW1上vlan6的VRRP(主网关)
[SW1]interface Vlanif 6 //进入vlanif6的网关接口
[SW1-Vlanif6]ip address 192.168.6.251 24 //配置vlanif6的真实网关IP地址
[SW1-Vlanif6]vrrp vrid 6 virtual-ip 192.168.6.254 //配置vlanif6的虚拟网关IP地址
[SW1-Vlanif6]vrrp vrid 6 priority 150 //配置vlanif6的vrrp优先级
[SW1-Vlanif6]quit
⑥配置SW2上vlan6的VRRP(备份网关)
[SW2]interface Vlanif 6 //进入vlanif6的网关接口
[SW2-Vlanif6]ip address 192.168.6.252 24 //配置vlanif6的真实网关IP地址
[SW2-Vlanif6]vrrp vrid 6 virtual-ip 192.168.6.254 //配置vlanif6的虚拟网关IP地址
[SW2-Vlanif6]vrrp vrid 6 priority 130 //配置vlanif6的vrrp优先级
[SW2-Vlanif6]quit
⑦在SW1/2上创建BFD会话
[SW2]bfd
[SW2-bfd]quit
[SW2]bfd
[SW2]bfd 21 bind peer-ip 192.168.6.251
[SW2-bfd-session-21]discriminator local 2
[SW2-bfd-session-21]discriminator remote 1
[SW2-bfd-session-21]commit
[SW2-bfd-session-21]quit
[SW1]bfd
[SW1-bfd]quit
[SW1]bfd
[SW1]bfd 12 bind peer-ip 192.168.6.252
[SW1-bfd-session-12]discriminator local 1
[SW1-bfd-session-12]discriminator remote 1
[SW1-bfd-session-12]commit
[SW1-bfd-session-12]quit
⑧在备份网关SW2上,通过VRRP跟踪BFD会话,快速发现主网关故障
[SW2]interface Vlanif 6
[SW2-Vlanif6]vrrp vrid 1 track bfd-session 2 increased 50
[SW2-Vlanif6]quit
[SW2]
DHCP工作原理
DHCP的使用背景
企业网络中,大量的主机或设备需要获取IP地址等网络参数
如果采用手工配置,工作量大、容易出错且不好管理
如果用户擅自更改。还有可能造成IP地址冲突等问题
使用动态主机配置协议DHCP,来分配IP地址等网络参数,可以减少管理员的工作量,避免出错
DHCP的定义
动态主机配置协议
Dynamic Host Configuration Protocol
DHCP的作用
用于实现企业用户IP地址的动态分配和集中管理
避免繁琐的手工配置,快速适应网络的变化
DHCP的角色
DHCP客户端:通过DHCP协议请求获取IP地址等网络参数
DHCP服务器:负责为DHCP客户端分配网络参数
DHCP中继:
负责转发DHCP服务器和DHCP客户端之间的DHCP报文,协助DHCP服务器向DHCP客户端动态分配网络参数的设备
当客户端和服务器不在一个网段的时候,才会用到DHCP中继设备
DHCP工作原理
1.发现阶段:客户端广播发送DHCP Discover报文
2.提供阶段:服务器回应DHCP Offer报文
3.选择阶段:客户端广播发送DHCP Request报文
4.确认阶段:服务器回应DHCP ACK报文
全局模式DHCP
DHCP服务规划
服务器规划
合理规划VLAN,确保同一VLAN内仅有一台DHCP Server,能收到此VLAN内客户端的DHCP请求
IP地址规划
可供被DHCP Server自动分配的IP地址范围
不能参与自动分配的IP地址,需要提前排除掉
创建基于全局的DHCP
开启设备的DHCP功能,确保设备为DHCP服务器
在DHCP服务器创建地址池,规划网段/网关/DNS和租约
在接收DHCP报文的接口上,指定DHCP的选择模式
在路由器上建立地址池,配置网段/网关/DNS和租约
[Huawei]sysname dhcp
[dhcp]dhcp enable
[dhcp]ip pool p1 //建立地址池并命名
[dhcp-ip-pool-p1]network 192.168.1.0 mask 255.255.255.0
[dhcp-ip-pool-p1]gateway-list 192.168.1.254
[dhcp-ip-pool-p1]dns-list 8.8.8.8
[dhcp-ip-pool-p1]lease day 3 //设置DHCP租约为3天(默认为1天)
为路由器接口G0/0/0配置地址,并在接口上启用DHCP
[dhcp]interface GigabitEthernet0/0/0
[dhcp-GigabitEthernet0/0/0]ip address 192.168.1.254 24
[dhcp-GigabitEthernet0/0/0]dhcp select global //接口下启用DHCP功能


相关文章:
网络运维与网络安全 学习笔记2023.11.23
网络运维与网络安全 学习笔记 第二十四天 今日目标 VRRP负载均衡、BFD原理与配置、BFD典型应用 DHCP工作原理、全局模式DHCP VRRP负载均衡 VRRP单组缺陷 每网段存在一个VRRP组,缺点如下: 主网关数据转发压力大 备份网关不转发任何数据 网络设备利用…...
红黑树(万字图文详解)
红黑树 1. 红黑树的概念2. 红黑树的性质3. 红黑树节点的定义4. 红黑树结构5. 红黑树的插入操作5.1 按照二叉搜索的树规则插入新节点5.2 检测新节点插入后,红黑树的性质是否造到破坏5.2.1 情况一: cur为红,p为红,g为黑,u存在且为红…...
Kotlin学习——kt入门合集博客 kt里的委派模式Delegation kt里的特性
Kotlin 是一门现代但已成熟的编程语言,旨在让开发人员更幸福快乐。 它简洁、安全、可与 Java 及其他语言互操作,并提供了多种方式在多个平台间复用代码,以实现高效编程。 https://play.kotlinlang.org/byExample/01_introduction/02_Functio…...
数据挖掘 朴素贝叶斯
直入正题,直接看代码: 这是一段判断是不是藏话的代码 import numpy as np# 数据采集(定义函数加载数据集) def load_dataset():sent_list [[my, name, is, Devin],[you, are, stupid],[my, boyfriend, is, SB],[you, looks, ver…...
UI自动化测试工具有哪些优势?
UI自动化测试工具通过提高测试效率、覆盖率,减少测试时间和成本,以及支持持续集成等方式,为软件开发团队提供了一系列重要的优势,有助于提升软件质量和开发效率。 自动化执行:UI自动化测试工具可以模拟用户与应用程序的…...
【论文阅读笔记】InstructDiffusion: A Generalist Modeling Interface for Vision Tasks
【论文阅读笔记】StyleAvatar3D: Leveraging Image-Text Diffusion Models for High-Fidelity 3D Avatar Generation 论文阅读笔记论文信息引言动机挑战 方法结果 关键发现相关工作1. 视觉语言基础模型2. 视觉通用模型 方法/模型视觉任务的统一说明训练数据构建网络结构 实验设…...
笔记62:注意力汇聚 --- Nadaraya_Watson 核回归
本地笔记地址:D:\work_file\(4)DeepLearning_Learning\03_个人笔记\3.循环神经网络\第10章:动手学深度学习~注意力机制 a a a a a a a a a a a a a a a a...
给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。
7-5 矩阵运算 分数 20 全屏浏览题目 切换布局 作者 C课程组 单位 浙江大学 给定一个nn的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。 输入格式: 输入第一行给出正整数n(…...
Go语言的学习笔记3——Go语言项目布局
Go 1.11 版本开始引入 go.mod 和 go.sum 以支持Go Module构建机制,而这种机制成为官方的依赖包管理方式。 现在Go可执行程序项目的典型布局如下所示: exe-layout ├── cmd/ │ ├── app1/ │ │ └── main.go │ └── app2/ │ └…...
70-76-堆、贪心算法
LeetCode 热题 100 文章目录 LeetCode 热题 100堆70. 中等-数组中的第K个最大元素71. 中等-前K个高频元素72. 困难-数据流中的中位数 贪心算法73. 简单-买卖股票的最佳时机74. 中等-跳跃游戏75. 中等-跳跃游戏II76. 中等-划分字母区间 本文存储我刷题的笔记。 堆 70. 中等-数组…...
Qt Network
Qt Network Qt Network为使用TCP/IP的应用程序编程提供了一组API。各种C++类处理诸如请求、cookies和通过HTTP发送数据之类的操作。 标题使用模块 使用Qt模块需要直接或通过其他依赖项链接到模块库。一些构建工具对此有专门的支持,包括CMake和qmake. 标题使用CMake构建 使…...
Win10电脑用U盘重装系统的步骤
在Win10电脑中,用户遇到了无法解决的系统问题,用户这时候就可以考虑重装Win10系统,这样即可轻松解决问题,从而满足自己的操作需求。接下来小编给大家详细介绍关于Win10电脑中用U盘重装系统的教程步骤。 准备工作 1. 一台正常联网可…...
安防视频监控/磁盘阵列/集中云存储平台EasyCVR设备录像保活不生效原因是什么?该如何解决?
安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…...
【JDK21】详解虚拟线程
目录 1.概述 2.虚拟线程是为了解决哪些问题 2.1.线程切换的巨大代价 2.2.哪些情况会造成线程的切换 2.3.线程资源是有限的 3.虚拟线程 4.适用场景 1.概述 你发任你发,我用JAVA8?JDK21可能要对这句话say no了。 现在Oracle JDK是每4个版本&#x…...
UE5 - 虚幻引擎各模块流程图
来自虚幻官方的一些资料,分享一下; 一些模块的流程图,比如动画模块: 或角色相关流程: 由于图片比较大,上传到了网络,可自取: 链接:https://pan.baidu.com/s/1BQ2KiuP08c…...
vue3实现element table缓存滚动条
背景 对于后台管理系统,数据的展示形式大多都是通过表格,常常会出现的一种场景,从表格跳到二级页面,再返回上一页时,需要缓存当前的页码和滚动条的位置,以为使用keep-alive就能实现这两种诉求,…...
flutter布局详解及代码示例(下)
布局 基本布局 GridView(二维滚动列表):比ListView多了一个方向的数据填充。ListBody(滚动列表):相比ListView,没有回收复用,简单易用。Table(表格布局)&am…...
SQL Server:流程控制语言详解
文章目录 一、批处理、脚本和变量局部变量和全局变量1、局部变量2、全局变量 二、顺序、分支和循环结构语句1、程序注释语句2、BEGIN┅END语句块3、IF┅ELSE语句4、CASE语句5、WHILE语句6、BREAK和CONTINUE语句BREAK语句CONTINUE语句 三、程序返回、屏幕显示等语句1、RETURN语句…...
2、用命令行编译Qt程序生成可执行文件exe
一、创建源文件 1、新建一个文件夹,并创建一个txt文件 2、重命名为main.cpp 3、在main.cpp中添加如下代码 #include <QApplication> #include <QDialog> #include <QLabel> int main(int argc, char *argv[]) { QApplication a(argc, argv); QDi…...
【追求卓越08】算法--排序算法
引导 今天开始介绍我们在工作中经常遇到的算法--排序。排序算法有很多,我们主要介绍以下几种: 冒泡排序 插入排序 选择排序 归并排序 快速排序 计数排序 基数排序 桶排序 我们需要了解每一种算法的定义以及实现方式,并且掌握如何评…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
