软件定义网络(Software Defined Networking,SDN)作为一种新兴的网络范式,在带来便利性的同时也引入了更为严峻的分布式拒绝服务攻击(Distributed Denial of Service Attacks,DDoS)风险。现有的模型通常是使用机器学习模型来检测DDoS攻击,忽略了模型给SDN控制器带来的额外开销。为了更加高效且精确地检测DDoS攻击,文章采取了多级检测模块的方式,即一级模块通过计算当前流量窗口的联合熵快速检测异常,二级模块采用半监督模型,并使用特征选择、multi-training算法、多重聚类等技术,通过训练多个局部模型提高检测性能。与现有的其他模型相比,该模型在多个数据集上均表现更好,拥有更好的检测精度和泛化能力。