梁永珍 彭習羽 覃麗霏 何渝川 覃胤嘉
摘要:虛擬化與云化是未來網(wǎng)絡的演進方向。SDN/NFV是未來網(wǎng)絡的核心技術,仿真研究是SDN/NFV的常用手段,Mininet是常用的SDN仿真工具,但不支持NFV。為解決上述問題,本設計擬采用Docker輕量級、容器化的優(yōu)勢,搭建具備SDN/NFV能力的仿真平臺-DockerNet。利用Docker容器技術封裝虛擬網(wǎng)絡功能(Virtual NetworkFunction,VNF),通過ovs-docker工具實現(xiàn)容器化的VNF與OVS交換機連接,形成基本的SDN/NFV仿真環(huán)境。同時,為實現(xiàn)SDN/NFV仿真的便利性,DockerNet提供了典型網(wǎng)絡拓撲一健部署、異型拓撲拖拽創(chuàng)建、QOS信息自動采集并可視化等功能。為SDN/NFV的理論研究、實驗仿真、原型系統(tǒng)設計提供了基礎實驗平臺。
關鍵詞:SDN;容器技術;虛擬化
背景及現(xiàn)狀分析
軟件定義網(wǎng)絡[1](Software Defined Network,SDN)是一種革新的網(wǎng)絡體系架構設計技術。由于其支持控制與轉發(fā)分離、開放的編程接口,以及軟件可定義的轉發(fā)控制,極大地提高了實現(xiàn)網(wǎng)絡與業(yè)務的管理控制的靈活性。
網(wǎng)絡功能虛擬化[2,3](Network Function Virtualiza-tion,NFV)是軟件定義基礎設施的一種新型網(wǎng)絡模式,使得網(wǎng)絡功能不需要利用中間件(MiddleWare)等硬件形式實現(xiàn)而利用軟件實現(xiàn)。
SDN/NFV作為未來網(wǎng)絡的核心技術。研究SDN/NFV常用手段是仿真。在學術界Mininet是常用的仿真工具,但不適于NFV的研究,同時只是利用名字空間劃分不同的主機,在使用上不方便。在工業(yè)界,OpenS-tack是公認的云計算平臺,業(yè)界有使用其作為SDN/NFV的研究平臺,但對于計算資源要求較高,同時組件繁多、學習曲線相當陡峭。對SDN拓展研究較為不利,并且其為生產(chǎn)力部署平臺而不是一個仿真平臺。因此,迫切需要一個便捷的SDN/N]V仿真平臺。
Docker是一門可封裝應用程序、可快速遷移的容器技術,且相較于虛擬機更為輕量級,在學術界及工業(yè)界均有廣泛研究,也被用于生產(chǎn)網(wǎng)絡(Production Net-work)。
綜上所述,本設計利用Docker容器的輕量級優(yōu)勢去實現(xiàn)SDN/NFV仿真平臺的搭建,同時對生產(chǎn)網(wǎng)絡也有兼顧作用。進一步地,再將搭建出DockerNet擴展為圖形化界面下的仿真平臺。為SDN/NFV的理論研究、原型系統(tǒng)設計提供基礎實驗平臺。
擬解決問題
在搭建這樣一個便捷的仿真平臺將遇到以下幾個需解決的問題:第一點,如何利用輕量級的Docker封裝虛擬網(wǎng)絡功能VNF并和OVS結合,實現(xiàn)容器間的相互通信、OVS受控于Floodlight控制器,搭建出SDN/NFV仿真平臺的基礎;第二點,如何提供此仿真平臺的API,使得調(diào)用API實現(xiàn)帶參數(shù)化、一鍵快速部署網(wǎng)絡拓撲的功能;第三點,如何通過調(diào)用Docker后臺API與Java-Script等前端技術相結合,設計出一個清晰、易于網(wǎng)絡管理員使用的圖形化用戶界面,實現(xiàn)拖拽式自定義網(wǎng)絡拓撲的功能;第四點,如何采集OVS交換機的服務質量信息,提供將QOS信息呈現(xiàn)在前端頁面的功能,以支持上層應用的開發(fā)。
解決方案及實現(xiàn)
為解決上述問題,利用Docker能快速搭建好開發(fā)和運行環(huán)境、移植性強、快速部署的能力,同SDN進行結合。
具體地,首先,在Docker內(nèi)運行鏡像開啟容器封裝VNF,再使用OVS創(chuàng)建交換機并使用ovs-docker工具將容器和交換機連接起來,并使OVS交換機受控于Floodlight控制器。其次,調(diào)用Docker的API結合編程實現(xiàn)拓撲部署的腳本化以提供快速部署拓撲的API,此API可實現(xiàn)帶參數(shù)化的一鍵快速部署網(wǎng)絡拓撲。再次,結合Web前端技術提供拖拽式生成網(wǎng)絡拓撲,前端拖拽生成JSON格式表示的網(wǎng)絡拓撲由后端代碼自動解析并部署網(wǎng)絡拓撲。最后,使用基于LLDP協(xié)議的捎帶式服務質量采集機制采集OVS的QOS信息,并把信息呈現(xiàn)在前端頁面。
系統(tǒng)設計及實施
1 .搭建SDN/NFV仿真平臺
利用ovs-docker工具使Docker容器之間通過OVS交換機進行通信,進一步將OVS交換機和Docker容器以及OVS交換機之間的連接命令封裝。并利用python庫實現(xiàn)對于Docker腳本化操縱,方便平臺直接調(diào)用。
1.2 典型數(shù)據(jù)中心拓撲結構的便捷部署
完成對于SDN/NFV仿真環(huán)境搭建出的基礎上,無需再使用復雜的命令創(chuàng)建拓撲,減少復雜程度,提高整體的效率。編寫參數(shù)化的典型拓撲腳本,實現(xiàn)便捷部署。如將編寫帶參數(shù)的典型拓撲結構Fat-Tree,快速部署到SDN/NFV環(huán)境中。
1.3 自定義拓撲的拖拽式部署
將在圖形化web界面手動拖拽生成的拓撲信息,以鍵值對的方式,進一步將信息歸類保存為JSON格式進行傳輸并生成文件,便于后端進行解析,并創(chuàng)建拓撲。文件中存放有主機的鏡像、IP地址及交換機鏈路等信息。實現(xiàn)用戶自動以復雜的、異型拓撲的拖拽式部署。
1.4 QoS信息的采集
將OVS交換機的相關功能進行改進,實現(xiàn)通過Ll])P捎帶OVS的QOS信息,完成對于OVS上QOS信息的收集,使平臺能夠周期式的采集服務質量信息,呈現(xiàn)在前臺頁面供用戶決策,也可通過API供上層應用實現(xiàn)QOS路由,QOS保障的方面通過Floodlight API獲取源目地址之間的基于跳數(shù)的路徑。通過Allroute API獲取全部路徑信息。通過Floodlight API獲取交換機端口之間的連接關系。通過QoS API獲取交換機端口的QOS信息。
參考文獻:
[1]黃韜,劉江,魏亮,張嬌,楊帆,劉韻潔.軟件定義網(wǎng)絡核心原理與應用實踐.[M].人民郵電出版社.2016.
[2]雷葆華,王峰,王茜,王和宇.SDN核心技術剖析和實戰(zhàn)指南[M].北京:電子工業(yè)出版社,2013.
[3]蔣銘,于益俊.NIFV與VNF架構演進與網(wǎng)絡架構未來[M].上海:華為上海研究所2012.