CN115190077B - 控制方法、装置及计算设备 - Google Patents

控制方法、装置及计算设备 Download PDF

Info

Publication number
CN115190077B
CN115190077B CN202110302539.2A CN202110302539A CN115190077B CN 115190077 B CN115190077 B CN 115190077B CN 202110302539 A CN202110302539 A CN 202110302539A CN 115190077 B CN115190077 B CN 115190077B
Authority
CN
China
Prior art keywords
message
virtual machine
information
back pressure
source virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110302539.2A
Other languages
English (en)
Other versions
CN115190077A (zh
Inventor
吕怡龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202110302539.2A priority Critical patent/CN115190077B/zh
Priority to EP22773978.6A priority patent/EP4319094A1/en
Priority to PCT/CN2022/077740 priority patent/WO2022199316A1/zh
Priority to US18/551,951 priority patent/US20240179178A1/en
Publication of CN115190077A publication Critical patent/CN115190077A/zh
Application granted granted Critical
Publication of CN115190077B publication Critical patent/CN115190077B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例提供一种控制方法、装置及计算设备。其中,检测访问流量满足限速条件,抓取访问报文;解析所述访问报文,获得所述访问报文中的内层封装信息;基于所述内层封装信息,确定满足限速条件的源虚拟机;向所述源虚拟机所在源宿主机发送反压信息;其中,所述反压信息用于指示对所述源虚拟机进行报文限速处理。本申请实施例提供的技术方案通过对访问报文进行解析,从而可以识别发起攻击的源虚拟机,并对其进行反压实现报文限速处理,以解决流量攻击问题。

Description

控制方法、装置及计算设备
技术领域
本申请实施例涉及网络技术领域,尤其涉及一种控制方法、装置及计算设备。
背景技术
Overlay网络(叠加网络或覆盖网络)是一种在现有的物理网络之上构建的虚拟网络,比如Vxlan(Virtual Extensible Local Area Network,虚拟扩展局域网)即是一种Overlay网络。
Overlay网络采用many-to-one(多对一)通信模式的情况下,不可避免的会存在流量攻击问题,例如,多个虚拟机访问同一个虚拟机,导致目的虚拟机所在宿主机中的虚拟交换机对应的CPU(central processing unit,中央处理器)被过多占用,进而会影响同一宿主机中的其它虚拟机的使用;又如,多个虚拟机同时通过一个虚拟网关进行其它网络访问时,导致该虚拟网关所在设备的CPU被过多占用,从而影响正常网络访问等。
因此,如何解决流量攻击问题成为在Overlay网络中目前迫切需要解决的技术问题。
发明内容
本申请实施例提供一种控制方法、装置及计算设备,用以解决现有技术中的流量攻击问题。
第一方面,本申请实施例中提供了一种控制方法,包括:
检测访问流量满足限速条件,抓取访问报文;
解析所述访问报文,获得所述访问报文中的内层封装信息;
基于所述内层封装信息,确定满足限速条件的源虚拟机;
向所述源虚拟机所在源宿主机发送反压信息;其中,所述反压信息用于指示对所述源虚拟机进行报文限速处理。
第二方面,本申请实施例中提供一种控制方法,包括:
接收反压信息;其中,反压信息由目的端针对满足限速条件的源虚拟机发送;满足限速条件的源虚拟机基于内层封装信息确定;所述内层封装信息由所述目的端检测到访问流量满足限速条件,抓取访问报文,并对所述访问报文解析获得;
按照所述反压信息,对所述源虚拟机进行报文限速处理。
第三方面,本申请实施例中提供了一种控制装置,包括:
报文抓取模块,用于检测访问流量满足限速条件,抓取访问报文;
报文解析模块,用于解析所述访问报文,获得所述访问报文中的内层封装信息;
确定模块,用于基于所述内层封装信息,确定满足限速条件的源虚拟机;
反压触发模块,用于向所述源虚拟机所在源宿主机发送反压信息;其中,所述反压信息用于指示对所述源虚拟机进行报文限速处理。
第四方面,本申请实施例中提供了一种控制装置,包括:
信息接收模块,用于接收反压信息;其中,反压信息由目的端针对满足限速条件的源虚拟机发送;满足限速条件的源虚拟机基于内层封装信息确定;所述内层封装信息由所述目的端检测到访问流量满足限速条件,抓取访问报文,并对所述访问报文解析获得;
处理模块,用于按照所述反压信息,对所述源虚拟机进行报文限速处理。
第五方面,本申请实施例中提供了一种计算设备,包括处理组件及存储组件,所述存储组件存储一条或多条计算机指令,所述一条或多条计算机指令用以被所述处理组件调用执行,以运行至少一个虚拟机、以及运行实现如上述第一方面所述控制方法的虚拟交换机。
第六方面,本申请实施例中提供了一种计算设备,包括处理组件及存储组件,所述存储组件存储一条或多条计算机指令,所述一条或多条计算机指令用以被所述处理组件调用执行,以运行实现如上述第一方面所述控制方法的虚拟网关。
第七方面,本申请实施例中提供了一种计算设备,包括处理组件及存储组件,所述存储组件存储一条或多条计算机指令,所述一条或多条计算机指令用以被所述处理组件调用执行,以运行至少一个虚拟机、以及实现如上述第二方面所述控制方法的虚拟交换机。
第八方面,本申请实施例中提供了一种计算机存储介质,存储有计算机程序,所述计算机程序被计算机执行时实现如上述第一方面所述控制方法。
第九方面,本申请实施例中提供了一种计算机存储介质,存储有计算机程序,所述计算机程序被计算机执行时实现如上述第二方面所述的控制方法。
本申请实施例中,检测访问流量满足限速条件时,对访问报文进行解析可以获得内层封装信息,进而基于内层封装信息可以确定发起攻击的源虚拟机,从而可以向该源虚拟机所在目的宿主机发送反压信息,以指示对该源虚拟机进行报文限速处理,本实施例通过对访问报文进行解析,从而可以识别发起攻击的源虚拟机,并对其进行反压实现报文限速处理,以解决流量攻击问题。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a示出了现有技术中的一种流量攻击场景示意图;
图1b示出了现有技术中的另一种流量攻击场景示意图;
图2示出了本申请提供的一种控制方法一个实施例的流程图;
图3示出了本申请实施例在一个实际应用中的反压报文的报文格式示意图;
图4示出了本申请提供的一种控制方法又一个实施例的流程图;
图5示出了本申请提供的一种控制方法又一个实施例的流程图;
图6a示出了本申请实施例在一个实际应用中控制交互示意图;
图6b示出了本申请实施例在又一个实际应用中控制交互示意图;
图7示出了本申请提供的一种控制装置一个实施例的结构示意图;
图8示出了本申请提供的一种控制装置又一个实施例的结构示意图;
图9示出了本申请提供的一种计算设备一个实施例的结构示意图;
图10示出了本申请提供的一种计算设备又一个实施例的结构示意图;
图11示出了本申请提供的一种计算设备又一个实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本申请实施例的技术方案应用于虚拟网络中,用于解决虚拟网络中的流量攻击问题,例如Overlay网络(叠加网络或覆盖网络)中的流量攻击问题。
为了便于理解,下面首先对本申请实施例中可能涉及的技术术语进行相应解释:
虚拟机(英文:Virtual Machine,简称:VM):是指一种通过软件模拟的具有完整硬件系统功能的,并运行在一个完全隔离环境中的完整计算机系统。
宿主机:运行虚拟机的物理主机。
Overlay网络:一种在现有的物理网络之上构建的虚拟网络。
Vxlan(Virtual Extensible Local Area Network,虚拟扩展局域网):是在三层网络之上构建的二层网络的一种Overlay网络,采取将原始报文封装在UDP(User DatagramProtoco,用户数据协议)数据包里的封装格式。
五元组信息:包括源IP(Internet Protocol,网际互连协议)地址,源端口,目的IP地址,目的端口和传输层协议,在虚拟网络中,封装在内层的五元组信息中的源IP地址为源虚拟机的虚拟IP地址,源端口为源虚拟机的虚拟端口,目的IP地址为目的端的虚拟IP地址,源端口为目的端的虚拟端口。通过内层五元组信息可以唯一标识一个报文流。
报文流:是指一个源IP地址和目的IP地址之间传输的报文形成的流,一个报文流中的所有报文的五元组信息相同。
虚拟交换机(英文:Virtual Switch,简称VSwitch):为运行在本台宿主机中的虚拟机提供二层网络接入和部分三层网络功能,源虚拟机对目的虚拟机的访问需经由虚拟交换机实现,负责转发源虚拟机的访问报文至目的虚拟机。
虚拟网关(中文:Virtual gate,简称:VG):用以实现虚拟机所在网络与其它网络的互连,
以Overlay网络为例,随着云计算技术的发展,目前云数据中心通常是基于Overlay网络实现,在Overlay网络中,采用many-to-one(多对一)通信模式的两种常见访问方式造成的流量攻击场景,分别如图1a和如图1b所示,图1a中示出了多个虚拟机同时访问一个虚拟机的情况,实际应用中,一台宿主机中可能安装有多个虚拟机,如图1a中所示,位于源宿主机10中的源虚拟机101,通过源宿主机10中的源虚拟交换机102向目的宿主机20中的某个目的虚拟机103请求发送访问报文,由目的宿主机20中的目的虚拟交换机104负责转发访问报文至该目的虚拟机103,在many-to-one通信模式中,可能会有多个源虚拟机101同时向一个目的虚拟机103不断请求发送访问报文,其中,多个源虚拟机101可能位于同一个源宿主机10中,也可能位于多个源宿主机10中,那么此时,目的虚拟机交换机104会接收到大量访问报文,同时需要进行大量报文转发,就可能导致目的虚拟机交换机104对应的转发CPU的转发容量过高而被打满,影响转发CPU的处理性能,进而就会影响目宿主机20中其它虚拟机的正常使用。
图1b示出了多个虚拟机同时通过虚拟网关访问公网的情况,如图1b中所示,源宿主机30中的源虚拟机105,会通过源宿主机30中的源虚拟交换机106,向虚拟网关107发送访问报文,以请求访问向公网40,由虚拟网关107负责进行报文转发,在many-to-one通信模式中,可能会有多个源虚拟机105同时向虚拟网关107发送访问报文,多个源虚拟机105可能位于同一个源宿主机30中,也可能位于多个源宿主机30中,那么此时,虚拟网关107会接收到大量访问报文,同时需要进行大量报文转发,就可能导致虚拟网关107对应的转发CPU的转发容量过高而被打满,影响转发CPU的处理性能,进而就会影响其它虚拟机通过该虚拟网关的正常网络访问。
为了解决流量攻击问题,发明人在实现本申请的过程中发现,Overlay网络中,虚拟机的原始报文会被二次封装,添加网络相关信息如宿主机地址等形成访问报文。也即访问报文中的原始报文封装在内层,外层为网络相关信息。以Vxlan为例,Vxlan报文中是将原始报文封装在UDP数据格式中,将原始报文添加Vxlan头部一起封装在UDP数据包中,Vxlan头部信息例如可以包括Vxaln标识、IP头部等,IP头部主要包括主机之间通信的主机IP地址等,Vxlan头部信息当然还可以包括其它信息,这与现有的相同,本申请不进行过多赘述。而原始报文是虚拟机之间真正传输的报文,其头部信息例如包括了虚拟机之间进行通信的虚拟机IP地址、端口、传输层协议等等。
由于原始报文进行了二次封装,无法确定访问报文是由谁来发出的,也就没有办法确定攻击方。而采用本申请实施例的技术方案,结合虚拟交换机或虚拟网关的报文解析能力,可以对访问报文进行解析,以识别产生攻击的源虚拟机,进而可以构造反压信息,实现了对源虚拟机的报文限速处理,从容可以实现解决流量攻击的问题。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图2为本申请提供的一种控制方法一个实施例的流程图,本实施例的技术方案可以由被攻击方的目的端执行,如虚拟交换机执行或者虚拟网关等,该方法可以包括如下几个步骤:
201:检测访问流量满足限速条件,抓取访问报文。
其中,访问流量是否满足限速条件可以通过检测转发CPU的转发容量或者CPU水位实现,若转发容量高于一定容易或者CPU水位大于一定水位时,可以认为访问流量满足限速条件。
若访问流量满足限速条件,可以从转发CPU中抓取访问报文。
实际应用中,虚拟机交换机或者虚拟网关可能会利用一个或多个CPU实现其功能,转发CPU即是指负责报文转发的CPU。
可选地,可以按照采样频率及采样数量抓取访问报文,也即在转发CPU中进行抓包采样,例如1秒种抓取1000个访问报文。
需要说明的是,抓取访问报文并非对访问报文进行拦截,而对访问报文进行镜像处理,复制获得的访问报文。目的端仍然会基于访问报文进行正常的访问处理,如转发至目的虚拟机或者外网等。
202:解析访问报文,获得访问报文中的内层封装信息。
对抓取的访问报文可以进行解析,获得其内层封装信息。
该内层封装信息主要是指封装在访问报文中的原始报文中的头部信息,例如内层五元组信息。
203:基于内层封装信息,确定满足限速条件的源虚拟机。
由于内层五元组信息可以唯一标识一条报文流,基于报文流中的报文数量,可以确定是哪条报文流造成攻击,进而可以根据该报文流对应内层五元组信息中的源IP地址可以确定对应源虚拟机。
因此,可选地,基于内层封装信息,确定满足限速条件的源虚拟机包括:基于内层封装信息标识的报文流,对访问报文进行汇总以确定不同报文流的报文数量;按照不同报文流的报文数量,选择待限速报文流;确定待限速报文流对应的源虚拟机。
作为一种可选方式,按照不同报文流的报文数量,选择待限速报文流可以是:按照不同报文流的报文数量,选择报文数量大于或等于预设数量的待限速报文流。
作为另一种可选方式,按照不同报文流的报文数量,确定待限速报文流包括:按照报文数量从大到小的顺序,选择前N个报文流作为待限速报文流。
其中,满足限速条件的源虚拟机可能包括多个,对于每个满足限速条件的源虚拟机均可以按照如下方式进行报文限速处理。
204:向源虚拟机所在宿主机发送反压信息;其中,反压信息用于指示对源虚拟机进行报文限速处理。
确定出满足限速条件的源虚拟机,即可以发送反压信息,该反压信息具体由源宿主机中的源虚拟交换机接收,并按照反压信息对该源虚拟机进行限速处理。
其中,可以基于解析访问报文获得的外层封装信息中的宿主机地址来发送该反压信息,宿主机地址可以具体是指宿主机IP地址。
本实施例中,检测访问流量满足限速条件时,对访问报文进行解析可以获得内层封装信息,进而基于内层封装信息可以确定发起攻击的源虚拟机,从而可以向该源虚拟机所在目的宿主机发送反压信息,以指示对该源虚拟机进行报文限速处理,本实施例通过对访问报文进行解析,从而可以识别了发起攻击的源虚拟机,并对其进行反压实现报文限速处理,以解决流量攻击问题。
在某些实施例中,该方法还可以包括:
确定源虚拟机中的反压对象;其中,反压对象可以是指源虚拟机发出的全部报文流、源虚拟机发向其发出的待限速报文流对应的目的虚拟机的全部报文流、或者源虚拟机发出的待限速报文流;
至少根据反压对象,生成反压信息;其中,反压信息用于指示对反压对象进行限速处理。
由于源虚拟机可能会发出多条报文流,而产生流量攻击的可能仅是其中一条报文流。对于确定出的该源虚拟机的待限速报文流,可以是将该待限速报文流作为反压对象,或在多个源虚拟机同时访问一个目的虚拟机的场景下,基于该待限速报文流对应内层五元组信息中目的IP地址可以确定目的虚拟机,可以是将发往该目的虚拟机的全部报文流作为反压对象;或者直接将源虚拟机发出的全部报文流均作为反压对象。其中,反压对象可以结合结合实际需求进行预先设定等。
在某些实施例中,该方法还可以包括:
确定源虚拟机对应的限速处理方式及报警处理方式中的至少一种处理方式;
至少根据至少一种处理方式,生成反压信息;其中,反压信息用于指示按照至少一种处理方式对源虚拟机进行报文限速处理。
可选地,还可以确定源虚拟机中的反压对象;则可以具体是根据该至少一种处理方式及该反压对象,生成反压信息,以指示按照至少一种处理方式对源虚拟机中的反压对象进行报文限速处理。
在某些实施例中,该方法还可以包括:
在至少一种处理方式包括限速处理方式的情况下,确定源虚拟机对应的限速类型;
至少根据至少一种处理方式,生成反压信息包括:
至少根据至少一种处理方式及限速类型,生成反压信息;其中,反压信息可以具体是指示按照该限速流行对应的限速处理方式对源虚拟机进行限速处理。
可选地,还可以是至少根据该至少一种处理方法、该限速类型及反压对象生成反压信息。
实际应用中,限速处理方式可以包括调整发送报文的包转发率(英文:PacketForwarding Rate,简称:pps)和/或比特率,pps限速可以是通过限制每秒发包数来实现,比特率可以通过限制bps(Bit Per Second,每秒比特数)来实现。限速类型即可以包括pps限速及bps限速中的至少一种。
此外,由于一个宿主机中可能会安装多个虚拟机,且一个虚拟机可能会发送多条报文流,为了方便源虚拟交换机确定反压信息针对的反压对象,可选地,该反压信息中还可以包括该内层封装信息中的内层五元组信息等。
此外,该反压信息中还可以包括虚拟网络标识,例如Vxlan网络中的VNI(VxlanNetwork Identifier,Vxlan标识),只有在同一个虚拟网络上的虚拟机之间才能相互通信,从而可以基于反压信息中的虚拟网络标识和内层五元组信息可以识别源虚拟机中的反压对象。
结合上文描述可知,反压信息中可以包括至少一种处理方式、限速信息、反压对象、内层封装信息中的内层五元组信息、虚拟网络标识中的至少一个等,此外,还可以包括内层封装信息中的网络协议;此外,在虚拟网关受到流量攻击的场景下,流量攻击可能是来自于内网,也可能是来自于外网,因此该反压信息中还可以包括流量攻击方向等。
其中,报警处理方式可以指示对源虚拟机进行报警处理,例如包括获取源虚拟机的当前发包情况、源虚拟机的虚拟机标识、反压对象标识等作为应答信息反馈给目的端,由目的端据此进行报警等,如输出报警提示信息。
限速处理方式可以指示对源虚拟机进行pps限速和/或bps限速,并获取源虚拟机的当前发包情况、源虚拟机的虚拟机标识、反压对象标识等反馈给目的端,由目的端据此进行报警等,如输出报警提示信息。
因此,在某些实施例中,该方法还可以包括:
接收按照反压信息对源虚拟机进行报文限速处理之后反馈的应答信息;
基于应答信息,输出报警提示信息。
可选地,该应答信息中可以包括源虚拟机标识、反压对象标识和/或源虚拟机的当前发包情况等。
当前发包情况例如可以包括当前包转发率、最近预设时间范围内的平均包转发率、最近预设时间范围内的最大包转发率,还可以包当前比特率、最近预设时间范围内的平均比特率、最近预设时间范围内的最大比特率等。
可选地,输出报警提示信息可以基于相关人员的通信账号,将发送该报警提示信息,当然也可以发送至相应显示设备显示该报警提示信息等,以方便相关人员发生攻击的源虚拟机、当前攻击情况、和/或限速效果等
实际实现中,反压信息可以封装为反压报文进行发送,因此,在某些实施例中,该方法还可以包括:解析访问报文获得外层封装信息;
则向源虚拟机所在宿主机发送反压信息包括:
基于反压指示信息,及源虚拟机对应的内层封装信息和外层封装信息,构造反压报文;
将反压报文作为反压信息,发送至源虚拟机所在宿主机。
其中,外层封装信息可以具体包括源宿主机地址、此外,还可以目的主机地址等。
在某些实施例中,反压报文可以至少包括反压指示信息对应的至少一个反压字段、宿主机地址字段、网络标识字段、及内层五元组分别对应的字段;
则基于反压指示信息,及源虚拟机对应的内层封装信息和外层封装信息,构造反压报文可以包括:
将反压指示信息填入至少一个反压字段;
将源虚拟机对应外层封装信息中的源宿主机地址,填入宿主机地址字段;
将源虚拟机对应外层封装信息中的虚拟网络标识,填入网络标识字段;
将源虚拟机对应的内层封装信息中的内层五元组信息,填入内层五元组分别对应的字段。
其中,反压指示信息具体用于指示如何进行报文限速处理等;源宿主机地址用以据此发送该反压报文;虚拟网络标识及内层五元组信息用以识别需要进行限速处理的源虚拟机及其反压对象等。
由上文描述可知,反压指示信息例如可以包括至少一种处理方式、反压对象、限速类型等等。
因此,在某些实施例中,该至少一个反压字段可以包括处理方式字段、限速类型字段及反压对象字段;
则将反压指示信息填入至少一个反压字段可以包括:
确定源虚拟机对应的限速处理方式及报警处理方式中的至少一种处理方式,将标识至少一个处理方式的参数数值写入处理方式字段;例如数值0表示限速处理方式,数值1报警处理方式;
在至少一种处理方式包括限速处理方式的情况下,确定源虚拟机对应的限速类型,将标识限速类型的参数数值写入限速类型字段;例如,数值0表示pps限速,数值1表示bps限速,数值2表示同时执行pps限速及bps限速;
确定源虚拟机中的反压对象,并基于反压对象确定内层五元组信息中的有效信息,以及将标识有效信息的参数数值写入反压对象字段;例如数值0表示内层五元组信息中源IP地址有效,数值1表示内层五元组信息中的三元组即源IP地址、目的IP地址以及传输层协议有效,数值2表示内层五元组全部有效。其中,源IP地址有效表示反压对象为源虚拟机发出的全部报文流,三元组有效表示反压对象为源虚拟机发向其发出的待限速报文流对应的目的虚拟机的全部报文流、五元组有效表示的反压对象为源虚拟机发出的待限速报文流。
在某些实施例中,反压报文还可以包括至少一个反馈字段;至少一个反馈字段用于进行报文限速处理之后填入处理结果,以生成应答报文;
该方法还可以包括:接收应答报文;基于应答报文,输出限速提示信息。
可选地,可以是将该应答报文作为限速提示信息。
其中,该至少一个反馈字段例如可以包括用于填入源虚拟机的虚拟机标识的虚拟机标识字段;此外,还可以包括:用于填入反压对象当前包转发率的包转发率字段和/或用于填入反压对象当前比特率的当前比特率字段;此外,还可以包括:用于填入反压对象最近预设时间范围内的平均包转发率的平均包转发率字段、用于填入反压对象最近预设时间范围内的最大包转发率的最大包转发率字段、用于填入反压对象最近预设时间范围内的平均比特率的平均比特率字段、以及用于填入反压对象最近预设时间范围内的最大比特率的最大比特率字段等中的至少一个。该最近预设时间范围例如可以是指最近10分钟。
源虚拟交换机可以基于该至少一个反馈字段,获取相应的处理结果并填入相应反馈字段中。
在某些实施例中,该反压报文还可以包括攻击方向字段,该方法还可以包括:
在至少一种处理方式包括报警处理的情况下,确定流量攻击方向;
将标识流量攻击方向的参数数值,填入攻击方向字段。例如,数值0表示内网攻击,数值1表示外网攻击。
该攻击方向字段中的字段值标识的流量攻击方向用以作为一种报警信息,在反压报文中填入报文限速处理之后的处理结果之后,形成应答报文输出。
在某些实施例中,该反压报文还可以包括网络协议字段,该方法还可以包括:
将标识内层网络协议的参数数值,写入网络协议字段;例如,数值0表示ipv4(Internet Protocol version 4,网际协议版本4),数值1表示ipv6(Internet Protocolversion 6,网际协议版本6)。
该网络协议字段用于按照字段值标识的网络协议从反压报文中解析获得内层五元组信息。
为了便于理解,如图3中所示,示出了在一个实际应用中的反压报文的报文格式示意图,结合上文相关描述下面对该反压报文中可能包括的字段进行介绍:
Action:处理方式字段,取值可以包括0或1;数值0表示报警处理方式,指示仅报警不限速;数值1表示限速处理方式,执行限速动作。
Limit_type:限速类型字段,取值可以包括0、1或2;数值0表示进行pps限速,数值1表示进行bps限速,数值3表示同时进行pps限速和bps限速。可选地,Action取值为0时,该Limit_type可以为空值。
Direction:攻击方向字段,取值可以包括0或1,数值0表示内网方向,数值1表示外网方向;其中,Direction取值为1时,Action取值为0。
key_type:反压对象字段,取值可以包括0、1或2,数值0表示内层源IP地址有效,数值1表示内层三元组(源IP地址、目的IP地址、传输层协议)有效,数值2表示内层五元组(源IP地址、目的IP地址、源端口、目的端口、传输层协议)有效。
Ncip:宿主机字段,取值为满足限速条件的源虚拟机所在的宿主机的宿主机IP地址;
tunnel id:网络标识字段,取值为满足限速条件的源虚拟机所在虚拟网络的虚拟网络标识,例如VNI。
Af:网络协议字段,取值为内层网络协议。
inner_proto:内层五元组字段之一,内层协议字段,取值内层传输层协议号。
inner_src ip:内层五元组字段之一,内层源地址字段,取值为内层源Ip地址;
inner_dst ip:内层五元组字段之一,内层源地址字段,取值为内层目的IP地址;
inner src port:内层五元组字段之一,内层源端口字段,取值为内层源端口号;
inner dst port:内层五元组字段之一,内层目的端口字段,取值为内层目的端口号。
ecs_id:虚拟机标识字段,取值为满足限速条件的源虚拟机的虚拟机标识,如虚拟机名称等。
out_pps:当前包转发率字段,取值为反压对象的当前pps。
avg_pps:平均包转发率字段,取值为最近预设时间范围内反压对象的平均pps,如最近10分钟内的平均pps。
max_pps:最大包转发率字段,取值为最近预设时间范围内反压对象的最大pps,如最近10分钟内的最大pps。
其中,构造完成的反压报文即可以基于Ncip字段中的宿主机地址进行发送。
图4为本申请实施例提供的一种控制方法又一个实施例的流程图,本实施例从反压信息接收端角度对报文限速处理过程进行介绍,接收端具体是指源虚拟交换机。该方法可以包括以下几个步骤:
401:接收反压信息。
其中,反压信息由目的端针对满足限速条件的源虚拟机发送;满足限速条件的源虚拟机基于内层封装信息确定;内层封装信息由目的端检测到访问流量满足限速条件,抓取访问报文,并对访问报文解析获得,具体实现可以详见图2所示实施例,在此不再赘述。
402:按照反压信息,对请求限速的源虚拟机进行报文限速处理。
其中,请求限速的源虚拟机可以根据反压信息中的内层五元组信息、虚拟网络标识等确定。
在某些实施例中,按照反压信息,对请求限速的源虚拟机进行报文限速处理可以是按照反压信息,对请求限速的源虚拟机中反压信息指示的反压对象进行报文限速处理。
在某些实施例中,按照反压信息,对请求限速的源虚拟机进行报文限速处理可以是按照反压信息指示的至少一种处理方式,对请求限速的源虚拟机进行报文限速处理。
在某些实施例中,按照反压信息指示的至少一种处理方式,对请求限速的源虚拟机进行报文限速处理可以包括:
确定反压信息指示的至少一种处理方式;
在至少一种处理方式包括报警处理方式的情况下,基于请求限速的源虚拟机的虚拟机标识、及该源虚拟机的发包情况信息生成第一反馈结果;
在至少一个处理方式包括限速处理方式的情况下,对请求限速的源虚拟机的报文发送进行限速处理,并基于该源虚拟机的虚拟机标识、及源虚拟机的发包情况信息生成第二反馈结果;
基于第一反馈结果或者第二反馈结果,生成应答信息,并将应答信息反馈给目的端。
其中,对请求限速的源虚拟机的报文发送进行限速处理可以具体是结合反压对象,对请求限速的源虚拟机中的反压对象表示的某个报文流中的报文发送进行限速处理。其中进行限速处理可以包括进行pps限速和/或进行bps限速等,具体可以是对源虚拟机对应的虚拟网卡进行限速处理,对从该虚拟网卡转发的报文流进行pps限速和/或bps限速,如将pps或bps降低一定百分比等。
此外,对报文发送进行限速处理之后,还可以生成限速记录进行保存。
其中,第一反馈结果中的发包情况信息例如可以包括当前包转发率,最近10分钟内的平均包转发率、以及最近10分钟内的最大包转发率等。
第二反馈结果中的发包情况信息例如可以包括进行限速处理之后的当前包转发率、最近10分钟内的平均包转发率、以及最近10分钟内的最大包转发率等。
由于前文描述可知,反压信息以反压报文形式发送。因此,在某些实施例中,接收反压信息可以包括:接收反压报文;解析反压报文,获得反压报文中的反压指示信息、虚拟网络标识、及内层五元组信息
则按照反压信息,对请求限速的源虚拟机进行报文限速处理可以包括:
基于虚拟网络标识及内层五元组信息中的源虚拟机地址,确定请求限速的源虚拟机;
按照反压指示信息,对该源虚拟机进行报文限速处理。
可选地,按照反压指示信息,对源虚拟机中进行报文限速处理可以包括:
按照反压指示信息中的反压对象字段值,确定内层五元组信息中的有效信息;
按照反压指示信息中的至少一种处理方式及限速类型,对有效信息标识的反压对象进行报文限速处理。
在某些实施例中,该方法还可以包括:
获取对源虚拟机进行报文限速处理之后的处理结果;
将处理结果填入反压报文中的至少一个反馈字段中,以生成应答报文;
发送应答报文至目的端。
其中,该处理结果即可以包括前文所述的第一反馈结果或者第二反馈结果。
此外,为了保证报文正常发送,在某些实施例中,接收反压信息可以是定时接收反压信息;
该方法还可以包括:
若在定时时间未接收到反压信息,则对已进行限速处理的反压对象执行恢复操作。
可以是基于限速记录,确定已进行限速处理的反压对象并执行恢复操作。例如假设对该反压对象进行pps限速,该恢复操作可以是指将该反压对象对应的pps升高一定百分比等。
在某些实施例中,对已进行限速处理的反压对象执行恢复操作之后,该方法还可以包括:
若已进行限速处理的反压对象恢复至进行限速处理之前的原始状态,则删除该进行限速处理的反压对象对应的限速记录。
如图5中所示,为本申请实施例提供的一种控制方法又一个实施例的流程图,本实施例由源虚拟交换机执行,可以包括如下几个步骤:
501:在定时时间,判断是否接收到反压报文,如果是,执行步骤502,若否,执行步骤507。
502:解析反压报文。
解析反压报文,可以获得反压报文中的相关信息,如请求限速的源虚拟机、源虚拟机中的反压对象、处理方式、限速类型等等。
其中,本实施例中以限速类型为pps为例进行说明。
503:确定是否执行限速处理方式,若是执行步骤504,若否执行步骤505
504:将虚拟网卡中该反压对象对应的pps调整为原有的x%,并生成限速记录保存,之后执行步骤505。
其中,x小于100。
505:确定请求限速的源虚拟机的虚拟机标识和发包情况信息,填入反压报文中的反馈字段中,生成应答报文。
506:将应答报文发送至目的端。
507:基于限速记录,判断是否存在已进行限速的反压对象,若是,执行步骤508。
508:调整虚拟网卡中,该已进行限速的反压对象对应pps为当前的y%,其中,y大于100。
509:基于限速记录,判断该已进行限速的反压对象对应pps是否恢复为原始状态,若是,执行步骤510。
510:删除该已进行限速的反压对象对应的限速记录。
下面结合图1a和图1b分别示出的两种流量攻击场景对本申请技术方案进行介绍,图6a为对应图1a的流量攻击场景的控制交互示意图,目的虚拟交换机104检测访问流量满足限速条件时,抓取访问报文,并通过解析访问报文获得内层封装信息,基于内层封装信息可以确定满足限速条件的源虚拟机101,并向该源虚拟机101所在源宿主机10发送反压报文,由源宿主机10中的源虚拟交换机102接收该反压报文,并基于反压报文对该源虚拟机101进行报文限速处理,并基于处理结果生成应答报文,将应答报文发送至目的虚拟交换机104,目的虚拟交换机104可以基于该应答报文,输出报警提示信息。
图6b为对应图1b的流量攻击场景的控制交互示意图,虚拟网关107检测访问流量满足限速条件时,抓取访问报文,并通过解析访问报文获得内层封装信息,基于内层封装信息可以确定满足限速条件的源虚拟机105,并向该源虚拟机105所在源宿主机30发送反压报文,由源宿主机30中的源虚拟交换机106接收该反压报文,并基于反压报文对该源虚拟机105进行报文限速处理,并基于处理结果生成应答报文,将应答报文发送至虚拟网关107,虚拟网关107可以基于该应答报文,输出报警提示信息。
此外,在一个实际应用中,本申请实施例的技术方案可以用于解决Vxlan网络中的流量攻击问题。因此,本申请实施例还提供了一种应用于Vxlan网络中的控制方法,可以包括:
检测访问流量满足限速条件,抓取Vxlan报文;
解析Vxlan报文,获得Vxlan报文中的内层封装信息;
基于内层封装信息,确定满足限速条件的源虚拟机;
向源虚拟机所在源宿主机发送反压信息;其中,反压信息用于指示对源虚拟机进行报文限速处理。
本实施例与图2所示实施例不同之处在于,访问报文具体为Vxlan报文,其它相同或相似步骤可以详见前文实施例中所述,在此不再赘述。
本申请实施例还提供了一种应用于Vxlan网络中的控制方法,可以包括:
接收反压信息;其中,反压信息由目的端针对满足限速条件的源虚拟机发送;满足限速条件的源虚拟机基于内层封装信息确定;内层封装信息由目的端检测到访问流量满足限速条件,抓取Vxlan报文,并对VXlan报文解析获得;
按照反压信息,对源虚拟机进行报文限速处理。
图7为本申请实施例提供的一种控制装置一个实施例的结构示意图,该装置可以包括:
报文抓取模块701,用于检测访问流量满足限速条件,抓取访问报文;
报文解析模块702,用于解析访问报文,获得访问报文中的内层封装信息;
确定模块703,用于基于内层封装信息,确定满足限速条件的源虚拟机;
反压触发模块704,用于向源虚拟机所在源宿主机发送反压信息;其中,反压信息用于指示对源虚拟机进行报文限速处理。
图7所述的控制装置可以执行图2所示实施例所述的控制方法,其实现原理和技术效果不再赘述。对于上述实施例中的控制装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8为本申请实施例提供的一种控制装置又一个实施例的结构示意图,该装置可以包括:
信息接收模块801,用于接收反压信息;其中,反压信息由目的端针对满足限速条件的源虚拟机发送;满足限速条件的源虚拟机基于内层封装信息确定;内层封装信息由目的端检测到访问流量满足限速条件,抓取访问报文,并对访问报文解析获得;
处理模块802,用于按照反压信息,对源虚拟机进行报文限速处理。
图8所述的控制装置可以执行图4所示实施例所述的控制方法,其实现原理和技术效果不再赘述。对于上述实施例中的控制装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
此外,本申请实施例还提供了一种计算设备,如图9中所示,该计算设备可以包括处理组件901以及存储组件902,存储组件902存储一条或多条计算机指令,该一条或多条计算机指令用以被处理组件901调用执行,以使得该处理组件901可以运行至少一个虚拟机903,以及实现图1所示的控制方法的虚拟交换机904。
其中,该处理组件包括一个或多个处理器,处理器可以具体是指CPU。
此外,计算设备必然还可以包括其他部件,例如输入/输出接口、通信组件等。输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。通信组件被配置为便于计算设备和其他设备之间有线或无线方式的通信等。
实际应用中,该计算设备可以为云计算平台提供的弹性计算主机等,此时计算设备即可以是指云服务器。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时可以实现上述图2所示实施例的控制方法。
此外,本申请实施例还提供了一种计算设备,如图10中所示,该计算设备可以包括处理组件1001以及存储组件1002,处理组件1001可以包括一个或多个处理器,存储组件1002存储一条或多条计算机指令,所述一条或多条计算机指令用以被所述处理组件1001调用执行,以运行实现图1所示的控制方法的虚拟网关1003。
其中,处理器可以具体是指CPU。
此外,计算设备必然还可以包括其他部件,例如输入/输出接口、通信组件等。输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。通信组件被配置为便于计算设备和其他设备之间有线或无线方式的通信等。
实际应用中,该计算设备可以为云计算平台提供的弹性计算主机等,此时计算设备即可以是指云服务器。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时可以实现上述图2所示实施例的控制方法。
此外,本申请实施例还提供了一种计算设备,如图11中所示,该计算设备可以包括处理组件1101以及存储组件1102,处理组件1101包括一个或多个处理器,存储组件存储一条或多条计算机指令,所述一条或多条计算机指令用以被所述处理组件调用执行,以运行至少一个虚拟机1103、以及实现如图4所示实施例中所述控制方法的虚拟交换机1104。
其中,处理器可以具体是指CPU。
此外,计算设备必然还可以包括其他部件,例如输入/输出接口、通信组件等。输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。通信组件被配置为便于计算设备和其他设备之间有线或无线方式的通信等。
实际应用中,该计算设备可以为云计算平台提供的弹性计算主机等,此时计算设备即可以是指云服务器。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时可以实现上述图4所示实施例的控制方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (30)

1.一种控制方法,其特征在于,包括:
检测访问流量满足限速条件,抓取访问报文;所述访问报文由原始报文二次封装获得;
解析所述访问报文,获得所述访问报文中的内层封装信息;
基于所述内层封装信息,确定满足限速条件的源虚拟机;
向所述源虚拟机所在源宿主机发送反压信息;其中,所述反压信息用于指示对所述源虚拟机发出的一条或多条报文流进行报文限速处理;
所述基于所述内层封装信息,确定满足限速条件的源虚拟机包括:
基于所述内层封装信息标识的报文流,对所述访问报文进行汇总以确定不同报文流的报文数量;
按照不同报文流的报文数量,选择待限速报文流;
确定所述待限速报文流对应的源虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述按照不同报文流的报文数量,选择待限速报文流包括:
按照不同报文流的报文数量,选择报文数量大于或等于预设数量的待限速报文流。
3.根据权利要求1所述的方法,其特征在于,所述按照不同报文流的报文数量,确定待限速报文流包括:
按照报文数量从大到小的顺序,选择前N个报文流作为待限速报文流。
4.根据权利要求1所述的方法,其特征在于,还包括:
确定所述源虚拟机中的反压对象;其中,所述反压对象包括所述源虚拟机发出的全部报文流、所述源虚拟机发向其发出的待限速报文流对应的目的虚拟机的全部报文流、或者所述源虚拟机发出的待限速报文流;
至少根据所述反压对象,生成所述反压信息;其中,所述反压信息用于指示对所述反压对象进行报文限速处理。
5.根据权利要求1所述的方法,其特征在于,还包括:
确定所述源虚拟机对应的限速处理方式及报警处理方式中的至少一种处理方式;
至少根据所述至少一种处理方式,生成所述反压信息;其中,所述反压信息用于指示按照所述至少一种处理方式对所述源虚拟机进行报文限速处理。
6.根据权利要求5所述的方法,其特征在于,还包括:
在所述至少一种处理方式包括限速处理方式的情况下,确定所述源虚拟机对应的限速类型;
所述至少根据所述至少一种处理方式,生成反压信息包括:
至少根据所述至少一种处理方式及所述限速类型,生成反压信息。
7.根据权利要求1所述的方法,其特征在于,还包括:
接收按照所述反压信息对所述源虚拟机进行报文限速处理之后反馈的应答信息;
基于所述应答信息,输出报警提示信息。
8.根据权利要求1所述的方法,其特征在于,还包括:
解析所述访问报文获得外层封装信息;
所述向所述源虚拟机所在宿主机发送反压信息包括:
基于反压指示信息,及所述源虚拟机对应的内层封装信息和外层封装信息,构造反压报文;
将所述反压报文作为反压信息,发送至所述源虚拟机所在宿主机。
9.根据权利要求8所述的方法,其特征在于,所述反压报文至少包括反压指示信息对应的至少一个反压字段、宿主机地址字段、网络标识字段、及内层五元组分别对应的字段;
所述基于反压指示信息,及所述源虚拟机对应的内层封装信息和外层封装信息,构造反压报文包括:
将反压指示信息填入所述至少一个反压字段;
将所述源虚拟机对应外层封装信息中的源宿主机地址,填入所述宿主机地址字段;
将所述源虚拟机对应外封装信息中的虚拟网络标识,填入所述网络标识字段;
将所述源虚拟机对应的内层封装信息中的内层五元组信息,填入所述内层五元组分别对应的字段。
10.根据权利要求9所述的方法,其特征在于,所述反压报文还包括至少一个反馈字段;所述至少一个反馈字段用于进行报文限速处理之后填入处理结果,以生成应答报文;
所述方法还包括:
接收所述应答报文;
基于所述应答报文,输出限速提示信息。
11.根据权利要求10所述的方法,其特征在于,所述至少一个反馈字段包括用于填入所述源虚拟机的虚拟机标识的虚拟机标识字段、用于填入所述反压对象当前包转发率的当前包转发率字段、用以填入所述反压对象最近预设时间范围内的平均包转发率的平均包转发率字段、以及用以填入所述反压对象最近预设时间范围内的最大包转发率的最大包转发率字段。
12.根据权利要求10所述的方法,其特征在于,所述反压报文还包括攻击方向字段;
所述方法还包括:
在所述源虚拟机对应报警处理方式的情况下,确定流量攻击方向;
将标识流量攻击方向的参数数值,填入所述攻击方向字段。
13.根据权利要求9所述的方法,其特征在于,所述反压报文还包括网络协议字段;所述方法还包括:
将标识内层网络协议的参数数值,填入所述网络协议字段;所述网络协议字段用于按照字段值标识的网络协议解析获得所述内层五元组信息。
14.根据权利要求9所述的方法,其特征在于,所述至少一个反压字段包括处理方式字段、限速类型字段及反压对象字段;
所述将反压指示信息填入所述至少一个反压字段包括:
确定所述源虚拟机对应的限速处理方式及报警处理方式中的至少一种处理方式,将标识所述至少一个处理方式的参数数值写入所述处理方式字段;
在所述至少一种处理方式包括限速处理方式的情况下,确定所述源虚拟机对应的限速类型,将标识所述限速类型的参数数值写入所述限速类型字段;
确定所述源虚拟机中的反压对象,并基于所述反压对象确定所述内层五元组信息中的有效信息,及将标识所述有效信息的参数数值写入所述反压对象字段。
15.根据权利要求1所述的方法,其特征在于,所述检测访问流量满足限速条件,抓取访问报文包括:
检测访问流量满足限速条件,按照采样频率及采样数量抓取访问报文。
16.一种控制方法,其特征在于,包括:
接收反压信息;其中,反压信息由目的端针对满足限速条件的源虚拟机发送;满足限速条件的源虚拟机基于内层封装信息确定,具体为:基于所述内层封装信息标识的报文流,对访问报文进行汇总以确定不同报文流的报文数量;按照不同报文流的报文数量,选择待限速报文流;确定所述待限速报文流对应的源虚拟机;所述内层封装信息由所述目的端检测到访问流量满足限速条件,抓取访问报文,并对所述访问报文解析获得;所述访问报文由原始报文二次封装获得;
按照所述反压信息,对所述源虚拟机发出的一条或多条报文流进行报文限速处理。
17.根据权利要求16所述的方法,其特征在于,所述按照反压信息,对所述源虚拟机进行报文限速处理包括:
按照所述反压信息,对所述源虚拟机中所述反压信息指示的反压对象进行报文限速处理。
18.根据权利要求16所述的方法,其特征在于,所述按照反压信息,对所述源虚拟机进行报文限速处理包括:
按照所述反压信息指示的至少一种处理方式,对所述源虚拟机进行报文限速处理。
19.根据权利要求18所述的方法,其特征在于,按照所述反压信息指示的至少一种处理方式,对所述源虚拟机进行报文限速处理包括:
确定所述反压信息指示的至少一种处理方式;
在所述至少一种处理方式包括报警处理方式的情况下,基于所述源虚拟机的虚拟机标识、及所述源虚拟机的发包情况信息生成第一反馈结果;
在所述至少一种处理方式包括限速处理方式的情况下,对所述源虚拟机的报文发送进行限速处理,并基于所述源虚拟机的虚拟机标识、及所述源虚拟机的发包情况信息生成第二反馈结果;
基于所述第一反馈结果或者所述第二反馈结果,生成应答信息,并将所述应答信息反馈给所述目的端。
20.根据权利要求16所述的方法,其特征在于,所述接收反压信息包括:
定时接收反压信息;
所述方法还包括:
若在定时时间未接收到所述反压信息,对已进行限速处理的反压对象执行恢复操作。
21.根据权利要求16所述的方法,其特征在于,所述接收反压信息包括:
接收反压报文;
解析所述反压报文,获得所述反压报文中的反压指示信息、虚拟网络标识、及内层五元组信息;
所述按照所述反压信息,对所述源虚拟机进行报文限速处理包括:
基于所述虚拟网络标识及所述内层五元组信息中源虚拟机地址,确定所述源虚拟机;
按照所述反压指示信息,对所述源虚拟机进行报文限速处理。
22.根据权利要求21所述的方法,其特征在于,还包括:
获取对所述源虚拟机进行报文限速处理之后的处理结果;
将所述处理结果填入所述反压报文中的至少一个反馈字段中,以生成应答报文;
发送所述应答报文至所述目的端。
23.根据权利要求22所述的方法,其特征在于,所述按照所述反压指示信息,对所述源虚拟机中进行报文限速处理包括:
按照所述反压指示信息中的反压对象字段值,确定所述内层五元组信息中的有效信息;
按照所述反压指示信息中的至少一种处理方式及限速类型,对所述有效信息标识的反压对象进行报文限速处理。
24.一种控制装置,其特征在于,包括:
报文抓取模块,用于检测访问流量满足限速条件,抓取访问报文;所述访问报文由原始报文二次封装获得;
报文解析模块,用于解析所述访问报文,获得所述访问报文中的内层封装信息;
确定模块,用于基于所述内层封装信息,确定满足限速条件的源虚拟机;
反压触发模块,用于向所述源虚拟机所在源宿主机发送反压信息;其中,所述反压信息用于指示对所述源虚拟机发出的一条或多条报文流进行报文限速处理;
所述确定模块,具体用于基于所述内层封装信息标识的报文流,对所述访问报文进行汇总以确定不同报文流的报文数量;按照不同报文流的报文数量,选择待限速报文流;确定所述待限速报文流对应的源虚拟机。
25.一种控制装置,其特征在于,包括:
信息接收模块,用于接收反压信息;其中,反压信息由目的端针对满足限速条件的源虚拟机发送;满足限速条件的源虚拟机基于内层封装信息确定,具体为:基于所述内层封装信息标识的报文流,对访问报文进行汇总以确定不同报文流的报文数量;按照不同报文流的报文数量,选择待限速报文流;确定所述待限速报文流对应的源虚拟机;所述内层封装信息由所述目的端检测到访问流量满足限速条件,抓取访问报文,并对所述访问报文解析获得;所述访问报文由原始报文二次封装获得;
处理模块,用于按照所述反压信息,对所述源虚拟机发出的一条或多条报文流进行报文限速处理。
26.一种计算设备,其特征在于,包括处理组件及存储组件,所述存储组件存储一条或多条计算机指令,所述一条或多条计算机指令用以被所述处理组件调用执行,以运行至少一个虚拟机、以及运行实现如权利要求1~15任一项所述控制方法的虚拟交换机。
27.一种计算设备,其特征在于,包括处理组件及存储组件,所述存储组件存储一条或多条计算机指令,所述一条或多条计算机指令用以被所述处理组件调用执行,以运行实现如权利要求1~15任一项所述控制方法的虚拟网关。
28.一种计算设备,其特征在于,包括处理组件及存储组件,所述存储组件存储一条或多条计算机指令,所述一条或多条计算机指令用以被所述处理组件调用执行,以运行至少一个虚拟机、以及实现如权利要求16~23任一项所述控制方法的虚拟交换机。
29.一种计算机存储介质,其特征在于,存储有计算机程序,所述计算机程序被计算机执行时实现如权利要求1-15任一项所述控制方法。
30.一种计算机存储介质,其特征在于,存储有计算机程序,所述计算机程序被计算机执行时实现如权利要求16-23任一项所述的控制方法。
CN202110302539.2A 2021-03-22 2021-03-22 控制方法、装置及计算设备 Active CN115190077B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202110302539.2A CN115190077B (zh) 2021-03-22 2021-03-22 控制方法、装置及计算设备
EP22773978.6A EP4319094A1 (en) 2021-03-22 2022-02-24 Control method and apparatus, and computing device
PCT/CN2022/077740 WO2022199316A1 (zh) 2021-03-22 2022-02-24 控制方法、装置及计算设备
US18/551,951 US20240179178A1 (en) 2021-03-22 2022-02-24 Control method and apparatus, computing device, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110302539.2A CN115190077B (zh) 2021-03-22 2021-03-22 控制方法、装置及计算设备

Publications (2)

Publication Number Publication Date
CN115190077A CN115190077A (zh) 2022-10-14
CN115190077B true CN115190077B (zh) 2023-09-22

Family

ID=83396311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110302539.2A Active CN115190077B (zh) 2021-03-22 2021-03-22 控制方法、装置及计算设备

Country Status (4)

Country Link
US (1) US20240179178A1 (zh)
EP (1) EP4319094A1 (zh)
CN (1) CN115190077B (zh)
WO (1) WO2022199316A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634235A (zh) * 2013-11-01 2014-03-12 国云科技股份有限公司 一种限定虚拟机网络接口速度的方法
CN105591834A (zh) * 2015-07-10 2016-05-18 杭州华三通信技术有限公司 Vxlan中的流量监控方法和装置
CN108683607A (zh) * 2018-06-14 2018-10-19 新华三云计算技术有限公司 虚拟机流量控制方法、装置和服务器
CN108964959A (zh) * 2017-05-27 2018-12-07 阿里巴巴集团控股有限公司 一种用于虚拟化平台的网卡直通系统及数据包监管方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9832217B2 (en) * 2014-03-13 2017-11-28 International Business Machines Corporation Computer implemented techniques for detecting, investigating and remediating security violations to IT infrastructure
TWI595760B (zh) * 2015-12-01 2017-08-11 廣達電腦股份有限公司 伺服器資源之管理系統及其管理方法
US10764249B1 (en) * 2017-11-30 2020-09-01 Juniper Networks, Inc. Anti-spoofing techniques for overlay networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634235A (zh) * 2013-11-01 2014-03-12 国云科技股份有限公司 一种限定虚拟机网络接口速度的方法
CN105591834A (zh) * 2015-07-10 2016-05-18 杭州华三通信技术有限公司 Vxlan中的流量监控方法和装置
CN108964959A (zh) * 2017-05-27 2018-12-07 阿里巴巴集团控股有限公司 一种用于虚拟化平台的网卡直通系统及数据包监管方法
CN108683607A (zh) * 2018-06-14 2018-10-19 新华三云计算技术有限公司 虚拟机流量控制方法、装置和服务器

Also Published As

Publication number Publication date
CN115190077A (zh) 2022-10-14
US20240179178A1 (en) 2024-05-30
WO2022199316A1 (zh) 2022-09-29
EP4319094A1 (en) 2024-02-07

Similar Documents

Publication Publication Date Title
Barbette et al. A {High-Speed}{Load-Balancer} Design with Guaranteed {Per-Connection-Consistency}
CN113709057B (zh) 网络拥塞的通告方法、代理节点、网络节点及计算机设备
EP3226508B1 (en) Attack packet processing method, apparatus, and system
WO2023005773A1 (zh) 基于远程直接数据存储的报文转发方法、装置、网卡及设备
US8149705B2 (en) Packet communications unit
US7895348B2 (en) Virtual dispersive routing
WO2018099249A1 (zh) 在nfv系统中检测故障的方法、装置和系统
KR20210013207A (ko) 데이터 메시지 검출 방법, 디바이스 및 시스템
WO2017031460A1 (en) Device and method for establishing connection in load-balancing system
US11252184B2 (en) Anti-attack data transmission method and device
Barbette et al. Cheetah: A high-speed programmable load-balancer framework with guaranteed per-connection-consistency
CN114567481A (zh) 一种数据传输方法、装置、电子设备及存储介质
CN110691139B (zh) 一种数据传输方法、装置、设备及存储介质
JP5178573B2 (ja) 通信システムおよび通信方法
CN115190077B (zh) 控制方法、装置及计算设备
Singh Machine learning in openflow network: comparative analysis of DDoS detection techniques.
US10887282B1 (en) Determining synchronization of filter rules (e.g., on iptable filter tables on Linux kernal) across firewall filter application restarts
CN114244610B (zh) 一种文件传输方法、装置,网络安全设备及存储介质
CN114640574B (zh) 一种主备设备的切换方法及装置
Kulkarni et al. Analysis of tcp performance in data center networks
CN111614574A (zh) 一种通信方法、装置及系统
JP2015032985A (ja) 通信制御装置、通信制御方法、および通信制御システム
CN114301960B (zh) 集群非对称流量的处理方法及装置、电子设备及存储介质
KR102156600B1 (ko) 네트워크에서 수집된 패킷과 엔드포인트 컴퓨팅 장치의 프로세스 간의 연관관계를 생성하는 시스템 및 방법
Kadi et al. Performance Analysis of Identifier Locator Communication Cache Effects on ILNPv6 Stack

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant