劉惠文,姚海鵬,張培穎,2
(1. 北京郵電大學 信息與通信工程學院,北京 100876;2. 中國石油大學(華東) 計算機與通信工程學院,山東 青島 266580)
在傳統的TCP/IP網絡中,路由、擁塞控制以及其他所有的網絡功能都由網絡協議來控制。網絡中所有的設備只需按照現有的規則來完成對應的任務。隨著多樣化的網絡服務和用戶需求的出現以及網絡需求的增長,單純地改進現有的網絡協議不但會使現有的網絡協議變得更加臃腫,同時對網絡性能的提高會比較有限。SDN的提出,使得網絡出現了可編程的概念,網絡的可擴展性和靈活性也大大提高[1]。基礎設施服務提供商可以根據用戶對網絡服務的個性化需求設計SDN網絡。
然而,即便是SDN網絡,如果想提高用戶體驗(Quality of Experience,QoE),仍然需要網絡的管理人員對用戶的服務需求做出充分的調研,并根據調研結果來設計滿足用戶需求的網絡。即現階段,SDN只是為網絡提供了一個“操作系統”,如何去使用這個操作系統來使得網絡更加穩定和可靠仍舊是一個復雜的問題。
目前,隨著深度學習等人工智能技術在學術界和產業界的火熱,網絡基礎設施提供商已經注意到了人工智能在網絡領域內的應用前景,并提出了一些網絡概念,如文獻[2]提出的知識定義網絡(Knowledge-Defined Networking, KDN)。KDN在控制平面之上添加了一個Knowledge平面。Knowledge平面使用機器學習算法來分析從底層網絡中獲取的數據,并用來指導控制平面來進行轉發。KDN的提出為智能化的網絡管理提供了一個解決的思路和想法,但是文獻[2]中并沒有提出比較具體的架構和解決方案。
本文受KDN網絡的啟發,利用現有的技術,構建了一個可行的但是不同于KDN的人工智能網絡架構。在這一架構中,控制平面不僅充當著控制著底層的網元設備的角色,還是上層獲取網絡信息的中轉層,控制層通過北向接口與上層進行通信。在控制層之上,部署的是分布式的SDN App, 其功能是通過北向接口獲取下層網絡的信息并向上層提交,以及負責不同SDN域的控制器之間的信息交流。在SDN App之上部署的是分布式的計算工具或者是數據分析工具以及算法。這一架構的主要創新點如下:
1.架構為分布式的部署模式,且不僅支持單個SDN域,也支持多個互聯的SDN域。
2.通過SDN 控制器的App實現“智能大腦”與SDN的相互通信,在SDN的App上構建一層通用的框架,使得模型的可擴展性更強。
2016年,MESTRES A等人創新性地提出在控制平面的基礎之上加入了Knowledge平面,Knowledge平面利用機器學習等技術對網絡進行分析和決策。
同年,華為諾言方舟實驗室推出了Network Mind, 智能網絡控制系統,其核心成果CODA[12]發表在當年的SIGCOMM上。
SENDRA S等人提出了利用SDN在路由協議中使用人工智能[3],在SDN的基礎上,在路由協議中采用了強化學習的技術手段來實現智能路由。
Zhu Li等人提出了在下一代網絡中使用BP神經網絡來進行流量預測的模型[4]。
下面詳細描述人工智能網絡框架。以兩個SDN域為例,其架構圖如圖1所示。架構主要分為三個平面部分:

圖1 人工智能網絡架構圖
(1)數據平面, 即底層物理網絡平面。底層物理網絡平面的網絡設備將自身采集到的流量等數據遞交到本域內的控制器,然后接收由控制平面做出的路由決策。
(2)控制平面,控制平面不僅僅包含SDN控制器[5],同時也包含建立在控制器之上的App以及數據庫。數據庫用來保存當前域內采集到的數據,對于數據庫的管理通過App來實現。控制器App是本框架的一個核心模塊,其功能包括:從控制器獲取底層網絡數據,管理本地數據庫,負責SDN域的域間控制器的通信,提供上層智能平面管理控制器的接口,充當智能集群的終端Worker的組成模塊等。App充當智能平面與控制平面的接口,功能比較多。從現實的角度來說,可由一組App來實現。
(3)智能平面,為了處理底層網絡大量的數據,受到Google MapReduce[6]技術的啟發,在智能平面通過分布式的集群來實現對數據的分析。由于智能集群能夠隨時從控制平面上的分布式數據庫提取底層網絡的數據信息,在智能平面可以設置一個可視化的Dashboard,方便網絡人員的管理和分析。
數據平面的作用主要是收集底層網絡的所有相關信息,包括拓撲、鏈路、流表等,然后將這些信息上傳到網絡大腦以供決策層使用。但是底層物理網絡的異構性、多樣性會帶來一定難度。除此之外,還有一個十分關鍵的問題就是如何解決跨域數據采集。
在當前的SDN中,盡管南向接口和北向接口發展比較成熟,然而在東西向接口技術上還沒有比較統一的協議類型。目前,SDN域間協同(即控制器之間的相互協同)存在著一些不同的解決方案,比如OpenDayLight社區針對ODL開發出來一款名叫ODL-SDNi的App,清華的畢軍團隊提出的WE-Bridge[7]。
在對相關技術研究的基礎上,本文提出一種可行的基于App的跨域解決方案,如圖2所示。

圖2 多SDN域跨域解決方案
圖2中的網元C同時屬于SDN域1和SDN域2,稱之為邊緣網元。類似于BGP中Speaker的角色,邊緣網元不僅僅負責所屬的域內路由,由于其同時屬于多個SDN的特殊性,還需要負責其所屬的域間的路由。圖中,網元C同時接受Contoller1和Controller2的控制,網元C在域內的路由接受本域內的Controller的控制,但涉及跨域路由時,需要指定主從Controller,以Master-Slave的模式接受主控制器的控制。由于邊緣網元設備的功能復雜,對邊緣網元的控制由App完成。圖2中,主從交換機的選定由運行在Controller1和Controller2上面的App通過協商確定。
控制平面主要由SDN控制器以及運行在SDN控制器之上的App和數據庫組成,控制平面作為本系統最主要的模塊之一,有著至關重要的角色。一方面協同處理數據平面和智能平面之間的信息交互,協調整個系統的運轉,另一方面負責下發指令與流表,使得整個網絡可以正常運轉。控制器結構如圖3所示。

圖3 控制器結構圖
在控制平面中,控制器設備有三個任務:
(1)負責對下層物理網絡的日常管理。
(2)將通過南向接口采集到的數據通過北向接口進行轉發。
(3)對于App指定的事務(如對邊緣控制器的管理)交由App進行處理。
控制器App是控制平面層面的核心,通過統一的通信協議,可在App層面上實現異構的控制器組網。App的主要功能有:
(1)將北向接口采集到的數據寫進數據庫,日常管理數據庫,并向上層提供數據庫的接口。
(2)負責域間控制器通信以及協商。
(3)向上層提供操作控制器的API。
本文控制平面的工作并不同于ODL-SDNi和WE-Bridge。相比ODL-SDNi,本文通過App可以實現異構控制器的通信,而SDNi只支持ODL控制器間的相互通信;相比WE-Bridge,本文提出了邊緣網元的概念,域間的路由變成域間協商的問題,而WE-Bridge需要較為復雜的域間路由。另外,為實現網絡智能,本文在控制器之上部署了分布式的數據庫。
隨著大數據技術的興起,很多大數據的處理工具被提出來,比如基于MapReduce開源的Hadoop,后來的Spark。如今分布式計算平臺和分布式存儲(如HDFS[8])技術都很成熟,同時真實的網絡環境也很適合分布式部署AI系統,因而本文基于分布式計算存儲技術提出智能網絡平面的架構,如圖4所示。

圖4 分布式智能平面架構
各個組件的功能如下:
Worker分為兩種,一種是位于控制器之上,與控制器相對應的終端Worker,這種Worker是分布式存儲和計算的基本單元,同時也是智能平面管理控制器的接口,它們可以在任意時刻調用下層的數據庫。另一種Worker并不連接著控制器,只是負責把終端Worker的運算Reduce進行數據匯聚。Worker能根據Master的調度來回應其他Worker對于本Worker管轄下的數據庫的讀取請求。
Master是分布式計算的管理模塊,負責依據AI算法對每個Worker分配計算任務,并對它們的工作進行統一的調度,同時負責協調Worker對分布式數據庫里的數據的請求。
Dashboard是供網絡管理人員使用的前端可視化界面,Dashboard展示的數據由Master提供,對網絡的設置和更改由Manger來執行。
Manager是智能平面的操作系統,同時也是整個網絡的操作系統。對智能平面的管理由Manager通過Master來實現(如針對網絡的AI算法的部署),對控制器的管理由Manager經過Worker進行控制。
本文提出了一種新型的基于SDN網絡的人工智能網絡架構。在這一網絡中,SDN控制器不僅僅是網絡管理命令的執行者,同時也是網絡數據的采集器,充當著“末端神經”的功能。在SDN控制器之上,是分布式的計算以及存儲單元組成的智能網絡。智能網絡利用AI技術和大數據來挖掘網絡的特征,將對底層網絡的分析結果呈現給網絡管理者,用來指導網絡的管理。
接下來的工作是用實驗室已有的硬件Openflow交換機搭建一個實際運行的物理系統,在實際的物理設備上驗證提出的人工智能網絡架構的可行性。
[1] HU F, HAO Q, BAO K. A survey on software-defined network and openflow: From concept to implementation. IEEE Communications Surveys & Tutorials, 2014,16(4), 2181-2206.
[2] MESTRES A, RODRIGUEZNATAL A, CARNER J, et al. Knowledge-defined networking[J]. ACM Sigcomm Computer Communication Review, 2017, 47(3):2-10.
[3] SENDRA S, REGO A, LLORET J, et al. Including artificial intelligence in a routing protocol using software defined networks[C]// IEEE International Conference on Communications Workshops. IEEE, 2017:670-674.
[4] Zhu Li, Qin Lei, Xue kouying, et al. A novel BP neural network model for traffic prediction of next generation network.[C]// International Conference on Natural Computation. IEEE, 2009:32-38.
[5] CHIOSI M, FREEMAN B D, GUYEN H Q. Software defined network controller: USAM,U S 9436443[P].2016-09-06.
[6] DEAN J, GHEMAWAT S. MapReduce: simplified data processing on large clusters[C]// Conference on Symposium on Opearting Systems Design & Implementation. USENIX Association, 2008:10.
[7] LIN P, BI J, CHEN Z, et al. WE-bridge: west-east bridge for SDN inter-domain network peering[C]// Computer Communications Workshops. IEEE, 2014:111-112.
[8] GHEMAWAT S, GOBIOFF H, LEUNG S T. The Google file system[C]// Nineteenth ACM Symposium on Operating Systems Principles. ACM, 2003:29-43.
[9] XU G, MU Y, LIU J. Inclusion of artificial intelligence in communication networks and services[J]. 2017.
[10] SENDRA S, REGO A, LLORET J, et al. Including artificial intelligence in a routing protocol using software defined network[C]// 2017 IEEE International Conference on Communications Workshops (ICC Workshops), 2017: 670-674.
[11] SAHEBU K M. Artificial intelligence approach to planning and managing communication networks[C]// International Conference on Electromagnetic Interference & Compatibility, 2002:193-202.
[12] ZHANG H, CHEN L, YI B, et al. CODA: toward automatically identifying and scheduling coflows in the dark[C]// Conference on ACM SIGCOMM 2016 Conference. ACM, 2016:160-173.