SDN 中 DDoS 攻击问题(论文方法总结)

2023-10-26

SDN 中 DDoS 攻击类型

1、数据平面DDoS攻击

        数据平面由多个启用OpenFlow的转发设备组成。这些设备被称为OpenFlow交换机。每个交换机都有一个有限的流表大小来存储规则和有限的处理能力来处理不匹配的数据包,因此,它成为缓冲区饱和和流表过载DDoS攻击的目标。

        流表过载:控制器向交换机发出处理数据包的指令。恶意主机利用SDN的这一特性,向交换机发送大量数据包。恶意主机修改数据包报头字段的值,使这些数据包不能与现有的流规则匹配,从而迫使交换机将这些数据包发送给控制器。控制器处理这些数据包并将指令安装到交换机的流表中。由于流量过多,流表过载,无法存储合法报文的流项。通过这种方式,它破坏了对授权用户的流表可用性。

        缓冲配置:每个OpenFlow交换机都有一个OpenFlow代理,通过南向接口管理与控制器的通信。在表发生miss,它将包头封装在packet_in消息中,并将包负载存储在缓冲区中,从而将包头发送给控制器。OpenFlow代理运行在低端处理器上,在指定的时间间隔内处理不匹配的数据包的能力有限。OpenFlow代理的有限容量成为DDoS攻击的目标。因此,当它收到大量的报文时,它的缓冲区就会过载,无法存储合法的报文。

2、控制平面的DDoS攻击

        集中式控制器成为主要目标点,因为它管理和控制整个网络。攻击者可以通过饱和控制平面的计算和网络资源使其过载。

        控制器资源饱和:当控制器收到不匹配的报文时,将对这些报文进行处理,并将流规则安装到SDN交换机中。它会消耗控制器资源,如内存、CPU和缓冲区。因此,泛滥的请求会耗尽控制器的所有资源,并且由于控制器处理合法请求的时间较长,会降低整个网络的性能。

        数据控制面通道带宽耗尽:交换机接收到新数据包后,将数据包头发送给控制器,并将数据包的负载存储在缓冲区中。当交换机接收到泛洪请求时,它的缓冲区就会过载。然后它开始向控制器发送完整的数据包,这导致通信通道阻塞。它消耗了通信通道的带宽,导致了真实用户的延迟。

3、应用平面DDoS攻击

        DDoS攻击可以通过耗尽北向API或发起传统的应用层DDoS攻击来针对应用平面。

        耗尽北向接口:恶意应用程序向控制器产生资源密集型请求,以消耗其网络资源。为了防止这种攻击,控制器应该提供对应用程序访问资源的访问控制机制。

        应用层DDoS攻击:攻击者通过发送资源密集型的请求来攻击系统上的特定应用程序。web服务器是受此攻击影响最大的应用程序,HTTP泛洪攻击是一种应用层攻击。

SDN中的DDoS防御解决方案

1、针对控制器资源饱和攻击

         逻辑集中的控制器是SDN体系结构中最脆弱的部分,因为一旦它崩溃,就会导致整个网络瘫痪。下面总结了针对控制器资源饱和的各种防御方案。

        Mousavi and St-Hilaire (2015) 为了防御这种攻击,提出了基于Shannon’s熵的DDoS检测解决方案。在网络正常状态下,所有节点接收到的流量相同,熵值最大。在DDoS攻击下,一台或多台主机获得的流量超过正常速率,此时熵值下降。在该算法中,控制器对每50个Packet_In消息(设置窗口求信息熵)计算基于目的IP的熵。当计算得到的熵值连续5次低于阈值时,判定为攻击。

        Fichera et al. (2015) 防范TCP SYN flooding。在该方法中,只有当建立连接的源主机被证明是良性源时,服务器才会收到SYN报文。为此,每个新的SYN请求都被转发到控制器,控制器充当代理,并向源主机应答SYN- ack包。当控制器收到ACK报文时,会验证源计算机的正确性。在此之后,控制器指示交换机将所有连续的SYN请求从此源计算机转发到服务器。反之,当没有收到客户端的ACK报文时,则统计未被确认的SYN报文的数量。当数量超过阈值时,将对应的源MAC加入黑名单,并指示交换机阻断后续的SYN请求。(服务器会让源客户端返回确认的SYN报文,若一个客户端没返回确认的报文,达到一定数量后,服务器将其标记为攻击者

Cui et al.(2016)引入了trigger模块,通过观察packet_in消息的行为来调度攻击检测。如果这些报文的行为异常,则可能是DDoS攻击。检测功能对所有OpenFlow交换机的流表项进行统计,用于分析正常和恶意的流表项。在检测到攻击后,通过对流表项的分析,找到攻击源。此外,它还利用控制器拥有完整网络地图的能力,找出攻击流量的路径。攻击防范模块删除所有恶意流表项,以保存交换机的TCAM内存。

Wang et al.(2016)通过维护合法源IP地址和目的IP地址的数据库来区分flash(正常的flood流量)和攻击流量。通过对本地网络流量的观察,受害网络收到的流量在flash流量和攻击流量中几乎相等,但在flash流量中新增的流量小于攻击流量。CUSUM (cumulative sum)算法通过计算新增IP地址对的百分比来检测DDoS攻击。(CUSUM(Cumulative Sum Control Chart:累积和):一种先进的统计方法,她利用当前的和最近的过程数据来检验过程均值中不大的变化或变异性,CUSUM代表偏离目标值得变差的”累积和“,它把当前和最近的数据看得同等重要。

AlEroud and Alsmadi(2017 ) 一项相关研究聚合数据包,创建基于流的攻击签名,并使用它们识别SDN上的潜在攻击。

Mohammadi et al. (2017) ,作者提出了防御TCP SYN泛洪攻击的SILICOTS。在这种方法中,控制器创建挂起的TCP连接列表以及状态(SYN, SYN-ACK, RST)。待定列表中的记录被认为是非法记录。当非法记录超过预定义的阈值时,它将阻塞来自该源计算机的流量。

Wang et al.(2017),作者实现了一种简单的DOS防御机制SECO,通过根据控制器的性能定义动态阈值来防御DOS攻击,保护控制器的内存和处理资源。SECO算法调用监控函数,分析单位时间内Packet_In的个数。阈值更新功能是指在正常操作或受到DOS攻击时,对计数器的值进行更新。DOS检测模块检测攻击是否来自被攻击的交换机或主机。

Fan et al.(2019),作者提出了检测四种不同类型攻击(端口扫描、泛洪、ARP攻击和交换机损害攻击)的方法。根据这些攻击的特点,利用隐马尔可夫模型(HMM)对网络状态进行分析。

HMM(观测值(observation)、隐藏状态(hidden)、转换概率(transition probability)和输出概率(emission probability))

Meti et al.(2017)实现了支持向量机、朴素贝叶斯分类器和神经网络对良性和攻击流量进行分类。结果表明,与其他机器学习算法相比,支持向量机具有较高的准确率、查全率和精度值

Santos et al. (0000) 根据准确性和处理时间比较了各种基于机器学习的DDoS检测算法(多层感知器(MLP)、决策树、支持向量机和随机森林算法)。结果表明,与其他算法相比,该决策树具有更高的精度和更短的处理时间

Jiang et al.(2016)实现了两阶段DDoS检测算法。在第一阶段,控制器计算基于目的IP的熵,并与阈值进行比较。第二阶段,如果熵小于阈值,则查找源IP地址和MAC地址之间的非正式映射关系,区分攻击流量和flash流量。#

Gharvirian and Bohloli(2017)计算快速熵代替熵,使攻击检测时间最小化。此外,他们还使用感知器神经网络来提高检测精度。

Makori and Ari(2017)作者提取了重要特征,并应用SVM分类器对正常流量和恶意流量进行分类。#

Wang et al(2018b),作者提出了预测每个流的带宽周期的SDNManager框架。它定期从数据平面获取流表和链接统计信息,并将它们转换为变量。预测模块读取这些变量并预测带宽利用率。

Wang et al. (2018a)提出了SDN安全控制和数据平面(SECOD)算法,该算法是他们之前的算法SECO 的扩展,用于检测和减轻控制器和交换机的DOS攻击。

Kumar et al.(2018)提出了基于熵概念的SAFETY框架。SAFETY包含两个模块:检测和缓解。在检测过程中,它通过在固定的时间窗口内对目标IP和TCP标志进计算熵。然后将熵值与阈值进行比较,熵值的连续较低是攻击的指标。它还确定了受害主机和攻击源。在缓解阶段,它允许一定数量的SYN请求,并阻止更多的SYN请求,直到确认从客户端机器返回的一个SYN- ack包。这样,恶意的SYN报文会被阻断,而良性的流量会被放行。

Wang et al(2018e),作者将Renyi熵隐马尔可夫模型(HMM-R)结合起来识别小容量DDoS攻击。该方法由控制器采集来自交换机的报文,根据源IP地址和目的IP地址计算熵。

Kalkan et al.(2018)基于IP和TCP报头字段计算熵。这种方法分为三个阶段:名义阶段、预备阶段和缓解阶段。名义阶段统计正常运行的报文数量,并使用此信息进行比较,以检测攻击。使用了基于包的窗口的概念,其中窗口的大小为1000个包。预备阶段用电流对剖面计算关节熵,并将其与名义关节熵进行比较。当两者之间的差值超过阈值时,判定为攻击。差异最大的对被认为是可疑的对,缓解阶段安装流规则以丢弃包。

Wang et al(2018c)提出了MiniDoS,通过使用模糊综合评价决策模型来检测异常流量。此外,它对网络流量进行优先级排序,以提高服务质量(Quality of Service, QoS)。

Sahoo et al.(2018)使用广义熵( Generalized entropy)检测低速率DDoS攻击。该算法由两个函数组成:第一个函数从交换机获取统计信息并统计目的IP的发生次数,第二个函数计算熵和信息距离(information Distance, ID)。为了检测攻击,设置了两个阈值,一个用于ID,另一个用于个体熵。如果ID值连续5次大于阈值且熵值小于阈值,则产生低速率DDoS攻击告警。#

Wang et al.(2018d)扩展了他们之前的工作SDNManager ,并提出了BWManager ,它由六个模块组成:监控、DDoS检测、预测模块、优先级管理器、调度程序和存储服务。监控模块主要负责流表统计和用户的带宽消耗。它将这些信息转换为六元组特征向量,并将其发送给检测算法。检测算法计算每个交换机的得分,以找出被攻击的概率,即0表示没有攻击,1表示严重攻击。然后,预测模块预测每个用户的带宽消耗。优先级管理器根据其信任值对合法用户请求进行优先级排序。存储服务将所有模块的数据存储起来,然后转发给调度程序,由调度程序基于加权轮循调度方式对报文进行处理。#

Deng et al. (2019a),作者实现了DosDefender模块,从源头防止DOS攻击。为了实现这一点,他们需要找到两个研究挑战的解决方案:第一个是交换机是否触发来自交换机连接的交换机端口或主机连接的交换机端口的Packet_In。第二个挑战是过滤恶意的Packet_In消息。为了解决第一个挑战,它检查Packet_In消息的协议类型。如果协议类型为LLDP,则表示报文来自交换机连接的交换机端口,否则报文来自主机连接的交换机端口。为了解决第二个挑战,它主要保存一个包含MAC地址、IP地址和端口号的字典,以记录哪台主机连接到哪个端口。然后将Packet_In消息信息与该字典进行比较,验证Packet_In消息的有效性。

Myint Oo et al. (2019) ,作者扩展了支持向量机(SVM)算法,以减少检测攻击的训练和测试时间。该扩展框架解决了支持向量机的多类分类问题。

Cui et al. (2019) 将双熵支持向量机算法相结合,对DDoS攻击进行防御。这种机制由四种功能组成。统计功能定时对流量表进行统计,统计每个源IP地址和目的IP地址的流量。特征计算功能从统计功能收集的数据中计算出源IP地址和目的IP地址的个体熵。当源地址熵大于正常值,目的地址熵小于正常流量时,就会发生DDoS攻击。接下来,DDoS检测功能使用支持向量机通过迭代训练得到DDoS检测模型。最后,DDoS防御模块丢弃目的地址为受害者的所有流量(包括合法报文)。为了克服这一问题,恢复模块计算一个时间段内收到报文数的概率,并与平均概率进行比较。如果小于此值,则恢复合法的网络流量。(假阴解决思路)

Xiao et al. (2019)提出了从TCP、UDP和ICMP流量中提取特征的特征模式图模型。#

Tuan et al.(2019)研究了识别恶意流量的关键特征(基于每个IP端口的熵),然后应用KNN算法检测并丢弃流量。#

Xu et al. (2019) 改进了k近邻算法,提高了检测精度和效率。

Mehr and Ramamurthy(2019),控制器从packet_in消息中提取一些字段(SIP、DIP、Sport、Dport)。然后根据这些值计算熵,通过合法和恶意流量训练模型。支持向量机根据流量报文数、流量字节数、流项速度等参数将流入的流量分为正常流量和攻击流量。结果表明,采用该方法,DDoS攻击效果降低了36%。

Wang et al.(2019)提出了安全防护方案(secure - guard Scheme, SGS),该方案由两个模块组成:OpenFlow交换机中的恶意流量检测和控制平面中的动态防御机制。在恶意流量检测过程中,交换机提取报文的特征,利用BPNN (Back Propagation Neural Network)检测报文中是否存在恶意流量。如果是,则向防御模块发送告警消息,否则转发正常报文。防御模块识别出过载的控制器,并通过控制器重映射的方式进行负载分担

Dong and Sarem(2019)计算了攻击程度,并使用基于KNN的机器学习方法对正常和恶意流量进行了分类。

Badotra and Panda (2019),作者通过将SNORT IDS与ODL和ONOS SDN控制器集成实现了DDoS检测工具。结果表明,与ONOS控制器相比,ODL能够较早地检测到攻击,并且需要较长的时间才能下降。

Fouladi et al.(2020)提出了一种针对SDN使用时间序列分析的DDoS防御方法。在该方法中,他们估计即将到来的流量特征(唯一源IP地址(USIP)和目的IP地址(UDIP)的数量),以检测网络流量的突然变化。#

Pérez-Díaz et al.( 2020 ),作者使用六种机器学习模型(支持向量机、J48、随机森林、随机树、REP树、MLP)实现了小容量DDoS防御系统。他们使用CIC DoS 2017数据集验证了所提出的系统,并实现了95%的检测精度。#

Dehkordi et al. (2020)结合基于熵的方法和机器学习算法来检测低容量和高容量的DDoS攻击。在该方法中,选择最佳时间段以获得最大的检测率。与现有的DDoS防御算法相比,该方法的防御精度高达99.85%。 #

Ujjan et al. (2021) 利用广义熵(GE)和信息距离度量去除冗余的流量特征,以有效检测DDoS攻击。为了减少控制器开销,他们使用SNORT入侵检测系统收集网络流量。该方法通过只提取相关的流量特征,提高了深度学习分类器(卷积神经网络(CNN)和堆栈自动编码器(SAE))的准确率。

Mishra et al.(2021)提出了计算开销较低的基于熵的DDoS防御机制。在该方法中,初始化了三个阈值:包流量、熵和计数阈值。首先,将报文流量与第一个阈值进行比较。超过阈值后,控制器从交换机收集流表统计信息,计算熵值。当计算得到的熵小于阈值时,计数值增加。超过次数阈值后,产生攻击告警信息。在缓解阶段,控制器从交换机收集DPID、端口和IP信息,并阻止所有来自该IP的后续数据包。

Shohani et al.(2021)检测到DDoS攻击中,攻击者针对随机主机,而不是针对单个主机。提出的方法包括四个阶段。首先,控制器对网络中的良性和恶意流量进行分析。其次,控制器使用统计模型估计OpenFlow开关中流表MISS的数量。第三,采用指数加权平均线性回归(EWMA)来估计周期间隔内数据缺失的阈值。最后,当流表未命中的数量超过阈值时,检测到攻击。

Swami et al.(2021)分析了TCP SYN flood攻击对不同流量下控制器CPU利用率的影响。结果表明,控制器的CPU利用率随着数据包到达率的增加而增加。此外,他们使用5种不同的分类模型(决策树(DT)、AdaBoost (AB)、随机森林(RF)、逻辑回归(LR)和MLP)对良性和攻击流量进行分类。该方法的准确率为99.9%,假阳性率为0.0%。#

Tayfour and Marsono(2021)使用集成分类器(朴素贝叶斯、KNN、DT和ExtraTrees)来提高attack检测精度。为了减少单个控制器上的开销,该系统采用了Redis Simple Mes- sage Queue (RSMQ)机制,在多个SDN控制器之间执行DDoS检测和缓解。

AbdelAzim et al.(2021)利用熵和KL散度检测SDN体系结构中的并发DoS攻击。此外,他们还提出了一个信任框架,可以识别网络中的危险节点,并在指定的时间段禁止这些节点。

Ahuja et al.(2021)创建了基于sdn的数据集,其中包含识别恶意流量的相关特征。该控制器从Open- flow开关获取端口和流量统计数据,建立数据集,然后应用混合机器学习算法(SVC-RF)区分良性和攻击流量。该算法具有较高的准确率(98.8%)和较低的假阳性率(0.020)。#

2、防范数据平面流表过载和缓冲区饱和攻击

        OpenFlow开关是无自主能力的设备,无法自行解决任何威胁。因此,这些设备成为攻击者降级整个网络的首要目标。攻击者可以通过输入大量的流规则或通过重载开放流代理的缓冲区来使交换机过载,该缓冲区用于存储转发给控制器的数据包的一部分。本节介绍数据平面上的一些现有DDoS检测和缓解机制。

Yuan et al.(2019)通过实施一种感知qos的缓解策略来防范流表溢出。查找网络中负载不足的交换机,控制表溢出攻击。对等支持策略由监控模块和流量引导模块组成。监控模块用于监控各交换机的状态。在流量引导模块中,控制器定期检查流量表中的空间。如果有足够的空间存放规则,则插入常规规则进行报文转发,否则插入引导规则将报文重定向到邻居交换机。这样,规则就分布在所有交换机中,而不是在受害交换机上积累。

Pascoal et al.(2017)通过随机删除OpenFlow开关中的流表规则来检测和减轻慢TCAM耗尽攻击。

Abdulqadder et al.(2018),作者分别使用离散时间有限状态马尔可夫链(DTMC)模型和无监督哈希来缓解流表过载和链接欺骗攻击。此外,将模糊逻辑系统与L1-ELM相结合,对正常流量和恶意流量进行分类。

Ubale and Jain(2018),控制器计算SYN包的源IP和最大段大小(MSS)的哈希值,并将其存储在交换机的流表中。当交换机的流表过载时,控制器通过替换哈希值较低的恶意条目来安装新的条目。

Zhijun et al.(2020)通过在SDN控制器上实现facc - torization Machine (FM)算法,检测并缓解了针对OpenFlow交换机的低速率DDoS攻击。结果表明,与CNN和随机森林算法相比,FM算法具有更好的性能。#

Simsek  et al.(2019)在p4 -可编程交换机上部署了DDoS检测逻辑。交换机计算源IP地址和MAC地址的哈希值,并与已有的哈希值进行比较。当这两个哈希值不匹配,且当前攻击报文与上次攻击报文的差值小于5 s时,攻击被识别出来。#

3、防范数据控制平面通信通道带宽耗尽攻击

        由于数据控制平面通信通道带宽有限,DDoS攻击主要针对数据控制平面通信通道。

 为了减轻这种攻击,研究者们提出了FloodGuard (Wang et al,2015a)框架,该框架解决了两个研究挑战:一个是在攻击期间保持网络功能,另一个是在不干扰合法流量的情况下管理大量恶意的不匹配数据包。它由两个函数组成。第一个功能是主动流量分析器,根据控制器的状态将主动规则插入SDN交换机,以在DoS攻击期间保持SDN网络的正常工作。第二个功能是数据包迁移模块,它将不匹配的数据包迁移到转发平面的缓存中,然后以有限的速率向控制器发送消息,以防止控制器过载。

Wang et al. (2015b),作者实现了基于数据平面熵的DDoS检测算法。通过在OpenFlow边缘交换机上实现该算法,可以显著减少控制器和交换机之间的通信,以收集流量统计信息。为了检测撞击,基于DestIP的熵在正常和撞击周期内计算。当平均值与顶点熵的差值连续N次超过阈值时,交换机向控制器发送告警信息。由于控制器维护完整的网络信息,它会找到产生攻击流量的主机,并指示交换机阻止来自该主机的流量。

Chen and Yu (2016b)实现了一种基于BPNN的分布式入侵防御系统,其中所有或部分开关扮演神经元的角色。同一层上的开关并行工作。每个交换机需要较少的计算资源来进行简单的计算。该系统具有并行计算和计算简单的特点,可扩展性强,适用于广泛的网络。此外,同一作者通过实现径向基函数(RBF)神经网络改进了这一工作,以提高检测精度。

Shang et al.(2017)提出了防御DDoS攻击的FloodDefender框架。它的设计符合开放流策略,不需要任何额外的设备使该框架更具可扩展性。介绍了三种新的方法:包过滤、表缺失工程和流表管理。包过滤可以识别攻击流量,并对packet_in报文进行过滤,以节省控制器的内存和处理资源。table-miss工程模块检测到攻击后,在受害交换机中插入保护规则,将部分流量分流给相邻交换机,减少受害Open- Flow交换机与控制器之间的带宽消耗。流量规则管理的功能是在交换机中安装监控规则和动态管理流量表,以节省交换机的TCAM内存。

Ambrosin et al.(2017),作者提出了LineSwitch,这是一种基于数据平面的有效机制,以防止OpenFlow开关中的控制资源过载和缓冲区饱和攻击。LineSwitch通过减少代理SYN-ACK报文的使用来消除缓冲区饱和攻击,同时保持代理的好处。这种机制只代理来自每个IP地址的第一个连接,然后在完成TCP握手后,它将其发送给控制器。简而言之,当恶意主机发送带有欺骗源IP地址的数据包时,由于连接不完全,这些数据包将被交换机丢弃。

Phan et al.(2017)在OpenFlow交换机中实现了分布式自组织映射(DSOM),以解决大规模网络中控制器的瓶颈问题。结果表明,与单一SOM相比,DSOM具有较高的检测精度和较小的开销。

Wu et al.(2018)提出了流迁移防御(Flow migration Defense, FMD)算法,以减少控制器的通信和计算开销。该方法通过添加二级控制器来处理恶意流量。在检测到攻击时,可疑流量被转移到辅助控制器,辅助控制器暂时存储这些请求,并根据主控制器的负载以可接受的速率将其发送给控制器。

Khellah,(2019),作者通过监控控制器接收的数据包检测到南向接口的带宽饱和攻击。攻击检测方法动态计算Packet_In消息的平均值和方差。

Pham- Quoc et al.(2019)提出了基于FPGA的高性能安全开放流交换体系结构(HPOFS),在SDN转发设备中添加三种安全功能(SYN防御、希望计数过滤、入口/出口过滤)。实验结果表明,该方法在安全功能和交换功能并行执行的情况下,可获得较高的吞吐量。

Musumeci et al.(2020)通过在启用P4的交换机上直接提取特征,提高了机器学习分类器的效率。结果表明,该方法大大降低了攻击检测时延,准确率达98%。

Tan et al.(2020)SDN交换机上部署了DDoS检测触发机制,以减少控制平面的开销。数据平面交换机识别到可疑流后,向控制器发送告警消息。控制器收到告警消息后,部署基于机器学习的DDoS检测算法(KNN和K-means)对恶意流量进行检测。该机构具有较高的精度(98.85%),节省了控制器的资源。在最近的一项工作中 ( da Silveira Ilha et al., 2020 ),作者提出了EUCLID,可以完全在p4 -可编程交换机中检测高速率DDoS攻击。提出的机制分别计算源IP地址和目的IP地址的Shannon熵,将合法流量和攻击流量进行区分。由于有限的内存和处理限制,他们利用自定义计数草图和最长前缀匹配(LPM)表分别进行近似频率和执行计算密集的数学操作。结果表明,EUCLID能够在250ms内检测到攻击,准确率高达90%。

        

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SDN 中 DDoS 攻击问题(论文方法总结) 的相关文章

随机推荐

  • PHP 自学教程之自定义函数及数组

    一 自定义函数 自定义函数就是我们自己定义的函数 在PHP中自定义函数格式如下 function funname arg1 arg2 arg3 TODO return values 下面举一个按值传递函数
  • Python 制作马赛克拼合图像

    Python 制作马赛克拼合图像 文章目录 Python 制作马赛克拼合图像 知识点 效果 环境 原理 RGB 色彩空间 HSV 色彩空间 RGB 与 HSV 色彩空间的转换 马赛克图片拼合 数据准备 导入需要的库 计算图像平均 HSV 值
  • Linux下Mysql

    1 安装查看是否已经安装了MYSQLrpm qa mysqlmysql 4 1 7 4 RHEL4 1点开add remove programe里面的mysql的detail勾上mysql server2 启动来检测mysql是否已经启动s
  • Redis系列--redis持久化

    一 为什么需要持久化 redis本身运行时数据保存在内存中 如果不进行持久化 那么在redis出现非正常原因宕机或者关闭redis的进程或者关闭计算机后数据肯定被会操作系统从内存中清掉 当然 redis本身默认采用了一种持久化方式 即RDB
  • Matlab 2021b安装教程-Matlab分析软件下载方法

    MATLAB是美国MathWorks公司出品的商业数学软件 用于算法开发 数据可视化 数据分析以及数值计算的高级技术计算语言和交互式环境 主要包括MATLAB和Simulink两大部分 下载方法 https docs qq com shee
  • 【数据分析实战】基于python对酒店预订需求进行分析

    文章目录 引言 数据加载以及基本观察 缺失值观察及处理 缺失值观察以及可视化 缺失值处理 用户数据探索 什么时间预定酒店将会更经济实惠 哪个月份的酒店预订是最繁忙的 商家数据探索 按市场细分的不同预定情况是怎样的 什么样的人更容易取消预订
  • CCNA考试题库中英文翻译版及答案11

    26 Two routers named Atlanta and Brevard are connected by their serial interfaces as shown in the exhibit but there is n
  • SpringCloud-微服务架构编码构建

    SpringCloud Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具 例如配置管理 服务发现 断路器 智能路由 微代理 控制总线 分布式系统的协调导致了样板模式 使用Spring Cloud开发人员可以快速
  • 010.CMake函数和宏(下)

    文章目录 函数和宏的根本区别 同名覆盖 总结 函数和宏的根本区别 函数和宏之间的一个根本区别 是函数引入了一个新的变量作用域 而宏没有 在函数内定义或修改的变量对函数外同名的变量没有影响 而宏与其调用者共享相同的变量范围 但是请注意 函数不
  • 我的第一个hbuilder项目,基于h5的五子棋游戏

    这是在老师的引导下完成小游戏 以下是今天学习的内容和知识分享 第一个游戏的操作思想 使用hbuilder软件 打开软件可在其帮助中 hbuilder入门 可以了解相应的软件使用方法 使用 菜鸟教程 网站 可在其中学习h5的相关知识 制作五子
  • 数据结构---堆排序

    堆排序 JAVA实现 和快速排序区别 二叉堆的构建 删除 调整是实现堆排序的基础 之前博客写了二叉堆 二叉堆 最大堆的堆顶是整个堆中的最大元素 最小堆的堆顶是整个堆中的最小元素 堆排序步骤 把无序数组构建成二叉堆 需要从小到大排序 则构建成
  • QT之模态

    模态 当一个窗口以模态显示 那么所有其他窗口的事件都被阻塞 停止运行 直到模态窗口关闭后才继续 MainWindow pMainWindow new MainWindow pMainWindow gt setWindowTitle QStr
  • Hbuilder X用不习惯?快来看看这些快捷键

    用惯了vscode Hbuilder X的使用也得熟练 快捷键如下 Ctrl N 新建文件 Ctrl W 关闭文件 Ctrl Shift W 关闭全部文件 Ctrl S 保存文件 Ctrl Shift S 保存全部文件 Alt 激活代码助手
  • C/C++的单元/集成测试工具 - VectorCAST/C++

    什么是VectorCAST C VectorCAST C 是一套集成的软件测试解决方案 能显著降低C C 测试过程中为达到安全性检测和嵌入式系统关键任务检测所必需的时间 工作量及成本 VectorCAST C 可自动实现 为单元测试和集成测
  • (USB系列三)stm32 CubeMX usb音频描述符详解 usb audio UAC

    如果需要麦克风阵列 回声消除 声源定位 波束成形 语音对话的产品请访问我好朋友的店铺 店铺链接 首页 智能语音开发者联盟 淘宝网 大家好我是人见人爱 花见花开的大魔王 usb协议还是很烦的 cube很大程度上减轻了工作量 但是不灵活是个大问
  • python xlrd主要功能

    This module is part of the xlrd package which is released under a BSD style licence Basically use function xlrd open wor
  • 信息学奥赛--进制转化

    学习目标 1 了解二进制及其他进制 2 十进制与R进制的转换 3 能编程实现进制之间的转换 学习内容 练习 一 任意进制转十进制 1 1101101 2 2 7754 8 3 F1B9AC 16 4 1011 11101 2 5 75 10
  • 开源BT磁力搜索引擎收集

    基本是利用bt网络中p2p技术实现 开源项目上实现了dht网络的搜索 是学习dht算法的好项目 https lanmaowz com open dht spider https github com dontcontactme p2pspi
  • NVIDIA Jetson TX2 解决奥比中光 Astra pro相机的ros 打不开深度信息/camera/depth/image

    背景 NVIDIA Jetson TX2 安装奥比中光 Astra pro相机的ROS 驱动后可以打开彩色相机 打不开深度信息 有点捉急 换了一台相机 还是如此 说明相机没问题驱动有问题 打开奥比中光的开发者论坛 Astra pro无法读取
  • SDN 中 DDoS 攻击问题(论文方法总结)

    SDN 中 DDoS 攻击类型 1 数据平面DDoS攻击 数据平面由多个启用OpenFlow的转发设备组成 这些设备被称为OpenFlow交换机 每个交换机都有一个有限的流表大小来存储规则和有限的处理能力来处理不匹配的数据包 因此 它成为缓