CN112804198B - 基于网络状态的抗DDoS控制器消息调度方法 - Google Patents
基于网络状态的抗DDoS控制器消息调度方法 Download PDFInfo
- Publication number
- CN112804198B CN112804198B CN202011602933.XA CN202011602933A CN112804198B CN 112804198 B CN112804198 B CN 112804198B CN 202011602933 A CN202011602933 A CN 202011602933A CN 112804198 B CN112804198 B CN 112804198B
- Authority
- CN
- China
- Prior art keywords
- message
- ddos
- packet
- queue
- messages
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于网络状态的抗DDoS控制器消息调度方法,包括:为每个交换机创建一个用户消息队列,以存储对应交换机的packet‑in消息,为所有交换机创建一个管理消息队列,存储非packet‑in消息;当DDoS检测到DDoS时,根据获取的DDoS信息判断收到的packet‑in消息是否由DDoS引起,若是则丢弃此消息;获取DDoS溯源结果后,只检查并丢弃由DDoS源网络设备发送的由DDoS产生的packet‑in消息,并预估该设备对应用户消息队列中的消息等待时间,删除超期的消息;抑制DDoS后,不再判断收到的OpenFlow消息是否由DDoS产生,正常处理消息。处理消息时,控制器总是优先处理管理消息队列中的消息,当管理消息队列为空时,使用轮询算法从用户请求队列中取出需要处理的消息。
Description
技术领域
本发明涉及网络通信技术领域,特别涉及一种基于网络状态的抗DDoS控制器消息调度方案。
背景技术
软件定义网络(Software-Defined Networking,SDN)解耦了传统网络设备的转发功能与控制功能,将网络设备的控制功能逻辑性地集中在了统一的控制平面上。鉴于其所具备的统一控制性、全局可见性、网络可编程性等优势,SDN目前已被广泛认可为下一代网络架构之一。虽然SDN目前已经比较成熟且已在数据中心、局域网等领域应用,但SDN面临着一些严重的安全问题,这些安全问题制约了SDN的发展及进一步应用。拒绝式分布服务(Distributed Denial of Service,DDoS)攻击就是SDN中严重的网络安全问题之一。
DDoS一般通过大量的异构终端同时向单一或少数目标发起服务请求信息,以耗尽目标的计算、带宽等资源,使目标不能正常对外提供服务。DDoS具有发起简单、危害性强、难以防御的特点,目前已成为威胁网络安全的最严重网络攻击方式之一。SDN具有与传统网络不同的架构,其内的DDoS也呈现出与传统网络不同的特点。在传统网络设备中,DDoS只影响其流经的网络设备。而在SDN中,网络设备的管理及控制由SDN控制器实现,因此SDN中的DDoS除影响影响其流经的网络设备外,还影响着控制器的性能。OpenFlow协议已经成为了SDN中的事实标准协议。SDN控制器正是通过OpenFlow协议达到控制及管理网络设备的目的。而SDN中出现的DDoS攻击将导致控制器在短时间内收到大量的由DDoS产生的OpenFlow消息以及少量的正常的OpenFlow消息。如果不能合理地处理这些OpenFlow消息,将会导致控制器的不可用,进而使得整个网络崩溃,引发严重的安全问题。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
本发明的一个目的在于提出一种基于网络状态的抗DDoS控制器消息调度方法。
为达到上述目的,本发明实施例提出了基于网络状态的抗DDoS控制器消息调度方法,包括以下步骤:为每个交换机分别建立一个用户消息队列,以存储控制器接收到的packet-in消息,同时为所有交换机建立一个管理消息队列,用于存储控制器接收到的除packet-in消息外的所有OpenFlow消息;当接收到所述packet-in消息时,按照DDoS检测模块、溯源模块及抑制模块中任一个的判定结果对所述packet-in消息制定消息处理方法,其中,所述消息处理方法包括丢弃和存入。
本发明实施例的基于网络状态的抗DDoS控制器消息调度方法,通过获取网络安全状态,利用DDoS检测、溯源及抑制的结果,制定不同的消息调度方法,以避免控制器耗费大量资源处理由DDoS产生的OpenFlow消息,降低DDoS对控制器的影响,提高控制器抵抗DDoS的能力。
另外,根据本发明上述实施例的基于网络状态的抗DDoS控制器消息调度方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,利用DDoS检测模块检测SDN网络中是否存在DDoS,其中,若存在,则根据DDoS检测结果判断所述packet-in消息是否由DDoS产生,若是,则直接丢弃所述packet-in消息,反之,则将所述packet-in消息存入对应消息队列中;若不存在,则将所述packet-in消息直接存入对应用户消息队列中。
进一步地,在本发明的一个实施例中,当所述packet-in消息不是由DDoS产生时,则获取所述packet-in消息的交换机信息,根据所述交换机信息选择对应用户消息队列,将所述packet-in消息存入对应消息队列中。
进一步地,在本发明的一个实施例中,利用溯源模块检测所述packet-in消息信息中是否与DDoS溯源结果一致,其中,所述DDoS溯源结果包括DDoS源网络设备信息、源网络设备ID及源端口;当所述packet-in消息的源网络设备ID及源端口与所述DDoS溯源结果一致时,则根据DDoS检测结果判断所述packet-in消息是否由DDoS产生,若是,则直接丢弃所述packet-in消息,反之,则将所述packet-in消息存入对应用户消息队列中;若不一致,则将所述packet-in消息直接存入对应用户消息队列中。
进一步地,在本发明的一个实施例中,还包括:预估所述DDoS源网络设备对应消息队列中所有消息的等待时间,删除队列中等待时间大于预设阈值的消息。
进一步地,在本发明的一个实施例中,利用抑制模块对所述OpenFlow消息进行调度,得到DDoS抑制结果,其中,所述DDoS抑制结果包括已成功阻塞DDoS流量和未成功阻塞DDoS流量,若已成功阻塞DDoS流量,则不再检查收到所述packet-in消息是否由DDoS产生,将所有packet-in消息存入对应用户消息队列中;也不再判断DDoS源网络设备对应用户消息队列中存储的消息是否由DDoS产生。
进一步地,在本发明的一个实施例中,处理消息时,以轮询的方式依次取出各消息队列队首的消息进行处理。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一个实施例的基于网络状态的抗DDoS控制器消息调度方法的消息入队方法流程图。;
图2是本发明一个实施例的基于网络状态的抗DDoS控制器消息调度方法的消息出队方法流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的基于网络状态的抗DDoS控制器消息调度方法。
图1是本发明一个实施例的基于网络状态的抗DDoS控制器消息调度方法的消息入队方法流程图。
该基于网络状态的抗DDoS控制器消息调度方法包括以下步骤:
在步骤S1中,为每个交换机分别建立一个用户消息队列,以存储控制器接收到的packet-in消息;同时,为所有交换机创建一个管理消息队列,用于存储控制器收到的所有除packet-in消息之外的OpenFlow消息。
在步骤S2中,当接收到packet-in消息时,按照DDoS检测模块、溯源模块及抑制模块中任一个的判定结果对packet-in消息制定消息处理方法,其中,消息处理方法包括丢弃和存入。
具体地,下面通过四个实施例对本发明提出的基于网络状态的抗DDoS控制器消息调度方法进一步说明。
实施例一,如图1所示,当利用DDoS检测模块时,消息入队的具体步骤为:
步骤D1,控制器启动后,创建一个管理消息队列,用于存储控制器收到的除packet-in消息之外的OpenFlow消息,该队列记为QM;
步骤D3:当控制器接收到OpenFlow消息mi后,解析mi,获取消息mi的类型;
步骤D4,如果mi不是packet-in消息,则将mi存入网络管理消息队列QM的队尾,消息入队操作完成,否则转入步骤D5;
步骤D5:获取检测结果,包括DDoS攻击报文目的IP地址、源IP地址、目的端口、源端口、协议类型、报文大小等;
步骤D6:提取消息mi中的目的IP地址、源IP地址、目的端口、源端口、协议类型、报文大小等信息;
步骤D7:判断消息是否mi由DDoS产生,若是,转入步骤D8,否则,转入步骤D9;
步骤D8:丢弃消息mi;
步骤D9:获取发送mi消息的交换机的ID:Sid;
实施例二,如图1所示,当利用溯源模块时,消息入队的具体步骤为:
步骤D1,控制器启动后,创建一个用于存储网络管理消息的队列,该队列记为QM;
步骤D3:当控制器接收到OpenFlow消息mi后,解析mi,获取消息mi的类型;
步骤D4,如果mi不是packet-in消息,则将mi存入管理消息队列QM的队尾,消息入队操作完成;否则转入步骤D5;
步骤D5:获取DDoS溯源结果,包括DDoS攻击报文进入网络的第一个设备ID及端口ID,记为Sid、Pid;
步骤D6:提取mi的源网络设备ID及源端口信息;
步骤D7,如果mi的源网络设备ID及源端口信息与DDoS溯源结果不一致,则将mi存入网络管理消息队列QM的队尾,消息入队操作完成;否则转入步骤D8;
步骤D8:根据DDoS检测结果判断mi是否由DDoS产生,若是,则直接丢弃mi;否则,转入步骤D9
需要说明的是,控制器还预估DDoS源网络设备对应消息队列中所有消息的等待时间,删除队列中等待时间大于预设阈值的消息。
实施例三,如图1所示,当未检测到DDoS或已抑制DDoS时,消息入队的具体步骤为:
步骤D1,控制器启动后,创建一个用于存储网络管理消息的队列,该队列记为QM;
步骤D3:当控制器接收到OpenFlow消息mi后,解析mi;
步骤D4,如果mi不是packet-in消息,则将mi存入管理消息队列QM的队尾,消息入队操作完成;否则转入步骤D5;
步骤D5,获得发送mi消息的交换机的ID:Sid;
实施例四,如图2所示,消息出队的具体步骤为:
步骤D1:控制器检查网络管理消息的队列QM是否为空;
步骤D2:如果QM不为空,则控制器取出QM队列头部的消息进行处理,至此本轮消息出队结束,转入步骤D1;如果QM为空,则转入步骤D3;
步骤D3:控制器检查用户请求消息队列QU是否为空;
步骤D4:如果QU为空,则没有消息需要处理,转入步骤D5;如果QU不为空,则转入步骤D6;
步骤D5:控制器等待一段时间t后,转入步骤D1;
需要说明的是,该实施例中采用轮询方法计算待取出的用户请求消息子队列,但此方法仅用来对本发明中的检测算法进行说明,本发明中的子队列计算方法不限于此方法。
根据本发明实施例提出的基于网络状态的抗DDoS控制器消息调度方法,根据DDoS检测、溯源及抑制的结果自适应地完成不同环境下的控制器消息调度,达到提高控制器抵抗DDoS能力的目的,以避免控制器耗费大量资源处理由DDoS产生的OpenFlow消息,降低DDoS对控制器的影响,提高控制器抵抗DDoS的能力。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (4)
1.一种基于网络状态的抗DDoS控制器消息调度方法,其特征在于,包括以下步骤:
为每个交换机分别建立一个用户消息队列,以存储控制器接收到的packet-in消息,为所有交换机创建一个管理消息队列,以存储控制器接收到的除packet-in消息之外的所有OpenFlow消息;
当接收到所述packet-in消息时,按照DDoS检测模块、溯源模块及抑制模块中任一个的判定结果对所述packet-in消息制定消息处理方法,其中,所述消息处理方法包括丢弃和存入,其中,
利用DDoS检测模块检测SDN网络中是否存在DDoS,其中,若存在,则根据DDoS检测结果判断所述packet-in消息是否由DDoS产生,若是,则直接丢弃所述packet-in消息,反之,则将所述packet-in消息存入对应消息队列中;若不存在,则将所述packet-in消息直接存入对应消息队列中;
当所述packet-in消息不是由DDoS产生时,则获取所述packet-in消息的交换机信息,根据所述交换机信息选择对应用户消息队列,将所述packet-in消息存入对应消息队列中;
利用溯源模块检测所述packet-in消息信息中是否与DDoS溯源结果一致,其中,所述DDoS溯源结果包括DDoS源网络设备信息、源网络设备ID及源端口;
当所述packet-in消息的源网络设备ID及源端口与所述DDoS溯源结果一致时,则根据DDoS检测结果判断所述packet-in消息是否由DDoS产生,若是,则直接丢弃所述packet-in消息,反之,则将所述packet-in消息存入对应用户消息队列中;若不一致,则将所述packet-in消息直接存入对应消息队列中;
当所述OpenFlow消息的DDoS源网络设备与所述DDoS溯源结果一致时,则根据DDoS检测结果判断所述OpenFlow消息是否由DDoS产生,若是,则只取出所述OpenFlow消息,不作处理,反之,则将所述OpenFlow消息存入对应消息队列中;若不一致,则将所述OpenFlow消息直接存入对应消息队列中。
2.根据权利要求1所述的基于网络状态的抗DDoS控制器消息调度方法,其特征在于,还包括:
预估所述DDoS源网络设备对应用户消息队列中所有消息的等待时间,删除队列中等待时间大于预设阈值的消息。
3.根据权利要求1所述的基于网络状态的抗DDoS控制器消息调度方法,其特征在于,
利用抑制模块对所述OpenFlow消息进行调度,得到DDoS抑制结果,其中,所述DDoS抑制结果包括已成功阻塞DDoS流量和未成功阻塞DDoS流量,
若已成功阻塞DDoS流量,则不再检查收到所述OpenFlow消息是否由DDoS产生,将所有OpenFlow消息存入对应消息队列中;
也不再判断DDoS源网络设备对应消息队列中存储的消息是否由DDoS产生,将所有OpenFlow消息存入对应消息队列中。
4.根据权利要求1所述的基于网络状态的抗DDoS控制器消息调度方法,处理消息时,以轮询的方式依次取出各消息队列队首的消息进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011602933.XA CN112804198B (zh) | 2020-12-29 | 2020-12-29 | 基于网络状态的抗DDoS控制器消息调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011602933.XA CN112804198B (zh) | 2020-12-29 | 2020-12-29 | 基于网络状态的抗DDoS控制器消息调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112804198A CN112804198A (zh) | 2021-05-14 |
CN112804198B true CN112804198B (zh) | 2022-11-04 |
Family
ID=75804228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011602933.XA Active CN112804198B (zh) | 2020-12-29 | 2020-12-29 | 基于网络状态的抗DDoS控制器消息调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112804198B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT202100025925A1 (it) | 2021-10-08 | 2023-04-08 | Phoenix ICT | Metodo e sistema anti ddos per la gestione dinamica di una risorsa attiva |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104539625A (zh) * | 2015-01-09 | 2015-04-22 | 江苏理工学院 | 一种基于软件定义的网络安全防御系统及其工作方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109962879B (zh) * | 2017-12-22 | 2021-12-03 | 中国电信股份有限公司 | 针对分布式反射拒绝服务DRDoS的安全防御方法和控制器 |
CN108683682B (zh) * | 2018-06-04 | 2021-01-01 | 上海交通大学 | 一种基于软件定义网络的DDoS攻击检测及防御方法和系统 |
CN109450941B (zh) * | 2018-12-25 | 2021-07-23 | 安捷光通科技成都有限公司 | 一种抗DDoS的SDN控制器消息调度方法 |
CN109617931B (zh) * | 2019-02-20 | 2020-11-06 | 电子科技大学 | 一种SDN控制器的DDoS攻击防御方法及防御系统 |
CN110113328B (zh) * | 2019-04-28 | 2021-01-15 | 武汉理工大学 | 一种基于区块链的软件定义机会网络DDoS防御方法 |
-
2020
- 2020-12-29 CN CN202011602933.XA patent/CN112804198B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104539625A (zh) * | 2015-01-09 | 2015-04-22 | 江苏理工学院 | 一种基于软件定义的网络安全防御系统及其工作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112804198A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6958998B2 (en) | Traffic management in packet-based networks | |
US7872973B2 (en) | Method and system for using a queuing device as a lossless stage in a network device in a communications network | |
JP4410467B2 (ja) | キャッシュ入力の選択方法および装置 | |
Wei et al. | FlowRanger: A request prioritizing algorithm for controller DoS attacks in Software Defined Networks | |
CN109496410B (zh) | 一种用于在网络设备中处理分组的方法及网络设备 | |
US6118760A (en) | Management of entries in a network element forwarding memory | |
US8565092B2 (en) | Dynamic flow redistribution for head of line blocking avoidance | |
US9485155B2 (en) | Traffic analysis of data flows | |
US8300525B1 (en) | Managing a flow table | |
US8234401B2 (en) | Adaptive policers responsive to utilization levels of a resource | |
US7324442B1 (en) | Active queue management toward fair bandwidth allocation | |
CN101083563A (zh) | 一种防分布式拒绝服务攻击的方法及设备 | |
WO2011012023A1 (zh) | 一种网络处理器输出端口队列的管理方法及系统 | |
WO2015107385A2 (en) | Methods and network device for oversubscription handling | |
EP1417795B1 (en) | Switching node with classification-dependent mac buffer control | |
JP2002111742A (ja) | データ伝送フローのパケットをマークするための方法およびこの方法を実行するマーカデバイス | |
US20060176893A1 (en) | Method of dynamic queue management for stable packet forwarding and network processor element therefor | |
US20070140282A1 (en) | Managing on-chip queues in switched fabric networks | |
CN112804198B (zh) | 基于网络状态的抗DDoS控制器消息调度方法 | |
US8195754B2 (en) | Unsolicited message communication characteristics | |
CN111108728B (zh) | 对报文进行处理方法及装置 | |
CN114157609B (zh) | Pfc死锁检测方法及装置 | |
US10320686B2 (en) | Load balancing eligible packets in response to a policing drop decision | |
CN112702226B (zh) | 环路检测方法、装置、设备及计算机可读存储介质 | |
CN109450941B (zh) | 一种抗DDoS的SDN控制器消息调度方法 |
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 |