一种抗DDoS的SDN控制器消息调度方法技术

技术编号:20550176 阅读:93 留言:0更新日期:2019-03-09 22:27
本发明专利技术公开了一种抗DDoS的SDN控制器消息调度方法,通过分析网络中出现DDoS时,SDN控制器接收到的OpenFlow消息的出现频率及重要性,将SDN控制器接收到的OpenFlow消息分为用户请求消息及网络管理消息两类。SDN控制器接收到OpenFlow消息时,判断其类型,若为用户请求消息,则将其存入用户请求消息队列,若为网络管理消息,则将其存入网络管理消息队列。处理OpenFlow消息时,SDN控制器优先处理网络管理消息队列中的消息。本发明专利技术设计的方案为抗DDoS的控制器消息调度方法,能够避免因网络管理消息得不到及时处理出现的网络错误。

【技术实现步骤摘要】
一种抗DDoS的SDN控制器消息调度方法
本专利技术涉及网络通信
,特别是涉及一种抗DDoS的SDN控制器消息调度方法。
技术介绍
分布式拒绝服务攻击(DistributedDenialofService,DDoS)是严重威胁网络安全的问题之一,其利用大量终端平台同时请求单一或少数目标的资源,达到耗尽目标资源,使目标不能提供正常服务的目的,具有易于发起、难以防御、危害性大的特点。软件定义网络(SoftwareDefinedNetwork,SDN)是一种控制与转发相分离的网络架构,其将网络中的控制功能逻辑性地集中在了统一的控制器上,具有集中化的控制、开放的网络接口、支持网络虚拟化等优点。SDN已经应用于数据中心、物联网、广域网等领域,得到了学术界及工业界的广泛认可,被认为是有可能取代传统网络的网络架构之一。作为一种新型的网络架构,SDN同样面临着严峻的威胁,DDoS就是SDN面临的严重网络安全问题之一。与传统网络不同,SDN解耦了传统网络设备的转发功能与控制功能,SDN的这种结构使得出现DDoS时,不但SDN网络设备会受到DDoS的影响,SDN控制器也将收到大量的网络设备发送的OpenFlow消息。鉴于SDN控制器正是通过处理网络设备发送的OpenFlow消息管控网络设备,同时上述OpenFlow消息具有不同的类型、来自不同的网络设备、实现不同的功能,因此上述OpenFlow消息具有不同的重要程度。如果不能合理地分配上述OpenFlow消息的处理顺序,会导致控制器不能接收某些重要的OpenFlow消息(如网络拓扑变化消息、网络设备错误消息等),使得控制器不能及时掌握网络的变化情况,影响SDN控制器对网络的管控能力。在SDN中出现DDoS时,使用合理的控制器消息调度方法能够避免因某些OpenFlow消息得不到及时处理导致的网络错误,延长SDN网络的生存时间。
技术实现思路
为解决现有技术中存在的问题,本专利技术提供了一种抗DDoS的SDN控制器消息调度方法,通过分析出现DDoS时SDN控制器收到的OpenFlow消息的出现频率及重要性,以达到避免某些重要的OpenFlow消息得不到及时处理而导致的网络错误,进而延长出现DDoS时SDN网络的生存时间。本专利技术采用的技术方案是:一种抗DDoS的SDN控制器消息调度方法,该方法通过将SDN控制器收到的OpenFlow消息划分为用户请求消息及网络管理消息,依据消息类型进行消息入队及出队操作。该方法由消息入队方法及消息出队方法组成。所述消息入队方法具体步骤包括:S1:控制器启动后,建立网络管理消息队列,网络管理消息队列为单个队列,用于存储网络管理消息;S2:所述控制器建立用户请求消息队列,该队列包含多个子队列,每个子队列对应一个交换机,用于存储相应交换机发送的OpenFlow消息;S3:所述控制器收到OpenFlow消息后,解析该OpenFlow消息,获取此消息的类型;S4:如果所述OpenFlow消息不是packet-in消息,进入步骤S5;如果所述OpenFlow消息是packet-in消息,进入步骤S6;S5:将所述OpenFlow消息存入网络管理消息队列的队尾,程序结束;S6:所述控制器解析packet-in消息,获取发送所述packet-in消息的交换机的ID;S7:根据所述发送packet-in消息的交换机的ID,将所述packet-in消息存入此交换机对应的用户请求消息子队列的队尾,程序结束。所述消息出队方法具体步骤包括:C1:控制器检查网络管理消息队列是否为空;C2:如果所述网络管理消息队列不为空,控制器取出并处理网络管理消息队列头部的消息,返回步骤C1;如果所述网络管理消息队列为空,进入步骤C3;C3:所述控制器检查用户请求消息队列是否为空;C4:如果所述用户请求消息队列为空,进入步骤C5,否则进入步骤C6;C5:等待一段时间后,返回步骤C1;C6:所述控制器计算待处理的下一用户请求消息子队列号;C7:所述控制器取出并处理位于所述用户请求消息子队列头部的消息,本轮消息出队结束,返回步骤C1。本专利技术的有益效果是:本专利技术通过分析SDN中出现DDoS时控制器接收到的OpenFlow消息的出现频率及重要程度,将其分为用户请求消息及网络管理消息,为上述消息分别设计了存储及调度方法,因此,本专利技术能够避免网络中出现因某些类型的OpenFlow消息得不到处理而导致的网络错误,延长出现DDoS时SDN网络的生存时间。附图说明图1为本专利技术实施例中一种抗DDoS的控制器消息调度方法的消息入队方法流程图;图2为本专利技术实施例中一种抗DDoS的控制器消息调度方法的消息出队方法流程图。具体实施方式下面结合附图对本专利技术做进一步说明,所举实例仅用于解释本专利技术,并非用于限定本专利技术的范围。实施例如图1所示,本专利技术实施例中一种抗DDoS的控制器消息调度方法的消息入队方法,其具体步骤为:E1:控制器启动后,创建一个用于存储网络管理消息的队列,该队列记为QMMSF;E2:控制器创建用于存储用户请求消息的队列QRUR,该队列由多个子队列组成,每个子队列对应网络中的一个交换机;E3:控制器接收到OpenFlow消息mj后,解析mj,获取消息mj的类型pj;E4:如果mj不是packet-in消息,则将mj存入网络管理消息队列QMMSF的队尾,消息入队操作完成;否则转入步骤E5;E5:获取发送消息mj的交换机的ID:Ns;E6:根据Ns获取对应的用户请求消息子队列E7:将mj存入用户请求消息子队列的队尾,程序结束。如图2所示,本专利技术实施例中一种抗DDoS的控制器消息调度方法的消息出队方法,其具体步骤为:F1:控制器检查网络管理消息的队列QMMSF是否为空;F2:如果QMMSF不为空,则控制器取出QMMSF队列头部的消息进行处理,至此本轮消息出队结束,返回步骤F1;如果为空,则进入步骤F3;F3:控制器检查用户请求消息队列QRUR是否为空;F4:如果QRUR为空,则没有消息需要处理,进入步骤F5;如果QRUR不为空,则进入步骤F6;F5:控制器等待一段时间t后,返回步骤F1;F6:使用轮询方法计算下一待取出的用户请求消息子队列F7:取出队列头部存储的OpenFlow消息进行处理,本轮消息出队结束,返回步骤F1。本实施例中采用轮询方法计算待取出的用户请求消息子队列,但此方法仅用来对本专利技术中的检测算法进行说明,本专利技术中的子队列计算方法不限于此方法。对于本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变形和改进,这些都属于本专利技术的保护范围。本文档来自技高网
...

【技术保护点】
1.一种抗DDoS的SDN控制器消息调度方法,其特征在于,包括消息入队方法和消息出队方法;其中,消息入队方法包括如下步骤:a10:创建网络管理消息队列,用于存储监控、管理网络或实现特殊功能消息;a20:创建用户请求消息队列,用于存储用户请求消息;a30:接收OpenFlow消息,确定OpenFlow消息类型;a40:按照OpenFlow消息类型,确定每个OpenFlow消息应存入的消息队列;消息出队方法包括如下步骤:b10:判断网络管理消息队列是否为空,若是,进入步骤b20;若不是,取出并处理网络管理消息队列头部的消息,返回步骤b10;b20:判断用户请求消息队是否为空,若是,等待一段时间,返回步骤b10;若不是,则进入步骤b30;b30:计算待处理的下一用户请求消息子队列号;b40:取出并处理位于用户请求消息子队列头部的消息,本轮消息出队结束,返回步骤b10。

【技术特征摘要】
1.一种抗DDoS的SDN控制器消息调度方法,其特征在于,包括消息入队方法和消息出队方法;其中,消息入队方法包括如下步骤:a10:创建网络管理消息队列,用于存储监控、管理网络或实现特殊功能消息;a20:创建用户请求消息队列,用于存储用户请求消息;a30:接收OpenFlow消息,确定OpenFlow消息类型;a40:按照OpenFlow消息类型,确定每个OpenFlow消息应存入的消息队列;消息出队方法包括如下步骤:b10:判断网络管理消息队列是否为空,若是,进入步骤b20;若不是,取出并处理网络管理消息队列头部的消息,返回步骤b10;b20:判断用户请求消息队是否为空,若是,等待一段时间,返回步骤b10;若不是,则进入步骤b30;b30:计算待处理的下一用户请求消息子队列号;b40:取出并处理位于用户请求消息子队列头部的消息,...

【专利技术属性】
技术研发人员:闫连山崔允贺李赛飞李洪赭
申请(专利权)人:安捷光通科技成都有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1