CN112804198B - 基于网络状态的抗DDoS控制器消息调度方法 - Google Patents

基于网络状态的抗DDoS控制器消息调度方法 Download PDF

Info

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
Application number
CN202011602933.XA
Other languages
English (en)
Other versions
CN112804198A (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.)
Guizhou University
Original Assignee
Guizhou University
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 Guizhou University filed Critical Guizhou University
Priority to CN202011602933.XA priority Critical patent/CN112804198B/zh
Publication of CN112804198A publication Critical patent/CN112804198A/zh
Application granted granted Critical
Publication of CN112804198B publication Critical patent/CN112804198B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04L63/1458Denial 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控制器消息调度方法
技术领域
本发明涉及网络通信技术领域,特别涉及一种基于网络状态的抗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
步骤D2,控制器创建用于存储用户请求消息的队列
Figure BDA0002869344410000031
该队列由多个子队列
Figure BDA0002869344410000032
组成,子队列
Figure BDA0002869344410000033
对应网络中的第i个交换机,用于存储该交换机的用户请求消息;
步骤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
步骤D10:根据Sid获取对应的用户请求消息子队列
Figure BDA0002869344410000034
步骤D11:将mi存入用户请求消息子队列
Figure BDA0002869344410000041
的队尾,程序结束。
实施例二,如图1所示,当利用溯源模块时,消息入队的具体步骤为:
步骤D1,控制器启动后,创建一个用于存储网络管理消息的队列,该队列记为QM
步骤D2,控制器创建用于存储用户请求消息的队列
Figure BDA0002869344410000042
该队列由多个子队列
Figure BDA0002869344410000043
组成,子队列
Figure BDA0002869344410000044
对应网络中的第i个交换机,用于存储该交换机的用户请求消息;
步骤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
步骤D9:将mi存入用户请求消息子队列
Figure BDA0002869344410000045
的队尾,程序结束。
需要说明的是,控制器还预估DDoS源网络设备对应消息队列中所有消息的等待时间,删除队列中等待时间大于预设阈值的消息。
实施例三,如图1所示,当未检测到DDoS或已抑制DDoS时,消息入队的具体步骤为:
步骤D1,控制器启动后,创建一个用于存储网络管理消息的队列,该队列记为QM
步骤D2,控制器创建用于存储用户请求消息的队列
Figure BDA0002869344410000046
该队列由多个子队列
Figure BDA0002869344410000047
组成,子队列
Figure BDA0002869344410000048
对应网络中的的第i个交换机,用于存储该交换机的用户请求消息;
步骤D3:当控制器接收到OpenFlow消息mi后,解析mi
步骤D4,如果mi不是packet-in消息,则将mi存入管理消息队列QM的队尾,消息入队操作完成;否则转入步骤D5;
步骤D5,获得发送mi消息的交换机的ID:Sid
步骤D6:根据Sid获取对应的用户请求消息子队列
Figure BDA0002869344410000051
步骤D7:将mi存入用户请求消息子队列
Figure BDA0002869344410000052
的队尾,程序结束。
实施例四,如图2所示,消息出队的具体步骤为:
步骤D1:控制器检查网络管理消息的队列QM是否为空;
步骤D2:如果QM不为空,则控制器取出QM队列头部的消息进行处理,至此本轮消息出队结束,转入步骤D1;如果QM为空,则转入步骤D3;
步骤D3:控制器检查用户请求消息队列QU是否为空;
步骤D4:如果QU为空,则没有消息需要处理,转入步骤D5;如果QU不为空,则转入步骤D6;
步骤D5:控制器等待一段时间t后,转入步骤D1;
步骤D6:使用轮询方法计算下一待取出的用户请求消息子队列
Figure BDA0002869344410000053
步骤D7:取出
Figure BDA0002869344410000054
队列头部存储的OpenFlow消息进行处理,本轮消息出队结束,转入步骤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控制器消息调度方法,处理消息时,以轮询的方式依次取出各消息队列队首的消息进行处理。
CN202011602933.XA 2020-12-29 2020-12-29 基于网络状态的抗DDoS控制器消息调度方法 Active CN112804198B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104539625A (zh) * 2015-01-09 2015-04-22 江苏理工学院 一种基于软件定义的网络安全防御系统及其工作方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
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防御方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
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