防火墙双机热备---VRRP,VGMP,HRP(超详细)
双机热备技术-----VRRP,VGMP,HRP三个组成
注:与路由器VRRP有所不同,路由器是通过控制开销值控制数据包流通方向
防火墙双机热备:
1.主备备份模式
双机热备最大的特点就是防火墙提供了一条专门的备份通道(心跳线)用于防火墙之间传输备份会话表,Server-map表等重要信息和配置。并且心跳线也为防火墙提供协商通道。
1.主用设备---会处理业务和流量,并将设备上的会话表等信息以及配置信息通过心跳线实时同步给备用通道
2.备用设备---不会处理业务流量,只是通过心跳线,接收来自于主用设备的状态信息以及配置信息
一旦主用设备发生故障,会通过心跳线重新协商主备状态,如果进行切换,同时,业务流量也需要被上下行设备的路由信息引导到新的主用设备上,否则流量还是无法通讯
2.负载分担模式
在该情境下,两台防火墙均为主用设备(不同的pc),都需要建立会话,都需要处理业务流量,同时两台防火墙又都相互作为对方的备用设备,接收对方的配置和会话。
FW2为1.0的主设备,FW3为2.0的主,且两个防火墙互相备份
总结:双机热备为了提供网络的可靠性,避免网络的单点故障
VRRP和VGMP
回顾路由器vrrp:VRRP(虚拟路由冗余协议)_vrrp协议-CSDN博客
为何创建两个VRRP?
在双机热备场景中,因为需要上下行流量的统一切换,故需要创建两个VRRP组,分别加入上行接口和下行接口。从而控制上下行设备的流量控制转向。---且两个不同的VRRP组的Active设备必须为同一个防火墙。
切换原理:FW2会向配置了VRRP组的接口发送免费ARP报文,其中携带了备份组的IP和MAC,好让交换机或者路由器改变MAC表或者路由表,从而达到切换线路的目的
VRRP备份组之间是相互独立的,当一台设备出现多个VRRP备份组时,VRRP备份组之间的状态时无法同步的。
VGMP解决VRRP问题
VGMP----VRRP组管理协议---实现对VRRP备份的统一管理,保证多个VRRP组状态的一致性
如何实现一致性?
将防火墙上所有的VRRP备份组都加入到同一个VGMP组中,由VGMP组来集中监控并管理所有的VRRP备份组状态。如果VGMP检测到其中一个VRRP备份组状态发生变化,则VGMP会控制组中所有VRRP组统一进行状态切换,保证一致性。
VGMP存在状态和优先级两个属性。并且有三条运行原则
VGMP的状态决定了组内VRRP备份组的状态,也决定了防火墙的主备状态
VGMP组的状态是由两个防火墙的VGNP组通过比较优先级来决定的
优先级高的为Active,低的为Standby
VGMP组会根据组内VRRP备份组的状态变化来更新自己的优先级
每个VRRP备份组的状态切换为初始化状态,VGMP组的优先级降低2
VGMP实现过程
当FW1接口发生故障时,VGMP组控制VRRP备份组状态统一切换过程
1.FW1G1/0/3接口故障,FW1上的VRRP备份组2发生状态切换(由主----初始化)
2.FW1的VGMP组感知到这一变化后,会降低自身的优先级,然后与FW2的VGMP组比较优先级,重新协商主备状态
3.协商后,FW1的VGMP状态变为Standby,FW2的VGMP组状态变为Active
4.同时,由于VGMP组的状态决定了组内的VRRP备份组状态,所有FW1和FW2身上各自的VRRP备份组1和备份组2都会进行状态切换
5.FW2成为Active状态,并从上下游分别发送免费ARP报文,更新设备的MAC地址表
VGMP报文结构
在防火墙中,优先级信息会通过VGMP报文传递,是对VRRP报文进行修改和扩展
1.标准的VRRP报文的“TYPE”字段恒定为1,而VGMP增加了2;
在VGMP 中,1代表标准的VRRP报文,2代表VGMP报文
2.在标准的VGMP报文中,“virtual Rtr ID",携带的是VRRP备份组的组ID,即VRID。
在VGMP中,恒定为0
3.去掉了VRRP的IP地址字段
4.标准VRRP报文的优先级字段,在VGMP中被修改为”TYPE2"字段
TYPE2=1,则报文为心跳链路探测报文
TYPE2=5,则报文为一致性检查报文。 ----检查双机热备状态下,两台防火墙的是否配置了相同的策略
TYPE2=2,VRRP报文才会进一步封装VGMP报文头。----该报文才能被认为是真正的VGMP报文。
会根据VGMP中的“vType”字段继续被分为三种不同的报文
VGMP组需要携带上VGMP组优先级信息,才可以代替VRRP进行管理
类型(mode) --- 代表报文是请求报文,还是应答报文
VGMP-ID --- 代表VGMP组为Active还是Standby组
优先级 ---代表VGMP组的优先级
在双机热备中,除了VRRP标准报文以外,其他所有报文的发送接收,都是基于心跳线完成的
标准的VRRP协议是一个跨四层封装协议,即没有传输层封装,直接IP封装。
而VGMP继承了VRRP的特点,但是也增加了UDP进行封装的模式。
IP协议封装 --- 组播报文---只能在心跳线上传输
数据链路层+ IP协议封装+ VRRP协议+ VGMP协议+ VGMP数据
不能跨网段传输,不受安全策略控制(安全策略就对单播有效)
UDP封装 --- 单播报文
数据链路层+IP协议封装+ UDP封装+ VRRP协议+ VGMP协议+ VGMP数据
只要路由可达,就可以跨越网段传输,但是收到安全策略控制。
端口号=18514
VGMP工作过程
VGMP组缺省情况
每台防火墙提供两个VGMP组,默认情况下,Active组的优先级为65001,状态为Active;Atandby组优先级为65000,状态为Standby。
主备备份双机热备状态形成过程
接口故障过程
上图表示的是主用设备的接口的发生过程变化情况,而当主用设备发生故障,主用设备的VGMP组将不会发送HRP心跳报文。如果备用设备的VGMP组连续三次收不到,则认定对端故障,从而将 自身切换为主用状态。
当原主用设备故障恢复后,如果配置了抢占功能,那么原主重新成为主用设备,如果没有配置,则原主保持在备份状态。----缺省情况下,主动抢占功能开启,抢占延迟时间为60秒。
接口故障恢复
负载分担双机热备状态形成过程
接口故障
VGMP总结
1. 故障监控 --- VGMP组能够监控VRRP备份组状态变化。
2. 状态切换 --- VGMP组感知到VRRP备份组状态变化后,会调整自己的优先级,并与对端的VGMP组 重新协商主备状态
3. 流量引导 --- 两个VGMP组主备状态建立或切换后,会强制组内的VRRP备份组统一进行状态切换, 然后由状态为Active的VRRP备份组发送免费的ARP报文来引导流量
仅仅适用于防火墙上行或下行设备为交换机的场景
VGMP特殊场景
防火墙连接路由器场景
故障监控
VGMP组使用的 故障监控方式,是直连监控接口状态。 --- 就是直接将接口加入到VGMP组中,当 VGMP组中的接口故障,VGMP可以直接感知到变化,从而降低自己的优先级。
如果是负载分担方式的双机热备,则需要在每个业务接口上执行特殊命令,将业务接口分别加入到 Active和Standby组中。
流量引导
VGMP的流量引导功能,将流量自动引导到主用设备---手工将备用设备所在链路的OSPF开销值改大。VGMP具备根据状态自动调整OSPF的cost数值。 --- 启用流量引导功能后,如果防火墙上存在状态为 Active的VGMP组,则防火墙会正常对外发布路由;如果防火墙上VGMP组状态为Standby,则防火墙 在发布路由时,将Cost增加65500
防火墙透明接入,连接交换机场景
故障监控
防火墙接口出现在二层,没有IP地址。故障监控方式为通过VLAN监控接口状态。--- 将二层业 务接口加入VLAN,VGMP监控VLAN。当VGMP中的接口故障时,VGMP组会通过VLAN感知到接口状态 变化,从而降低自身优先级
流量引导
当VGMP组状态为Active时,组内的VLAN能够转发流量。当VGMP组状态为Standby时,组内 VLAN被禁用,不能转发流量。
防火墙透明接入,连接路由器场景
故障监控和流量引导与上一个相同,该组网只支持负载分担方式的双机热备,不支持主备备份场景。---原因:如果工作在主备备份,那么备份设备的VLAN会被禁用,导致上下行 路由器无法通讯,无法建立OSPF邻居
VGMP组监控技术
VGMP可以监控自己本身的接口---物理接口,VRRP接口等。
但是VGMP还可以监控远端接口。 --- VGMP监控远端接口的方式,只适用于防火墙业务接口工作在 三层时;因为此时接口才能存在IP地址,才可以与远端设备发送IP-link或BFD的探测报文。
总结
每当VGMP组监控的一个接口故障时,无论是直接监控还是简介监控,无论监控的是本地还是远 端,VGMP优先级都是降低2。
只有主用设备才会将流量引导到本设备上,备用设备则是想尽办法拒绝流量引导到本设备。
HRP(双机热备协议)协议
HRP数据报文、HRP心跳报文、HRP一致性检查报文。
HRP协议功能
动态数据备份---实时备份防火墙的会话表,Server-map表,黑白名单,nat
关键配置命名备份---display;reset;debugging不支持备份;网络基本配置如接口地址和路由不能够备份,这些要在双机热备建立前配置完成。
HRP概述
在主备组网中,由主设备将状态数据和配置命名同步给备份设备
而在负载分担组网中,状态数据双方均会想对端同步。但是配置命令,不可以。---原因,如果允许两台主用设备之间相互配置命令,可能会造成两台设备命名相互冲突。--引入了“配置主设备”和“配置从设备”。---在负载分担组网中,发送备份配置命令的防火墙为配置主设备(HRP_M),接收配置命令的防火墙成为配置从设备(HRP_S)---在负载分担组网中,谁 最先建立双机热备状态的防火墙会成为配置主设备;即最先启动双机热备功能的
HRP备份方式
1.自动备份 --- 默认开启的,能够自动 实时备份配置命令和 周期性备份状态信息。
主用设备每执行一次可备份命令,该命令都会立即被同步到备用设备。注意:对于这些可备份 命令,备用设备不能配置,只能等到主用设备的同步。
对于不可备份命令---分别配置
对于状态信息,周期性备份(部分状态信息)。
2.手工批量备份 --- 需要管理员手工触发的,每执行一次手工批量备份命令,主用设备就会立即同步一 次配置命令和状态信息。
3.快速备份 --- 仅适用于负载分担场景的,用来 应对报文来回路径不一致的场景。
主要为了保证状态信息的及时同步,快速备份功能仅仅备份状态信息,是为了弥补自动备份的 时差问题。
如果启动快速备份功能,主设备将 实时进行状态信息备份。
心跳链路探测报文
心跳口必须是状态独立且独立具有IP地址的接口,且该接口不要参与到其他协议的工作过程中,以免产生不必要的影响。
HRP一致性检查报文
该报文是用于检测双机热备状态下两台防火墙的双机热备配置是否一致,以及策略配置是否相同 的
相关文章:
防火墙双机热备---VRRP,VGMP,HRP(超详细)
双机热备技术-----VRRP,VGMP,HRP三个组成 注:与路由器VRRP有所不同,路由器是通过控制开销值控制数据包流通方向 防火墙双机热备: 1.主备备份模式 双机热备最大的特点就是防火墙提供了一条专门的备份通道(心…...
PC端-发票真伪查验系统-Node.js全国发票查询接口
在现代企业的财务管理中,发票真伪的验证至关重要。随着电子发票的普及,假发票问题日益严峻,如何高效、准确的对发票进行真伪查验,已经成为各类企业在日常运营中必须解决的关键问题。翔云发票查验接口做企业财务管理、税务合规的好…...
3.1部署filebeat:5044
beats是ELK体系中新增的一个工具,, 属于一个轻量的日志采集器。 1.安装(每台) # tar xf filebeat-6.4.1-linux-x86_64.tar.gz # mv filebeat-6.4.1-linux-x86_64 /usr/local/filebeat #yum -y install httpd #systemctl start httpd 2.测试…...
在 Windows 上配置 Ollama 服务并开放局域网访问
为了在局域网内共享 Ollama 服务,我们需要完成以下两步: 1、设置 Ollama 的环境变量 OLLAMA_HOST,使其监听局域网的 IP 地址。 (1) 配置 Ollama 服务的监听地址 Ollama 服务使用环境变量 OLLAMA_HOST 来指定监听的地…...
C#快速调用DeepSeek接口,winform接入DeepSeek查询资料 C#零门槛接入DeepSeek C#接入DeepSeek源代码下载
下载地址<------完整源码 在数字化转型加速的背景下,企业应用系统对智能服务的需求日益增长。DeepSeek作为先进的人工智能服务平台,其自然语言处理、图像识别等核心能力可显著提升业务系统的智能化水平。传统开发模式下,C#开发者需要耗费大…...
解决后端跨域问题
目录 一、什么是跨域问题? 1、跨域问题的定义 2、举例 3、为什么会有跨域问题的存在? 二、解决跨域问题 1、新建配置类 2、编写代码 三、结语 一、什么是跨域问题? 1、跨域问题的定义 跨域问题(Cross-Origin Resource Sh…...
【教程】使用docker+Dify搭建一个本地知识库
现在AI火的一塌糊涂,再不搭建一个自己的AI知识库就有点落伍了,这里我是自己的windows11电脑。用了dockerdifydeepseek。 一、安装docker 网址:https://www.docker.com/ 什么是docker? Docker 是一种开放源代码的容器化平台&…...
微信小程序数据绑定与事件处理:打造动态交互体验
在上一篇中,我们学习了如何搭建微信小程序的开发环境并创建了一个简单的“Hello World”页面。然而,一个真正的小程序不仅仅是静态内容的展示,它需要与用户进行动态交互。本文将深入探讨微信小程序中的数据绑定和事件处理机制,通过…...
Spring MVC 的执行流程解析:从用户请求到响应返回
Spring MVC 是一种基于 Model-View-Controller 设计模式的 Web 框架,用于处理用户请求、执行相应的业务逻辑并返回响应。它广泛应用于 Java Web 开发,提供了灵活的架构和丰富的功能。 本文将详细介绍 Spring MVC 的执行流程,帮助你理解它是如…...
c++day5
作业: 编写一个如下场景: 有一个英雄Hero类,私有成员,攻击,防御,速度,生命值,以及所有的set get 方法 编写一个 武器 Weapon 类,拥有私有成员攻击力,以及set …...
Deepseek 实战全攻略,领航科技应用的深度探索之旅
想玩转 Deepseek?这攻略别错过!先带你了解它的基本原理,教你搭建运行环境。接着给出自然语言处理、智能客服等应用场景的实操方法与代码。还分享模型微调、优化技巧,结合案例加深理解,让你全面掌握,探索科技…...
公共数据授权运营模式研究(总体框架、主要模式及发展趋势)
本报告以公共数据运营模式为核心,以释放公共数据价值为目标,深入分析公共数据概念及特征,厘清公共数据运营的内涵及本质,提出纵深分域数据要素市场运营体系的总体思路,构建了一座(一个数据底座)…...
本地开发用ASP.NET Core Web API项目创建及测试
1. 服务端代码(C#) 1.1 创建ASP.NET Core Web API项目 打开Visual Studio 2022。 选择“创建新项目”。 选择“ASP.NET Core Web API”模板,点击“下一步”。 输入项目名称(如OracleApi),选择项目位置&…...
【虚拟仪器技术】labview操作指南和虚拟仪器技术习题答案(一)
今天是2025年2月24日,画的是fate/Grand Order里面的阿尔托莉雅.卡斯特,武内老师的画。 目录 第1章 第2章 第3章 第4章 第5章 关注作者了解更多 我的其他CSDN专栏 毕业设计 求职面试 大学英语 过程控制系统 工程测试技术 虚拟仪器技术 可编程…...
SpringCloud系列教程:微服务的未来(二十五)-基于注解的声明队列交换机、消息转换器、业务改造
前言 在现代分布式系统中,消息队列是实现服务解耦和异步处理的关键组件。Spring框架提供了强大的支持,使得与消息队列(如RabbitMQ、Kafka等)的集成变得更加便捷和灵活。本文将深入探讨如何利用Spring的注解驱动方式来配置和管理队…...
LLM之论文阅读——Context Size对RAG的影响
前言 RAG 系统已经在多个行业中得到广泛应用,尤其是在企业内部文档查询等场景中。尽管 RAG 系统的应用日益广泛,关于其最佳配置的研究却相对缺乏,特别是在上下文大小、基础 LLM 选择以及检索方法等方面。 论文原文: On the Influence of Co…...
C#实现本地AI聊天功能(Deepseek R1及其他模型)。
前言 1、C#实现本地AI聊天功能 WPFOllamaSharpe实现本地聊天功能,可以选择使用Deepseek 及其他模型。 2、此程序默认你已经安装好了Ollama。 在运行前需要线安装好Ollama,如何安装请自行搜索 Ollama下载地址: https://ollama.org.cn Ollama模型下载地址…...
git 查询包含某个文件夹的步骤
步骤 1:拉取最新的远程分支信息 确保本地缓存的远程分支信息是最新的: bash 复制 git fetch --all 步骤 2:遍历所有远程分支并检查目标文件夹 使用 git ls-tree 检查每个分支是否包含目标文件夹。以下脚本会列出所有包含 your_folder_pa…...
微软开源神器OmniParser-v2.0本地部署教程
安装python环境 我这里是以前安装好的版本:python 3.11.5,这里不再介绍,有需要的可以在网上找教程。 安装Anaconda 我这里是以前安装好的版本:conda 23.7.4,这里也不再介绍,有需要的可以在网上找教程。 …...
解决 Git 合并冲突:当本地修改与远程提交冲突时
目录 错误原因分析 解决方法 1. 暂存本地修改并合并(保留更改) 2. 丢弃本地修改(强制覆盖) 3. 暂存修改后合并(推荐:使用 git stash) 4. 选择性合并(手动处理冲突文件…...
VScode中Markdown PDF无法正确输出包含数学公式的pdf解决方案
在使用VScode的Markdown PDF插件时,可能会遇到无法正确输出包含公式的PDF文件的问题。下面为你提供一种有效的解决方案。 具体操作步骤 步骤一:定位模板文件 在安装Markdown PDF插件后,你需要找到对应的模板文件。该文件的路径通常如下&am…...
uniapp 网络请求封装(uni.request 与 uView-Plus)
一、背景 在开发项目中,需要经常与后端服务器进行交互;为了提高开发效率和代码维护性,以及降低重复性代码,便对网络请求进行封装统一管理。 二、创建环境文件 2.1、根目录新建utils文件夹,utils文件夹内新建env.js文…...
Jtti.cc:站群服务器SEO优化建议,如何分配多IP?
站群优化的核心目标之一是尽可能通过多个网站互相引导流量,从而提升主站的权重。这时候,多IP的分配至关重要,因为搜索引擎会检测到同一IP下的网站之间的关联性。如果一个IP地址下有过多的相似站点,搜索引擎可能会认为这些站点存在…...
银行系统功能架构设计元模型
1. 元模型核心目标 规范性:定义功能模块的标准化描述方式,便于跨团队协作。可复用性:抽象通用组件,减少重复开发。可扩展性:支持未来业务创新和技术升级(如开放银行API集成)。2. 元模型层级结构 采用分层架构模式,分为以下核心层级: **(1) 业务功能层** …...
uniapp写的h5跳转小程序
使用场景: 我们对接第三方支付的时候,对方只提供了原生小程序id和appid,由我们的app和h5平台跳转至小程序。 遇到的问题: app跳转本地正常,线上报错如下 解决办法: 需要去微信开放平台申请应用appid 易…...
DeepSeek点燃AI大模型战火:编程语言争霸,谁将问鼎“终极武器”王座?
DeepSeek点燃AI大模型战火:编程语言争霸,谁将问鼎“终极武器”王座? 一、DeepSeek:AI大模型竞赛的“导火索” 2023年,中国AI公司深度求索(DeepSeek)发布DeepSeek-R1大模型,凭借其超…...
游戏引擎学习第123天
仓库:https://gitee.com/mrxiao_com/2d_game_3 黑板:线程同步/通信 目标是从零开始编写一个完整的游戏。我们不使用引擎,也不依赖任何库,完全自己编写游戏所需的所有代码。我们做这个节目不仅是为了教育目的,同时也是因为编程本…...
钉钉快捷免登录 通过浏览器打开第三方系统,
一、钉钉内跳转至浏览器的实现 使用钉钉JSAPI的跳转接口 在钉钉内通过dd.biz.navigation.openLink方法强制在系统浏览器中打开链接。此方法需在钉钉开发者后台配置应用权限,确保应用具备调用该API的资格37。 示例代码: dd.ready(() > {dd.biz.navigat…...
塔能科技构建智慧隧道生态系统——城市升级改造的协同创新典范
一、智慧隧道生态系统的概念与意义 (一)概念解析 智慧隧道生态系统是一个涵盖多方面协同关系的复杂概念。在隧道建设方面,它不仅仅是简单的挖掘和结构搭建,而是将智能化技术融入其中,例如采用先进的传感器技术&#x…...
在Anaconda的虚拟环境中安装R,并在vscode中使用
在 Anaconda 的虚拟环境中使用 R,并且希望在 VS Code 中同时使用 Python 和 R,确实需要同时安装 Python 和 R。这是因为 VS Code 的 Jupyter 插件和内核管理依赖于 Python,而 R 则作为 Jupyter 的另一个内核运行。 以下是具体的操作步骤和逻…...
创建型模式 - 建造者模式 (Builder Pattern)
创建型模式 - 建造者模式 (Builder Pattern) 建造者模式是一种创建型设计模式,它将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。 需求描述 在游戏开发中,创建一个复杂的游戏角色,角色具有多种属性&…...
路由追踪核心技术深度解析:Traceroute与Tracert命令实战指南(跨平台/抓包/网络安全防护)
目录 路由器是什么? 路由器的基本功能: 路由追踪技术(Traceroute) 路由追踪的工作原理 实现技术 路由追踪的输出示例 路由追踪的用途 traceroute 命令(Linux 和 macOS) 基本语法 常用选项 示例 …...
音视频入门基础:RTP专题(12)——RTP中的NAL Unit Type简介
一、引言 RTP封装H.264时,RTP对NALU Header的nal_unit_type附加了扩展含义。 由《音视频入门基础:H.264专题(4)——NALU Header:forbidden_zero_bit、nal_ref_idc、nal_unit_type简介》可以知道,nal_unit…...
HTTP GET 请求示例
鸿蒙操作系统(HarmonyOS)是华为公司自主研发的面向全场景的分布式操作系统,旨在为用户提供一个安全、流畅且跨设备无缝连接的体验。它支持多种终端设备,如智能手机、平板电脑、智能电视、汽车等,并实现了模块化解耦&am…...
GO 快速升级Go版本
由于底层依赖升级了,那我们也要跟着升,go老版本已经不足满足需求了,必须要将版本升级到1.22.0以上 查看当前Go版本 命令查看go版本 go version [rootlocalhost local]# go version go version go1.21.4 linux/amd64 [rootlocalhost local]# …...
ELK搭建初入
ELK搭建: 1、安装ElasticSearch (用于存储收集到的日志信息) 解压安装包 tar -xzvf elasticsearch-8.17.2-linux-x86_64.tar.gz 启动es:bin/elasticsearch –d(默认端口号9200) 浏览器输入es地址。出现…...
【redis】数据类型之Bitfields
Redis的Bitfields(位域)与Bitmaps一样,在Redis中并不是一种独立的数据类型,而是一种基于字符串的数据结构,用于处理位级别的操作。允许用户将一个Redis字符串视作由一系列二进制位组成的数组,并对这些位进行…...
vscode软件中引入vant组件
一、vant简介 Vant 是一个轻量、可靠的移动端组件库,于 2017 年开源。 目前 Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本,并由社区团队维护 React 版本和支付宝小程序版本。 官网:介绍 - Vant Weapp 里面的快速上手的教程&a…...
DDR3模块、HDMI、晶振的布局原则
DDR3模块的布局原则 1.1片DDR就尽量靠近 我们CPU去摆放 2.DDRx2片,相对CPU需要严格对称 3.DDR滤波电容靠近管脚进行放置 4.端接匹配电阻摆放:串联端接电阻放置CPU端,并联端接电阻放置DDR端 5.地址线、控制线、时钟线都是单向传输,…...
夜莺监控 - 边缘告警引擎架构详解
前言 夜莺类似 Grafana 可以接入多个数据源,查询数据源的数据做告警和展示。但是有些数据源所在的机房和中心机房之间网络链路不好,如果由 n9e 进程去周期性查询数据并判定告警,那在网络链路抖动或拥塞的时候,告警就不稳定了。所…...
【CSP/信奥赛通关课(六):信奥赛STL专题】
CSP/信奥赛通关课(六):信奥赛STL专题 课程简介: 讲解信奥赛C中的STL核心组件:容器、迭代器、算法等,分析重点案例,让学生在实践的过程中熟练掌握信奥赛C相关的STL重要知识点。 课程教学目标&…...
【数据结构初阶第十五节】堆的应用(堆排序 + Top-K问题)
必须有为成功付出代价的决心,然后想办法付出这个代价。云边有个稻草人-CSDN博客 对于本节我们要提前掌握前一节课堆的相关实现才能学好本次的知识,一定要多画图多敲代码看看实现的效果是啥(Crazy!)开始吧! …...
SSL/TLS 协议、SSL证书 和 SSH协议 的区别和联系
下面是 SSL/TLS 协议、SSL证书 和 SSH协议 的区别和联系,包含它们的英文全称和中文全称: 属性SSL/TLS 协议SSL证书SSH 协议英文全称Secure Sockets Layer / Transport Layer SecuritySecure Sockets Layer CertificateSecure Shell Protocol中文全称安全…...
数据结构与算法-图论-最短路和其他的结合
介绍 最短路算法常与深度优先搜索(DFS)、动态规划(DP)、二分答案、拓扑排序等算法结合使用: - 最短路与DFS结合:在一些图的路径问题中,当需要访问特定的多个结点,且数据范围较小时…...
C++day6
编写一个如下场景: 有一个英雄Hero类,私有成员,攻击,防御,速度,生命值,以及所有的set get 方法 编写一个 武器 Weapon 类,拥有私有成员攻击力,以及set get 方法 编写一个…...
【初阶数据结构】星河中的光影 “排” 象:排序(下)
文章目录 4.交换排序4.1 冒泡排序(BubbleSort)4.2 快速排序(QuickSort)4.2.1 hoare版本4.2.2 挖坑法4.2.3 前后指针法4.2.4 非递归实现 5.归并排序(MergeSort)5.1 递归实现5.2 非递归实现5.2.1 一次性全部拷…...
C++ 练习1
阐述g 有哪些常用的选项,该选项有什么作用 选项作用-o <file>指定输出文件名(默认生成 a.out)-c仅编译生成目标文件(.o 文件),不链接-E只进行预处理,输出预处理后的代码(展开…...
Ajax数据采集与分析详解
文章目录 1. 什么是 Ajax?2. Ajax 的工作原理3. Ajax 在网页中的应用场景4. 爬取 Ajax 数据的方法4.1 分析网络请求4.2 模拟 Ajax 请求4.3 使用 Selenium 模拟浏览器4.4 使用 Headless 浏览器 5. 处理动态参数6. 处理分页和滚动加载7. 处理反爬虫机制8. 数据存储9. …...
协方差(Covariance)与得分函数:从Fisher信息矩阵看统计关联
协方差与得分函数:从Fisher信息矩阵看统计关联 协方差(Covariance)是统计学中一个基础但强大的概念,它描述了两个随机变量之间的关系。在Fisher信息矩阵中,协方差以一种特别的形式出现:得分函数的协方差。…...
【CSS 选择器的特异度 CSS 继承 CSS 求值过程解析 CSS 布局方式及相关技术】
以下是关于 CSS 选择器特异度、继承、求值过程及布局技术 的详细解析,结合核心概念和实际应用场景: 一、CSS 选择器特异度(Specificity) 1. 特异度规则 特异度用于决定当多个选择器作用于同一元素时,哪个样式优先级更…...