劉惠文,姚海鵬,張培穎,2
(1. 北京郵電大學(xué) 信息與通信工程學(xué)院,北京 100876;2. 中國石油大學(xué)(華東) 計(jì)算機(jī)與通信工程學(xué)院,山東 青島 266580)
在傳統(tǒng)的TCP/IP網(wǎng)絡(luò)中,路由、擁塞控制以及其他所有的網(wǎng)絡(luò)功能都由網(wǎng)絡(luò)協(xié)議來控制。網(wǎng)絡(luò)中所有的設(shè)備只需按照現(xiàn)有的規(guī)則來完成對應(yīng)的任務(wù)。隨著多樣化的網(wǎng)絡(luò)服務(wù)和用戶需求的出現(xiàn)以及網(wǎng)絡(luò)需求的增長,單純地改進(jìn)現(xiàn)有的網(wǎng)絡(luò)協(xié)議不但會使現(xiàn)有的網(wǎng)絡(luò)協(xié)議變得更加臃腫,同時(shí)對網(wǎng)絡(luò)性能的提高會比較有限。SDN的提出,使得網(wǎng)絡(luò)出現(xiàn)了可編程的概念,網(wǎng)絡(luò)的可擴(kuò)展性和靈活性也大大提高[1]?;A(chǔ)設(shè)施服務(wù)提供商可以根據(jù)用戶對網(wǎng)絡(luò)服務(wù)的個性化需求設(shè)計(jì)SDN網(wǎng)絡(luò)。
然而,即便是SDN網(wǎng)絡(luò),如果想提高用戶體驗(yàn)(Quality of Experience,QoE),仍然需要網(wǎng)絡(luò)的管理人員對用戶的服務(wù)需求做出充分的調(diào)研,并根據(jù)調(diào)研結(jié)果來設(shè)計(jì)滿足用戶需求的網(wǎng)絡(luò)。即現(xiàn)階段,SDN只是為網(wǎng)絡(luò)提供了一個“操作系統(tǒng)”,如何去使用這個操作系統(tǒng)來使得網(wǎng)絡(luò)更加穩(wěn)定和可靠仍舊是一個復(fù)雜的問題。
目前,隨著深度學(xué)習(xí)等人工智能技術(shù)在學(xué)術(shù)界和產(chǎn)業(yè)界的火熱,網(wǎng)絡(luò)基礎(chǔ)設(shè)施提供商已經(jīng)注意到了人工智能在網(wǎng)絡(luò)領(lǐng)域內(nèi)的應(yīng)用前景,并提出了一些網(wǎng)絡(luò)概念,如文獻(xiàn)[2]提出的知識定義網(wǎng)絡(luò)(Knowledge-Defined Networking, KDN)。KDN在控制平面之上添加了一個Knowledge平面。Knowledge平面使用機(jī)器學(xué)習(xí)算法來分析從底層網(wǎng)絡(luò)中獲取的數(shù)據(jù),并用來指導(dǎo)控制平面來進(jìn)行轉(zhuǎn)發(fā)。KDN的提出為智能化的網(wǎng)絡(luò)管理提供了一個解決的思路和想法,但是文獻(xiàn)[2]中并沒有提出比較具體的架構(gòu)和解決方案。
本文受KDN網(wǎng)絡(luò)的啟發(fā),利用現(xiàn)有的技術(shù),構(gòu)建了一個可行的但是不同于KDN的人工智能網(wǎng)絡(luò)架構(gòu)。在這一架構(gòu)中,控制平面不僅充當(dāng)著控制著底層的網(wǎng)元設(shè)備的角色,還是上層獲取網(wǎng)絡(luò)信息的中轉(zhuǎn)層,控制層通過北向接口與上層進(jìn)行通信。在控制層之上,部署的是分布式的SDN App, 其功能是通過北向接口獲取下層網(wǎng)絡(luò)的信息并向上層提交,以及負(fù)責(zé)不同SDN域的控制器之間的信息交流。在SDN App之上部署的是分布式的計(jì)算工具或者是數(shù)據(jù)分析工具以及算法。這一架構(gòu)的主要創(chuàng)新點(diǎn)如下:
1.架構(gòu)為分布式的部署模式,且不僅支持單個SDN域,也支持多個互聯(lián)的SDN域。
2.通過SDN 控制器的App實(shí)現(xiàn)“智能大腦”與SDN的相互通信,在SDN的App上構(gòu)建一層通用的框架,使得模型的可擴(kuò)展性更強(qiáng)。
2016年,MESTRES A等人創(chuàng)新性地提出在控制平面的基礎(chǔ)之上加入了Knowledge平面,Knowledge平面利用機(jī)器學(xué)習(xí)等技術(shù)對網(wǎng)絡(luò)進(jìn)行分析和決策。
同年,華為諾言方舟實(shí)驗(yàn)室推出了Network Mind, 智能網(wǎng)絡(luò)控制系統(tǒng),其核心成果CODA[12]發(fā)表在當(dāng)年的SIGCOMM上。
SENDRA S等人提出了利用SDN在路由協(xié)議中使用人工智能[3],在SDN的基礎(chǔ)上,在路由協(xié)議中采用了強(qiáng)化學(xué)習(xí)的技術(shù)手段來實(shí)現(xiàn)智能路由。
Zhu Li等人提出了在下一代網(wǎng)絡(luò)中使用BP神經(jīng)網(wǎng)絡(luò)來進(jìn)行流量預(yù)測的模型[4]。
下面詳細(xì)描述人工智能網(wǎng)絡(luò)框架。以兩個SDN域?yàn)槔?,其架?gòu)圖如圖1所示。架構(gòu)主要分為三個平面部分:
圖1 人工智能網(wǎng)絡(luò)架構(gòu)圖
(1)數(shù)據(jù)平面, 即底層物理網(wǎng)絡(luò)平面。底層物理網(wǎng)絡(luò)平面的網(wǎng)絡(luò)設(shè)備將自身采集到的流量等數(shù)據(jù)遞交到本域內(nèi)的控制器,然后接收由控制平面做出的路由決策。
(2)控制平面,控制平面不僅僅包含SDN控制器[5],同時(shí)也包含建立在控制器之上的App以及數(shù)據(jù)庫。數(shù)據(jù)庫用來保存當(dāng)前域內(nèi)采集到的數(shù)據(jù),對于數(shù)據(jù)庫的管理通過App來實(shí)現(xiàn)??刂破鰽pp是本框架的一個核心模塊,其功能包括:從控制器獲取底層網(wǎng)絡(luò)數(shù)據(jù),管理本地?cái)?shù)據(jù)庫,負(fù)責(zé)SDN域的域間控制器的通信,提供上層智能平面管理控制器的接口,充當(dāng)智能集群的終端Worker的組成模塊等。App充當(dāng)智能平面與控制平面的接口,功能比較多。從現(xiàn)實(shí)的角度來說,可由一組App來實(shí)現(xiàn)。
(3)智能平面,為了處理底層網(wǎng)絡(luò)大量的數(shù)據(jù),受到Google MapReduce[6]技術(shù)的啟發(fā),在智能平面通過分布式的集群來實(shí)現(xiàn)對數(shù)據(jù)的分析。由于智能集群能夠隨時(shí)從控制平面上的分布式數(shù)據(jù)庫提取底層網(wǎng)絡(luò)的數(shù)據(jù)信息,在智能平面可以設(shè)置一個可視化的Dashboard,方便網(wǎng)絡(luò)人員的管理和分析。
數(shù)據(jù)平面的作用主要是收集底層網(wǎng)絡(luò)的所有相關(guān)信息,包括拓?fù)洹㈡溌?、流表等,然后將這些信息上傳到網(wǎng)絡(luò)大腦以供決策層使用。但是底層物理網(wǎng)絡(luò)的異構(gòu)性、多樣性會帶來一定難度。除此之外,還有一個十分關(guān)鍵的問題就是如何解決跨域數(shù)據(jù)采集。
在當(dāng)前的SDN中,盡管南向接口和北向接口發(fā)展比較成熟,然而在東西向接口技術(shù)上還沒有比較統(tǒng)一的協(xié)議類型。目前,SDN域間協(xié)同(即控制器之間的相互協(xié)同)存在著一些不同的解決方案,比如OpenDayLight社區(qū)針對ODL開發(fā)出來一款名叫ODL-SDNi的App,清華的畢軍團(tuán)隊(duì)提出的WE-Bridge[7]。
在對相關(guān)技術(shù)研究的基礎(chǔ)上,本文提出一種可行的基于App的跨域解決方案,如圖2所示。
圖2 多SDN域跨域解決方案
圖2中的網(wǎng)元C同時(shí)屬于SDN域1和SDN域2,稱之為邊緣網(wǎng)元。類似于BGP中Speaker的角色,邊緣網(wǎng)元不僅僅負(fù)責(zé)所屬的域內(nèi)路由,由于其同時(shí)屬于多個SDN的特殊性,還需要負(fù)責(zé)其所屬的域間的路由。圖中,網(wǎng)元C同時(shí)接受Contoller1和Controller2的控制,網(wǎng)元C在域內(nèi)的路由接受本域內(nèi)的Controller的控制,但涉及跨域路由時(shí),需要指定主從Controller,以Master-Slave的模式接受主控制器的控制。由于邊緣網(wǎng)元設(shè)備的功能復(fù)雜,對邊緣網(wǎng)元的控制由App完成。圖2中,主從交換機(jī)的選定由運(yùn)行在Controller1和Controller2上面的App通過協(xié)商確定。
控制平面主要由SDN控制器以及運(yùn)行在SDN控制器之上的App和數(shù)據(jù)庫組成,控制平面作為本系統(tǒng)最主要的模塊之一,有著至關(guān)重要的角色。一方面協(xié)同處理數(shù)據(jù)平面和智能平面之間的信息交互,協(xié)調(diào)整個系統(tǒng)的運(yùn)轉(zhuǎn),另一方面負(fù)責(zé)下發(fā)指令與流表,使得整個網(wǎng)絡(luò)可以正常運(yùn)轉(zhuǎn)??刂破鹘Y(jié)構(gòu)如圖3所示。
圖3 控制器結(jié)構(gòu)圖
在控制平面中,控制器設(shè)備有三個任務(wù):
(1)負(fù)責(zé)對下層物理網(wǎng)絡(luò)的日常管理。
(2)將通過南向接口采集到的數(shù)據(jù)通過北向接口進(jìn)行轉(zhuǎn)發(fā)。
(3)對于App指定的事務(wù)(如對邊緣控制器的管理)交由App進(jìn)行處理。
控制器App是控制平面層面的核心,通過統(tǒng)一的通信協(xié)議,可在App層面上實(shí)現(xiàn)異構(gòu)的控制器組網(wǎng)。App的主要功能有:
(1)將北向接口采集到的數(shù)據(jù)寫進(jìn)數(shù)據(jù)庫,日常管理數(shù)據(jù)庫,并向上層提供數(shù)據(jù)庫的接口。
(2)負(fù)責(zé)域間控制器通信以及協(xié)商。
(3)向上層提供操作控制器的API。
本文控制平面的工作并不同于ODL-SDNi和WE-Bridge。相比ODL-SDNi,本文通過App可以實(shí)現(xiàn)異構(gòu)控制器的通信,而SDNi只支持ODL控制器間的相互通信;相比WE-Bridge,本文提出了邊緣網(wǎng)元的概念,域間的路由變成域間協(xié)商的問題,而WE-Bridge需要較為復(fù)雜的域間路由。另外,為實(shí)現(xiàn)網(wǎng)絡(luò)智能,本文在控制器之上部署了分布式的數(shù)據(jù)庫。
隨著大數(shù)據(jù)技術(shù)的興起,很多大數(shù)據(jù)的處理工具被提出來,比如基于MapReduce開源的Hadoop,后來的Spark。如今分布式計(jì)算平臺和分布式存儲(如HDFS[8])技術(shù)都很成熟,同時(shí)真實(shí)的網(wǎng)絡(luò)環(huán)境也很適合分布式部署AI系統(tǒng),因而本文基于分布式計(jì)算存儲技術(shù)提出智能網(wǎng)絡(luò)平面的架構(gòu),如圖4所示。
圖4 分布式智能平面架構(gòu)
各個組件的功能如下:
Worker分為兩種,一種是位于控制器之上,與控制器相對應(yīng)的終端Worker,這種Worker是分布式存儲和計(jì)算的基本單元,同時(shí)也是智能平面管理控制器的接口,它們可以在任意時(shí)刻調(diào)用下層的數(shù)據(jù)庫。另一種Worker并不連接著控制器,只是負(fù)責(zé)把終端Worker的運(yùn)算Reduce進(jìn)行數(shù)據(jù)匯聚。Worker能根據(jù)Master的調(diào)度來回應(yīng)其他Worker對于本W(wǎng)orker管轄下的數(shù)據(jù)庫的讀取請求。
Master是分布式計(jì)算的管理模塊,負(fù)責(zé)依據(jù)AI算法對每個Worker分配計(jì)算任務(wù),并對它們的工作進(jìn)行統(tǒng)一的調(diào)度,同時(shí)負(fù)責(zé)協(xié)調(diào)Worker對分布式數(shù)據(jù)庫里的數(shù)據(jù)的請求。
Dashboard是供網(wǎng)絡(luò)管理人員使用的前端可視化界面,Dashboard展示的數(shù)據(jù)由Master提供,對網(wǎng)絡(luò)的設(shè)置和更改由Manger來執(zhí)行。
Manager是智能平面的操作系統(tǒng),同時(shí)也是整個網(wǎng)絡(luò)的操作系統(tǒng)。對智能平面的管理由Manager通過Master來實(shí)現(xiàn)(如針對網(wǎng)絡(luò)的AI算法的部署),對控制器的管理由Manager經(jīng)過Worker進(jìn)行控制。
本文提出了一種新型的基于SDN網(wǎng)絡(luò)的人工智能網(wǎng)絡(luò)架構(gòu)。在這一網(wǎng)絡(luò)中,SDN控制器不僅僅是網(wǎng)絡(luò)管理命令的執(zhí)行者,同時(shí)也是網(wǎng)絡(luò)數(shù)據(jù)的采集器,充當(dāng)著“末端神經(jīng)”的功能。在SDN控制器之上,是分布式的計(jì)算以及存儲單元組成的智能網(wǎng)絡(luò)。智能網(wǎng)絡(luò)利用AI技術(shù)和大數(shù)據(jù)來挖掘網(wǎng)絡(luò)的特征,將對底層網(wǎng)絡(luò)的分析結(jié)果呈現(xiàn)給網(wǎng)絡(luò)管理者,用來指導(dǎo)網(wǎng)絡(luò)的管理。
接下來的工作是用實(shí)驗(yàn)室已有的硬件Openflow交換機(jī)搭建一個實(shí)際運(yùn)行的物理系統(tǒng),在實(shí)際的物理設(shè)備上驗(yàn)證提出的人工智能網(wǎng)絡(luò)架構(gòu)的可行性。
[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.