与传统网络相比,SDN的特点在于将控制平面与数据平面解耦的新型网络架构。数据平面主要由物理转发设备组成如交换机,而控制器运行的控制平面则负责根据逻辑上集中的网络视图控制整个网络。数据平面和控制平面通过南向协议进行通信。转发设备是重要的网络基础设施,即数据平面的交换机和控制平面的控制器。控制器通过南向协议安装、修改和删除交换机的流规则,而交换机则根据流规则转发数据包。CPU对于转发设备而言最重要的资源,决定了设备的处理能力。SDN集中控制和可编程的特性给网络管理带来了灵活性的同时,SDN仍面临许多安全威胁,例如DDoS攻击。目前,现有的许多针对DDoS攻击的防御方案都是从攻击检测的角度提出的,这种防御方案存在着耗时和准确性不高的问题。此外,在采取具体的应对措施之前,DDoS攻击可能已经导致网络服务不可用,而无法施行原定的防御方案。
为此,我们提出了一种有效的静态资源投入策略,用于防御通过延迟流规则的安装时间影响QoS的DDoS攻击。我们首次提出将M/M/c排队论模型应用于评估交换机和控制器的资源对流规则安装过程的影响,并将交换机在网络拓扑中的不同位置导致的对于资源投入的不同需求作为参数,引入评估模型。
设计与实现
非攻击场景下交换机和控制器意味着队列中都是良性用户的数据包,并由交换机和控制器提供服务。只要数据流不使交换机和控制器过载,就可以正常运行。一般来说,QoS对于良性且数量稳定的用户是足够的。
当DDoS攻击到达交换机或控制器时,僵尸网络生成大量伪造数据包注入SDN网络。交换机和控制器的处理能力会影响流规则的安装。这表明要完成数据包处理和流规则安装的任务并保证网络的QoS,必须对交换机和控制器投入足够的资源。如果已知网络拓扑结构的相关信息,那么我们便可以对每个交换节点承载的流量上限进行估算。一旦我们知道交换机和控制器要处理的流量和整个数据流处理所需的时间的阈值,我们就可以确定抵御相应DDoS攻击所需要投入的交换机和控制器的CPU数量。
基于攻击数据包的负载量,我们可以对交换机和控制器上CPU的合理数量进行估算。因为僵尸网络可以发起的攻击负载是有限的,故而可以推断,击败攻击所需的资源数量是可以承受的。因此,期望通过精心设计的资源管理机制,抵御DDoS攻击是合理的。
为了对系统建模,我们首先描述了拓扑对流量分布的影响。而后,基于排队论提出了一个实用的数学模型来估计抵御DDoS攻击的资源需求。根据这个模型,用最少的资源,保证安装流规则所需的时间在安全阈值范围内,即保证SDN网络运行的QoS。
为确保我们的建模、分析和实验的实用性和可行性,我们做出以下合理假设:
(1)无论是在非攻击还是攻击情况下,网络流量都是恒定且稳定的。事实上,并非所有数据包在攻击场景下都是恶意的。
(2)交换机和控制器的数据包到达服从泊松分布。普遍的认知是数据包到达符合泊松分布。此外,假设即使是在DDoS攻击场景下,数据包到达也符合泊松分布是合理的。
(3)交换机和控制器的服务率服从指数分布。
(4)交换机和控制器的缓冲区是无限的。
基于上述分析和假设,通过利用由泊松到达排队过程、无限缓冲区和服务率服从指数分布的c个服务器组成的M/M/c排队模型来对SDN网络系统进行形式化建模是合理的。下面是利用M/M/c排队模型来评估SDN抗DDoS攻击的能力的具体设计内容。
首先,我们针对网络拓扑结构对流量分布的影响进行了研究。交换机的位置在数据中心的给定拓扑中是确定的。从一个边缘交换机到另一个边缘交换机可能存在多个可达路径,并且控制器也可能下发不同的路由策略。在网络中,数据流从源主机流向目标主机,根据不同的路由策略,数据流经过的交换机也不同。用s表示连接到源主机的边缘交换机,用d表示连接到目的主机的边缘交换机,如图所示。从s到d,存在β(s,d)条可达路径。根据交换机上的流规则,从s到d的数据流每次都流经β(s,d)条路径中的某一条,用γi((s,d)表示在这β(s,d)条路径之中,选择路径i的概率。
一般情况下,一台终端主机可以向网络中的其他多个终端主机发送数据流。因此,假定源边缘交换机为交换机s,同时交换机d为网络中其他任意一台不为s的可达的目的边缘交换机。如果此时网络中的边缘交换机数量总共为n时,就可认为边缘交换机s可以向其他n – 1个边缘交换机发送数据流。简化地认为,源边缘交换机发送数据流到其他任意一台目的边缘交换机的概率是相等的,该概率标记为ξ(s,d)。用yj(s,d)表示当数据流由源边缘交换机s发往目的边缘交换机d时,交换机j是否是此次数据流转发过程中转发路径上经过的节点。
在已知网络拓扑结构的情况下,从一个边缘交换机到另一个边缘交换机可能存在多条可达路径,并根据路由策略决定流经的交换机。对于源边缘交换机s,有任何其他可到达的目的地边缘交换机d,整个网络中的边缘交换机数量为n。假设源边缘交换机向其他边缘交换机发送数据流的概率相同,则可计算得到该概率为
而后,在考虑SDN网络拓扑结构基础上,利用M/M/c排队模型来评估SDN抗DDoS攻击的能力。如前所述,SDN网络中的流规则安装需要交换机和控制器的合作。当一个新的数据流到达交换机时,它生成一个packet_in消息并将其发送给控制器。控制器根据路由策略来处理并产生flow_mod消息发回给交换机。最后,交换机在收到消息后安装流规则。下图显示了整个过程的结构,其中主要包括交换机和控制器上的排队过程。在消息处理过程中,QoS与CPU的性能密切相关,故而我们主要讨论CPU的数量对处理消息的影响,对交换机和控制器进行建模分析。
DDoS攻击发生时,数据流从边缘交换机进入网络,新数据流的到达率ae符合泊松定律。每个边缘交换机上新数据包的到达率之和就是控制器收到的packet_in消息的到达率τ。
SDN网络中控制器上所有CPU的总服务速率表示为μcon;控制器上CPU的利用率表示为ρcon,即控制器上消息的到达速率与CPU的服务速率的比值。
如果ρcon<1,则意味着整个软件定义网络系统处于稳定状态,故而可基于M/M/c排队模型计算得出当队列中无数据包等待服务时的概率π0为
基于M/M/c模型和Little公式可计算出控制器处理数据包的平均等待时间tcon为
在流规则的安装过程中,与终端主机相连的边缘交换机上的数据流主要包括两种:一种是会导致packet_in消息生成的新数据流;另一种是接收到的控制器发出的flow_mod消息数据流。与此同时,网络内部交换机(即非边缘交换机)主要需要处理的数据流只包含控制器发出的flow_mod消息。正常良性有匹配的数据流对交换机CPU的影响在本研究中是可以忽略不计的。交换机j上flow_mod消息的到达速率表示为fj。
数据流在交换机j上的总到达速率为
交换机整体的服务速率视为交换机在处理flow_mod消息时的服务速率与生成packet_in消息时的服务速率的加权平均数。
式中的ppacketin和pflowmod分别表示会生成packet_in消息的新数据流在交换机收到的所有数据流中所占的比例和flow_mod消息在交换机收到的所有数据流中所占的比例,二者的值为
SDN网络中的任意一个交换机节点j的利用率ρj可表示为
基于M/M/c排队模型,当交换机j的队列中无数据包等待服务时的概率πj0为
同理,可得交换机j上的平均等待时间tj,以及流表安装过程的总时长ttotal。
故而,为了保证QoS,总时长必须小于指定阈值T0,并满足以下条件。
评估与讨论
我们通过一系列实验评估提出的DDoS防御机制,验证模型的正确性,并讨论到达率、服务率和CPU数量对流规则安装处理过程的影响。首先对所提出的抗DDoS的资源投入评估数学模型与真实SDN网络中的情况进行了对比验证。结果证明,实际等待时间与理论等待时间的误差在合理范围内,证明了我们的评估模型的正确性。