






[摘 要] 針對軟件定義網絡中的多控制器部署問題,首先通過K-means++算法對網絡節點聚類,得到網絡中初始控制域和控制器位置,然后使用粒子群算法以最小化時延和負載均衡為優化目標,多個粒子并行搜索最優解,進一步優化控制域和控制器位置。在小、中、大型網絡拓撲上與隨機算法、K-means++算法、粒子群算法的多控制器部署方法比較,仿真結果表明,在中小型網絡中,比其他3種算法在平均傳播時延和負載均衡上更加穩定且時延更低,在大型網絡中,平均傳播時延,最壞傳播時延和控制器的負載均衡上均優于其他3種算法。
[關鍵詞] 軟件定義網絡; 多控制器部署; K-means++; 粒子群算法; 時延; 負載均衡
[中圖分類號] TP393 [文獻標識碼] A
軟件定義網絡[1](software defined networking, SDN)是一種新型的網絡體系結構[1],它的[BP)]核心理念是將網絡中的控制平面與數據平面分離,控制平面通過單一的控制器管理網絡中的所有設備,但是隨著網絡規模的擴大,交換機數量的增加,單一的控制器在處理越來越多的請求時不堪重負,從而無法保證高效的性能。有學者提出了一種分層式設計的多控制器體系結構解決這些問題[2],例如Kandoo[3],此種體系結構由多個控制器構成,且控制器間可以相互通信,隨著這一體系的誕生,多個控制器如何合理放置在控制平面上成為了亟待解決的問題。多控制器放置問題[4](controller placement problem, CPP)是一個NP難問題,在SDN網絡中部署多個控制器,針對設定的優化目標,選出最合適的控制器數量和最佳放置位置,確定控制器與其管理的交換機的映射。……