Research on Multi-controller Deployment Strategy Based on Latency and Load in Software Defined Network
-
摘要: 多控制器体系结构的出现,解决了经典软件定义网络(SDN)架构控制层以单一集中控制器为主,在大规模网络环境中的可扩展性问题。在多控制器体系结构中,由于生成转发规则并将其填充到交换机的任务被委托给了控制器,网络的性能在很大程度上取决于控制器的放置。该文以降低总时延和均衡控制器间负载为目标,提出了一种基于子网划分的多控制器部署算法(MCPA)。该算法改造谱聚类算法以保证网络连通性并加入离群点处理算法和负载均衡处理算法。仿真结果表明,该算法能够有效地对网络进行划分,在保证网络总时延较低的情况下使各个控制器的负载保持均衡。Abstract: The emergence of the multi-controller architecture solves the scalability problem of the classic Software Defined Networking (SDN) architecture with a single centralized controller as the main control layer. In a multi-controller architecture, since the task of generating forwarding rules and filling them into the switch is delegated to the controller, the performance of the network depends largely on the placement of the controller. To reduce the total delay and balance the load among controllers, a Multi-Controller Placement Algorithm (MCPA) based on subnetting is proposed. This algorithm modifies the spectral clustering algorithm to ensure network connectivity and adds outlier processing algorithm and load balancing processing algorithm. The simulation results show that the algorithm can effectively divide the network and keep the load of each controller balanced while ensuring a low total network delay.
-
Key words:
- Software Defined Network (SDN) /
- Controller placement /
- Total latency /
- Load balancing
-
表 1 基于时延和负载的多控制器部署算法
输入:网络拓扑图$G = (V,E)$,交换机请求速率${\mu _{m,n}}$,控制器
处理速率${\lambda _n}$,子网个数$k$输出:质心集合${\rm{Cen}}$、交换机集合${\rm{CV}}$ 输出:质心集合 (1)${\rm{Map}} \leftarrow {\rm{Graph}}(G)$ (2)$W \leftarrow {\rm{Map}}{\rm{.similarity\_matrix}}$ (3)$D \leftarrow {\rm{get} }\,D(W)$ (4)$L \leftarrow D - W$ (5)$X \leftarrow {D^{ - 1/2}}L{D^{1/2}}$ (6)$({\rm{eigvals,eigvect}}) \leftarrow {\rm{getEigVec}}(X)$ (7)$F \leftarrow $$k$${\rm{eigvect}}$ for smallest ${\rm{egivals}}$ (8)$H \leftarrow {D^{ - 1/2}}F$ (9)${\rm{inCen}} \leftarrow {\rm{initCenter}}(H,k)$ (10) for each $i \in V$do (11) ${\rm{di}}{{\rm{s}}_i} \leftarrow {\rm{e2eDis}}(i,{\rm{inCen}})$ (12) while(Quilter)do (13) for each $i \in V$ do (14) ${\rm{CV}} \leftarrow {\rm{assign}}({\rm{di}}{{\rm{s}}_i},{\rm{inCen}})$ (15) for each$m \in \left\{ {1,2, \cdots ,k} \right\}$ do (16) while(${\rm{C}}{{\rm{V}}_m}$) do (17) ${\rm{newDis}} \leftarrow {\rm{e2eDis}}()$, ${\rm{total}} \leftarrow {\rm{e2eSum}}()$ (18) end while (19) ${\rm{Cen}} \leftarrow {\rm{realCenter}}({\rm{inCen,total}})$ (20) for each $i \in {\rm{CV}}$do (21) ${\rm{radios}} \leftarrow {\rm{getRadios}}()$ (22) if ${\rm{e2eDis}}(v,{\rm{cen}}) > {\rm{radios}}$ (23) ${\rm{sub}} \leftarrow {\rm{reassign}}$ (24) end while (25) for each $i \in {\rm{CV}}$ do (26) ${F_i} \leftarrow {\rm{Eq}}(12)$ (27) while ${\rm{BLP}} - 1 > \varepsilon $ do (28) ${\rm{BF}} \leftarrow {\rm{find}}()$ (29) ${\rm{nCen}} \leftarrow {\rm{neginer}}({\rm{BF}})$,${\rm{lastN}} \leftarrow {\rm{findNode}}()$ (30) ${\rm{nDis}} \leftarrow {\rm{e2eDis(lastN,nCen)}}$, ${F_{{\rm{new}}}} \leftarrow {\rm{eq}}(12)$ (31) if ${F_{{\rm{new}}}} < {F_i}$ then (32) ${\rm{newCV}} \leftarrow {\rm{reAssign}}()$ (33) end while -
[1] 张朝昆, 崔勇, 唐翯祎, 等. 软件定义网络(SDN)研究进展[J]. 软件学报, 2015, 26(1): 62–81. doi: 10.13328/j.cnki.jos.004701ZHANG Chaokun, CUI Yong, TANG Heyi, et al. State-of-the-art survey on software-defined networking (SDN)[J]. Journal of Software, 2015, 26(1): 62–81. doi: 10.13328/j.cnki.jos.004701 [2] NUNES B A A, MENDONCA M, NGUYEN X N, et al. A survey of software-defined networking: Past, present, and future of programmable networks[J]. IEEE Communications Surveys & Tutorials, 2014, 16(3): 1617–1634. doi: 10.1109/SURV.2014.012214.00180 [3] HELLER B, SHERWOOD R, and MCKEOWN N. The controller placement problem[C]. The 1st Workshop on Hot Topics in Software Defined Networks, Helsinki, Finland, 2012: 7–12. [4] ZHANG Bang, WANG Xingwei, and HUANG Min. Multi-objective optimization controller placement problem in internet-oriented software defined network[J]. Computer Communications, 2018, 123: 24–35. doi: 10.1016/j.comcom.2018.04.008 [5] GAO Chuangen, WANG Hua, ZHU Fangjin, et al. A particle swarm optimization algorithm for controller placement problem in software defined network[C]. The 15th International Conference on Algorithms and Architectures for Parallel Processing, Zhangjiajie, China, 2015: 44–54. [6] JALILI A, KESHTGARI M, and AKBARI R. Optimal controller placement in large scale software defined networks based on modified NSGA-II[J]. Applied Intelligence, 2018, 48(9): 2809–2823. doi: 10.1007/s10489-017-1119-5 [7] 史久根, 邾伟, 贾坤荥, 等. 软件定义网络中基于负载均衡的多控制器部署算法[J]. 电子与信息学报, 2018, 40(2): 455–461. doi: 10.11999/JEIT170464SHI Jiugen, ZHU Wei, JIA Kunying, et al. Multi-controller deployment algorithm based on load balance in software defined network[J]. Journal of Electronics &Information Technology, 2018, 40(2): 455–461. doi: 10.11999/JEIT170464 [8] CHENG Guozhen, CHEN Hongchang, WANG Zhiming, et al. DHA: Distributed decisions on the switch migration toward a scalable SDN control plane[C]. 2015 IFIP Networking Conference (IFIP Networking), Toulouse, France, 2015: 1–9. doi: 10.1109/IFIPNetworking.2015.7145319. [9] CHENG Guozhen, CHEN Hongchang, HU Hongchao, et al. Dynamic switch migration towards a scalable SDN control plane[J]. International Journal of Communication Systems, 2016, 29(9): 1482–1499. doi: 10.1002/dac.3101 [10] WANG Guodong, ZHAO Yanxiao, HUANG Jun, et al. An effective approach to controller placement in software defined wide area networks[J]. IEEE Transactions on Network and Service Management, 2018, 15(1): 344–355. doi: 10.1109/TNSM.2017.2785660 [11] AHMADI V and KHORRAMIZADEH M. An adaptive heuristic for multi-objective controller placement in software-defined networks[J]. Computers & Electrical Engineering, 2018, 66: 204–228. [12] SMINESH C N, KANAGA E G M, and SREEJISH A G. A multi-controller placement strategy in software defined networks using affinity propagation[J]. International Journal of Internet Technology and Secured Transactions, 2020, 10(1/2): 229–253. doi: 10.1504/IJITST.2020.104581 [13] KILLI B P R and RAO S V. Towards improving resilience of controller placement with minimum backup capacity in software defined networks[J]. Computer Networks, 2019, 149: 102–114. doi: 10.1016/j.comnet.2018.11.027 [14] WANG Tao, LIU Fangming, and XU Hong. An efficient online algorithm for dynamic SDN controller assignment in data center networks[J]. IEEE/ACM Transactions on Networking, 2017, 25(5): 2788–2801. doi: 10.1109/TNET.2017.2711641 [15] YAO Guang, BI Jun, LI Yuliang, et al. On the capacitated controller placement problem in software defined networks[J]. IEEE Communications Letters, 2014, 18(8): 1339–1342. doi: 10.1109/LCOMM.2014.2332341