在软件定义网络(SDN)中,若控制节点发生不可恢复的故障,则相关交换机需向其他控制节点迁移,这将导致网络性能下降。针对这一问题,该文提出一种考虑SDN控制节点故障的控制器部署和交换机迁移方法。与现有算法仅优化交换机迁移方法不同,该方法同时考虑控制器部署位置的影响。首先利用标号传播算法构造备选子集并划分双层子集,然后在每个子集中选取合适位置部署控制器,最后为子集内节点分配相应的master和slave控制器。实验结果表明,与现有算法相比,所提方法可有效解决交换机迁移后控制器超载的问题;通过调整参数,权衡控制器故障前后网络性能,可明显改善交换机迁移后的控制链路平均时延。
In Software-Defined Networking (SDN), if a controller has unrecoverable failure, the related switches immigrate to other controllers, which degrades network performance. Concerning the above problem, a strategy of controller placement and switch immigration is proposed for controller failure. Different from the present algorithms which only optimize switch immigration method, the proposed strategy also considers the influence of controller placement. Firstly, Label Propagation Algorithm (LPA) is used to construct alternate domains set and partition bilayer domains. Then, one controller is placed in each domain on properly selected situation. Finally, the switches are assigned to corresponding master and slave controllers. The experimental results show that controller overloading problem is well solved compared with the present algorithms. Network performance before and after failure can be traded off by adjusting parameters, which decreases average control path latency after switch immigration.