吳玥 屈衛東 甘愿 姚怡男
(中國移動通信集團設計院有限公司重慶分公司 重慶市 401120)
傳統TCP/IP 網絡內,主要由網絡協議控制擁塞、路由和其他各項網絡功能,網絡內全部設備運行中只要根據既定規則完成相應任務即可。而在網絡服務不斷趨于多樣化發展過程中,網絡用戶提出的網絡需求更加多元化,若只對既有網絡協議進行改進與優化,會使既有網絡協議增加臃腫度,還無法明顯提升網絡性能。而在SDN 被提出之后,使網絡具有可編程概念,在此基礎上促使網絡進一步提升靈活性與可拓展性。對此,基礎設施服務供應商可結合不同用戶提出的個性化網絡服務需求自行設計SDN 網絡。若在SDN 網絡中要進一步提升用戶體驗,還要求網絡管理員充分調研用戶多樣化的服務需求,結合調研結果設計一個能充分滿足多用戶多需求的網絡。就目前情況來看,SDN 大多是為網絡提供操作系統,而如何對這一操作系統實現高效利用,以增加網絡的可靠性、穩定性,仍是一個需要深入研究的復雜問題。
在網絡技術持續發展過程中,目前計算機網絡提出越來越多網絡資源動態管理需求,尤其是在大數據中心網絡建設與應用中,軟件定義網絡因其可在高度抽象條件下發揮靈活控制功能,所以能在軟件定義網絡技術基礎上構建一種有前景的、新型的人工智能網絡體系架構。此體系架構在軟件定義網絡控制器支持下,從底層網絡當中收集海量、多類型信息,之后通過人工智能技術和大數據技術實現信息分析,并獲得底層網絡相關特征數據,這些數據可輔助控制器管理下層網絡。在軟件定義網絡下構建人工智能網絡體系架構,有兩大創新點:
(1)架構保持分布式部署模式,除了可對單個SDN 域提供支持,還能為多個互聯SDN 域提供支持;
(2)基于SDN 控制器所設計的APP 可促進SDN 和“智能大腦”之間的相互通信,并在APP 基礎上建立一層通用型框架,進一步強化了模型可拓展性。
軟件定義網絡(SDN)利用具備邏輯集中管理功能的可編程網絡,可為解決復雜任務提供簡化方案,包括網絡優化與編排、流量工程等。在對現代網絡應用進行處理期間,對可拓展架構提出更多需求,為提供更充分、可靠的以特定流量類為基礎的服務,可建立SDN 體系架構,該架構可在網絡狀態下實現全局視圖,并可對底層實現流級控制,所以SDN 有效促進著網絡設計以及管理方式的巨大轉變。在SDN 架構當中,現代網絡應用部署與設計允許第三方介入。Ethane 項目在提出新型網絡模式基礎上,為SDN 奠定了堅實基礎,尤其是集中式控制器在企業網絡當中應用,可達到流級策略管理以及安全管控目標。圖1 為SDN 結構。

圖1:SDN 結構
SDN 范式使得數據平面、控制平面相互分離,相比于傳統網絡架構,其方法更動態、更迅速。控制平面被劃分為多個虛擬網絡,各虛擬網絡可為實現不同策略提供支持,所以SDN 范例是一種工具,能夠對網絡中多種問題加以解決,并符合物聯網等先進技術提出的新要求。而要有效應用SDN 范例,關鍵還在于其是否可以為傳統網絡協議不能有效解決的相關問題提供有效的解決方案。如谷歌、微軟等公司目前已在數據中心中應用SDN 范例,同時人工智能也為SDN 的應用與創新提供了重要途徑。以往研究中比較關注SDN 當中人工智能的整合,而后續研究中應在此基礎上深入探究SDN 范例當中人工智能所能發揮的重要價值。
SDN 借助數據平面集中可編程控制相關概念實現創新,在此基礎上促進新型網絡服務及協議的開發,其設計理念主要強調數據轉發平面、網絡控制平面雙向分離,由此在集中性控制器內所分布軟件平臺當中建立可編程化控制底層硬件,在軟硬件功能發揮下按照具體需求靈活的調配各項網絡資源。在所搭建的SDN 網絡當中,網絡設備功能相對單一,只發揮數據轉發作用,所以配置中重點選擇通用型硬件,原本發揮控制功能的操作系統在優化設計后將其作為網絡操作系統,保持獨立運行,尤其對各種差異化的業務特性展開合理適配,另對于硬件設備、業務特性和網絡操作系統來說,彼此之間均可以編程形式達到相互通信目的。代表性的SDN 架構主要被分成三層,其中最底層分布的是基礎設置層,主要功能是在流表基礎上展開數據處理,并負責數據轉發以及狀態收集;最上層分布的是應用層,涉及到多類應用以及業務;而中間層分布的是控制層,主要功能是對數據平面資源進行合理編排,并對網絡狀態、拓撲信息等展開維護。
SDN 網絡架構相比于傳統網絡,其主要體現出三個基本特征:
(1)控制、轉發相互分離。架構中主要由受控轉發相關設備共同組成轉發平面,而已經被分離在外的控制面板當中所運行的控制應用負責控制業務邏輯、轉發方式。
(2)在轉發平面與控制平面兩者間設置開放接口。在SDN 網絡架構內,專門為控制平面提供可編程的開放接口,在此設計下,控制應用要對自身邏輯更加關注,而對于底層各種實現細節則無需多加關注。
(3)邏輯設計方面采取集中控制模式。該架構的邏輯上,集中控制平面能對多個轉發面設備加以控制,具體就是對完整的物理網絡進行控制,所以能夠立足全局層面得到網絡狀態視圖,同步在全局性網絡狀態識圖支持下優化控制全網絡。
人工智能技術目前在產業界、學術界均受到熱切關注和深入探究,尤其是網絡基礎設施提供商已發現人工智能可在網絡領域發揮著重要的應用價值,應用前景無限,并在此基礎上提出部分網絡概念,比如知識定義網絡(KDN),其基于控制平面新增加了Knowledge 平面,在底層網絡完成數據收集任務之后,由該平面負責數據分析,這期間主要運用機器學習算法,分析結束后通過控制平面實現轉發。基于KDN 可實現智能化網絡管理,但目前尚未提出具體解決方案和架構建立方法。
在KDN 網絡啟發下,基于既有技術可構建一個和KDN不同,但是具有更高可行性的人工智能網絡體系。在此架構當中,控制平面既能夠對底層網元設備進行控制,還可以充當中轉層,促進上層順利獲取網絡信息,并基于北向接口實現控制層和上層之間的通信。控制層上方為SDN APP,設置形式為分布式,運行期間在下層網絡信息傳遞中由北向接口實現信息接收,而后向上層遞交,還可為差異化SDN 域間控制器發揮信息交流功能提供支持。有計算工具設置在SDN APP 的上方,設置形式為分布式,相應部位還支持數據分析工具以及相關算法的部署。人工智能網絡體系有以下特點:
(1)架構屬于分布式部署模式,既可支持單獨的SDN域有序運行,也能在其支持下促進存在一定關聯的SDN 域發揮組合功能;
(2)在SDN APP 功能發揮下,有助于實現SDN 以及“智能大腦”之間彼此互相通信,還可在其基礎上打造一層通用型框架,使模型具備更強的可拓展性。
傳統網絡設備配置以及功能較為固定化,而以軟件定義網絡為基礎構建人工智能網絡體系,可在體系架構中直接由中央單元對轉發單元(路由器和交換機)實現集中管理,并且中央單元可通過直接編程完成基礎聯網任務以及其他相關附加服務。基于中央管理以及網絡的可編程性,能通過人工智能對高速變化、高需求的網絡加以處理。
人工智能網絡體系架構圖如圖2,可見該架構主要被分成3 個平面部分:

圖2:人工智能網絡架構圖
(1)數據平面。也就是底層物理網絡平面,該平面當中的網絡設備會在對流量等數據信息進行采集之后,將其傳輸至本域所分布的控制器,而后對控制平面所做路由決策加以接收。
(2)控制平面。此平面除了設置有SDN 控制器,還同步以控制器為基礎,再其上方建立了APP 和相關數據庫。其中數據庫主要功能是對當前域內所采集各項數據進行保存處理,而數據庫管理工作主要由APP 所負責。在本框架內,控制器APPA 屬于核心模塊,在實際運行期間,需要接收由控制器所傳輸過來的底層網絡數據,在此基礎上對本地數據庫進行管理,同時還能在SDN 域不同域間控制器中發揮相互通信功能,為上層所分布智能平面管理控制器提供可靠接口,還可在智能集群當中相應終端Worker 當中充當組成模塊。將APP 視作控制平面、智能平面兩者之間的接口,可發揮較多功能。在實踐過程中,各項功能的實現可主要依靠一組APP。
(3)智能平面。底層網絡當中分布有大量數據,為有效處理相關數據,可借助Google MapReduce 技術相關理念和思維,于智能平面當中以分布式集群形式分析大量數據。因為智能集群可不受時間控制的在控制平面內部分布式數據庫當中進行底層網絡各類數據信息的提取,所以可將一個具有可視化特點的Dashboard 設置在智能平面當中,使網絡人員可更便捷的進行分析和管理工作。
此平面重點在于收集并整理底層網絡涉及到的有關信息,如拓撲信息、鏈路信息、流表信息等,而后以網絡大腦為方向實現信息傳遞,使決策層具備更廣泛、可靠的信息支持。不過底層物理網絡具有多樣性、異構性,增加了數據平面作用發揮的難度,同時還要對跨域數據采集問題進行解決。目前SDN 當中,北向、南向兩個接口日漸發展成熟,但是東西向兩個接口就目前情況來看還未建立統一協議類型。同時,SDN 域間協同有著差異化解決方案,比如清華畢軍團隊就對此問題提出WE—Bridge,OpenDaylight 社區就以ODL 為目標開發出ODL—SDNi 這一APP。基于相關技術的研究,本文主要提出一種以APP 為基礎的可行性較高的跨域解決方案,具體可見圖3。

圖3:多SDN 域跨域解決方案
方案中網元C 既在SDN 域1 當中,也在SDN 域2 當中,屬于邊緣網元,和BGP 內部Speaker 角色相類似。邊緣網元除了負責本身所屬域內網絡,還要負責所屬其他域間路由。方案中網元C 不均受控于Contoller1,還受到Contoller2 控制,而在網元C 域中,主要由當前域內的Contoller 發揮路由器控制功能。不同路由在存在跨域問題情況下,就要明確區分主與從Contoller,同步受控于主控制器。邊緣網元設備具有多樣化且復雜的功能,主要由App 控制邊緣網元。在選定主從交換機期間,主要由在Contoller1、Contoller2 其上方運行APP 共同協商來確定。
控制平面主要涵蓋了基于此的APP,還有數據庫與SDN 控制器,在本系統中控制平面發揮著關鍵作用:
(1)可對智能以及數據兩個平面層之間展開的信息交互工作實現協同化處理,使系統更加協調、平穩的運行;
(2)具備下發指令功能,同時流表也由其下發,為網絡運行保持正常狀提供保障。
控制平面內,控制器設備具有多項功能:
(1)管理下層物理網絡;
(2)將南向接口所采集數據經北向接口轉發;
(3)交由APP 處理指定事務,包括管理邊緣控制器等。
在控制平面層,控制器APP 屬于核心,在統一通信協議支持下,可于APP 層進行異構控制器組網。此APP 功能巨大,重點體現在三個方面:
(1)在北向接口完成數據采集任務后,寫入到數據庫內,還可負責數據庫常規管理,向上層供給數據庫的接口;(2)負責域間控制器之間的協商和通信;(3)將操作控制器API 提供給上層。
本文所設計的控制平面其工作和WE—Bridge 以及ODL-SDNi 有所不同,在ODL-SDNi 中,基本只支持ODL控制器相互間順利通信,而此控制平面能在APP 利用下保證異構控制器間順利的進行彼此通信;在WE—Bridge 中,存在域間路由這一高復雜性問題,而本文所設計控制平面由于提出邊緣網元概念,所以原本的域間路由問題就只體現在域間協商問題上。除此以外,本文通過在控制器上設置分布式數據庫,實現了網絡智能。
在大數據技術持續發展過程中,衍生出更多大數據處理工具,如開源Hadoop 以及Spark 等。在多項技術日漸成熟背景下,大部分網絡環境在部署AI 系統期間均支持分布式形式,因此本文設計的智能網絡平面架構也在各分布式相關技術支持下實現分布式布局,具體如圖4。

圖4:分布式智能平面架構
該架構所呈現出的Worker 主要有兩類,其一是終端Worker,在控制器上所分布,并和控制器建立對應關系,其在分布式計算和儲存當中為基礎性的單元,還屬于智能平面管理控制器接口,無論哪一時刻均可對下層數據庫實現調用;其二是和控制器相分離的Worker,對終端Worker 中涉及到的運算Reduce 數據加以匯聚。Worker 可結合Master 調度,對其他Worker 在相應管轄下數據庫提出的讀取請求作出回應。
Master 這一管理模塊屬于分布式計算,主要是基于AI算法將相應的計算任務分配給各Worker,同時統一調度其工作,并協調不同Worker 來應對分布式數據庫當中所提數據請求。
Dashboard 屬于前端可視化界面,主要由網絡管理人員所使用,其中各項數據均來自Master,并且由Manger 操作網絡更改與設置等。
Manager 無論是在智能平面中還是在整個網絡當中均屬于操作系統,其在管理智能平面過程中,主要利用Master實現各項功能,比如針對網絡部署相應的AI 算法,另外Manager 可用Worker 對控制器進行管理和控制。
本文中提出一種軟件定義網絡下的人工智能網絡體系架構,該網絡當中的軟件定義網絡控制器除了執行網絡管理命令,還能采集網絡數據,并可發揮末端神經功能。軟件定義網絡控制器上方部署的是智能網絡,其由分布式計算和儲存單元所組成。智能網絡在大數據、AI 技術等支持下挖掘網絡特征。并把底層網絡具體分析結果傳遞至網絡管理者。為網絡管理工作提供指導。所建立的人工智能網絡架構通過在物理系統中實驗運行應用,證明該架構具有良好的可行性。