趙 云,李 莉,沈蘇彬
(南京郵電大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 南京 210003)
支持可定制QoS服務(wù)的SDN北向接口設(shè)計(jì)與實(shí)現(xiàn)
趙 云,李 莉,沈蘇彬
(南京郵電大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 南京 210003)
軟件定義聯(lián)網(wǎng)(SDN)和傳統(tǒng)網(wǎng)絡(luò)的區(qū)別在于將傳統(tǒng)網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)層和控制層相分離,網(wǎng)絡(luò)設(shè)備的控制功能都集中到了控制器中,轉(zhuǎn)發(fā)功能則完全保留在設(shè)備之中。SDN分為三個(gè)層次:數(shù)據(jù)層、控制層和應(yīng)用層。北向接口位于應(yīng)用層和控制層之間,其作用是向上層應(yīng)用開放網(wǎng)絡(luò)能力,具備開放性、便捷性、靈活性等特性。針對(duì)上層應(yīng)用對(duì)網(wǎng)絡(luò)能力的定制化需求,提出一種支持QoS服務(wù)可定制的北向接口的設(shè)計(jì)方案,描述了接口的外部形式和內(nèi)部功能模型并基于該方案實(shí)現(xiàn)了一個(gè)提供帶寬和優(yōu)先級(jí)可定制服務(wù)的北向接口。在SDN實(shí)驗(yàn)網(wǎng)絡(luò)中對(duì)接口進(jìn)行了測(cè)試,測(cè)試結(jié)果表明該方案能夠達(dá)到預(yù)期目標(biāo)。
軟件定義聯(lián)網(wǎng);服務(wù)質(zhì)量可定制;北向接口;OpenFlow
近年來,隨著互聯(lián)網(wǎng)的廣泛應(yīng)用和普及,云計(jì)算、物聯(lián)網(wǎng)、移動(dòng)互聯(lián)網(wǎng)等新技術(shù)也逐漸從發(fā)展走向成熟,多樣化的網(wǎng)絡(luò)業(yè)務(wù)和基礎(chǔ)資源能力等問題的需求和發(fā)展給數(shù)據(jù)中心的安全、擴(kuò)展、管理等問題提出新的要求[1]。軟件定義聯(lián)網(wǎng)(SDN)是由美國(guó)斯坦福大學(xué)Clean slate研究組提出的一種新型網(wǎng)絡(luò)架構(gòu),它是為了解決無法利用現(xiàn)有網(wǎng)絡(luò)中的大規(guī)模真實(shí)流量和豐富應(yīng)用進(jìn)行實(shí)驗(yàn)而設(shè)計(jì)的。通過SDN可以更加方便地研究及改善網(wǎng)絡(luò)的傳輸性、可靠性、安全性等問題。SDN體系架構(gòu)的使用成為當(dāng)前解決網(wǎng)絡(luò)問題的新方向,因此在研究和生產(chǎn)領(lǐng)域得到深入的研究和應(yīng)用[2]。
文獻(xiàn)[3]指出軟件定義網(wǎng)絡(luò)提供了一種全新的不同于傳統(tǒng)網(wǎng)絡(luò)的網(wǎng)絡(luò)架構(gòu),通過將傳統(tǒng)網(wǎng)絡(luò)的數(shù)據(jù)層面與控制層面進(jìn)行解耦,用戶可以根據(jù)自身需求編程實(shí)現(xiàn)所需的服務(wù)。SDN控制器為用戶提供了多種可編程接口,用戶也可以在控制器中開發(fā)新的可編程接口,用戶可以按照自身需求選擇控制器提供的這些可編程接口編寫相應(yīng)的應(yīng)用軟件。最終,控制器根據(jù)策略向數(shù)據(jù)層發(fā)送流表來實(shí)現(xiàn)該應(yīng)用。SDN所提供的可編程服務(wù)方式,可以讓用戶按需操作,使得SDN更能夠適應(yīng)多樣化的需求,這也體現(xiàn)了SDN控制層面與數(shù)據(jù)層面分離的優(yōu)勢(shì)。
根據(jù)上述介紹了解到,SDN是一種數(shù)據(jù)轉(zhuǎn)發(fā)和網(wǎng)絡(luò)控制相分離的體系結(jié)構(gòu),可以按需對(duì)網(wǎng)絡(luò)資源進(jìn)行編排以實(shí)現(xiàn)相關(guān)服務(wù)。那么,如何向上層應(yīng)用提供定制化的網(wǎng)絡(luò)服務(wù)呢?針對(duì)這一問題,文中討論了服務(wù)定制的形式和流程,提出一種支持服務(wù)定制的北向接口設(shè)計(jì)方案,并基于QoS策略實(shí)現(xiàn)了一個(gè)支持帶寬和優(yōu)先級(jí)定制的北向接口。
1.1 SDN定義
SDN[4]是一種通過解耦傳統(tǒng)網(wǎng)絡(luò)設(shè)備的控制層和轉(zhuǎn)發(fā)層,將設(shè)備轉(zhuǎn)發(fā)功能保存在網(wǎng)絡(luò)設(shè)備中,將設(shè)備的控制功能集中到控制器中進(jìn)行統(tǒng)一控制的新型網(wǎng)絡(luò)技術(shù)。
1.2 SDN架構(gòu)
文獻(xiàn)[5]指出ONF提出了三層的SDN網(wǎng)絡(luò)架構(gòu),如圖1所示。
圖1 SDN網(wǎng)絡(luò)架構(gòu)圖
該SDN架構(gòu)分為三層,最上層為應(yīng)用層,包括各種不同的業(yè)務(wù)和應(yīng)用;中間是負(fù)責(zé)處理資源配置、監(jiān)測(cè)網(wǎng)絡(luò)狀態(tài)信息的控制層;最下層的數(shù)據(jù)層負(fù)責(zé)處理、轉(zhuǎn)發(fā)數(shù)據(jù)和收集數(shù)據(jù)狀態(tài)。在該三層網(wǎng)絡(luò)架構(gòu)中,控制層與數(shù)據(jù)層之間的接口(南向接口)和應(yīng)用層與控制層之間的接口(北向接口)也是架構(gòu)的兩個(gè)重要組成部分。
SDN南向接口的主要功能是實(shí)現(xiàn)網(wǎng)絡(luò)資源的虛擬化,這一功能是通過屏蔽底層物理轉(zhuǎn)發(fā)設(shè)備的差異實(shí)現(xiàn)的。SDN北向接口的主要作用是調(diào)用網(wǎng)絡(luò)資源供上層業(yè)務(wù)使用。管理者和用戶通過北向接口調(diào)用控制器對(duì)外開放的網(wǎng)絡(luò)能力,按需進(jìn)行網(wǎng)絡(luò)配置,更好地為上層應(yīng)用或業(yè)務(wù)提供服務(wù)[6]。
2.1 SDN北向接口的作用
不同于傳統(tǒng)網(wǎng)絡(luò)中按照實(shí)際需求逐臺(tái)配置硬件設(shè)備以實(shí)現(xiàn)網(wǎng)絡(luò)應(yīng)用,SDN網(wǎng)絡(luò)中的應(yīng)用是以軟件程序的形式實(shí)現(xiàn)的,這些應(yīng)用與控制器一起部署在服務(wù)器上,通過調(diào)用控制器的北向接口(介于控制層和應(yīng)用層之間的可編程接口)獲得其提供的流量模式、應(yīng)用數(shù)據(jù)等信息并對(duì)其進(jìn)行辨別和判斷,進(jìn)而通過控制器下發(fā)指令調(diào)整網(wǎng)絡(luò)配置[7]。用戶可以通過SDN北向接口便捷調(diào)用控制器對(duì)外開放的網(wǎng)絡(luò)能力這一優(yōu)勢(shì),便捷地開發(fā)新的應(yīng)用和業(yè)務(wù)。
2.2 SDN北向接口的分類
SDN北向接口具有便捷地調(diào)用SDN控制器對(duì)外開放網(wǎng)絡(luò)能力的功能并且具備開放性、便捷性、靈活性等特性。文獻(xiàn)[8]根據(jù)接口特性將北向接口分為三種類型,分別是強(qiáng)耦合接口、松耦合接口以及基于狀態(tài)的功能接口。
(1)強(qiáng)耦合接口主要分為進(jìn)程內(nèi)接口和進(jìn)程間接口這兩種接口,它們的區(qū)別在于:前者由控制器提供且用于控制器內(nèi)編程,后者由控制器的外部設(shè)備提供且用于與控制器通信。
(2)松耦合接口和前面提到的進(jìn)程間接口都是由控制器外部設(shè)備提供的且都用于控制器通信。松耦合接口通信的方式不同于進(jìn)程間接口,它是以松耦合的方式進(jìn)行通信的,既不需要立即響應(yīng)也不需要同步出現(xiàn)。
(3)基于狀態(tài)的功能接口主要的功能是處理狀態(tài),該功能通過設(shè)置和讀取狀態(tài)以及發(fā)出狀態(tài)改變通知來實(shí)現(xiàn)。該接口提供了一系列的功能供編程使用,但是該接口并不是通過過程調(diào)用來使用的,而是通過狀態(tài)改變來實(shí)現(xiàn)的。
通過上述北向接口的三種分類,可以清楚地認(rèn)識(shí)到北向接口的多樣性,因此可以利用北向接口功能的多樣性定制出多樣性的上層應(yīng)用和業(yè)務(wù)。
3.1 可定制服務(wù)應(yīng)用接口設(shè)計(jì)背景
在實(shí)際的網(wǎng)絡(luò)應(yīng)用中,網(wǎng)絡(luò)業(yè)務(wù)具有多樣性等特點(diǎn),因此對(duì)于實(shí)際的網(wǎng)絡(luò)服務(wù)質(zhì)量需求也存在差異。視頻會(huì)議等對(duì)實(shí)時(shí)性要求較高的業(yè)務(wù)通常要求較高的處理優(yōu)先級(jí)且對(duì)帶寬要求也較高;文件傳輸?shù)葮I(yè)務(wù)對(duì)網(wǎng)絡(luò)實(shí)時(shí)性要求不高,但需保證其可靠傳輸,控制丟包率等。根據(jù)這種不同業(yè)務(wù)必須具備不同服務(wù)質(zhì)量需求的情況,文中將根據(jù)SDN網(wǎng)絡(luò)中的網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用需求,設(shè)計(jì)出適用于基本QoS服務(wù)[9](QoS參數(shù)包括可用性、吞吐量、時(shí)延、抖動(dòng)和丟失等)的可定制QoS服務(wù)。
3.2 可定制服務(wù)應(yīng)用接口的設(shè)計(jì)方案
從網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用需求出發(fā),結(jié)合控制器的基本功能,設(shè)計(jì)可定制QoS服務(wù)的應(yīng)用層開放接口,主要分為八個(gè)模塊:安全服務(wù)、拓?fù)涔芾怼㈡溌钒l(fā)現(xiàn)、設(shè)備管理、路由管理、策略制定、定制服務(wù)和流表下發(fā)。策略制定是接口的核心部分,該部分主要負(fù)責(zé)判斷用戶選擇和制定相應(yīng)的策略;安全服務(wù)負(fù)責(zé)保護(hù)接口的安全;拓?fù)涔芾砗玩溌钒l(fā)現(xiàn)被調(diào)用以實(shí)現(xiàn)網(wǎng)絡(luò)狀態(tài)的信息收集,其中拓?fù)涔芾硪苍诰W(wǎng)絡(luò)中尋找路由;設(shè)備管理則負(fù)責(zé)解析源設(shè)備和目的設(shè)備的接合點(diǎn);路由管理則負(fù)責(zé)解析源、目的設(shè)備之間的路由;定制服務(wù)則負(fù)責(zé)制定QoS相關(guān)服務(wù)(不管定制何種服務(wù),該模塊始終用于定制服務(wù));流表下發(fā)則負(fù)責(zé)根據(jù)策略制定的源、目的地址下發(fā)流表。
總的來說,就是用戶通過調(diào)用策略制定的服務(wù)完成應(yīng)用邏輯到流表的轉(zhuǎn)換??啥ㄖ芉oS服務(wù)應(yīng)用接口設(shè)計(jì)圖如圖2所示。
圖2 可定制QoS服務(wù)應(yīng)用接口設(shè)計(jì)圖
圖2是一個(gè)可定制QoS服務(wù)應(yīng)用接口設(shè)計(jì)圖,設(shè)備管理、路由管理、鏈路發(fā)現(xiàn)和拓?fù)涔芾硎菍?duì)底層設(shè)備信息進(jìn)行監(jiān)測(cè)和統(tǒng)計(jì)的技術(shù);策略制定和流表下發(fā)是通過控制器對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行統(tǒng)一控制的技術(shù);定制服務(wù)是針對(duì)用戶需求制定的QoS相關(guān)服務(wù);安全服務(wù)是針對(duì)可定制服務(wù)應(yīng)用接口所提供的安全服務(wù)。
3.3 可定制服務(wù)應(yīng)用接口工作流程
針對(duì)可定制QoS服務(wù)應(yīng)用接口的一般工作流程主要可以分為三個(gè)部分:定制服務(wù)、策略制定和流表下發(fā)。具體實(shí)現(xiàn)如圖3所示。
圖3 可定制QoS服務(wù)應(yīng)用接口工作流程
(1)定制服務(wù):按照可定制QoS服務(wù)的要求,針對(duì)具體服務(wù)進(jìn)行可定制,根據(jù)相應(yīng)的策略制定下發(fā)相應(yīng)的流表。
(2)策略制定:更好地實(shí)現(xiàn)了網(wǎng)絡(luò)自動(dòng)化和編排,根據(jù)上層應(yīng)用的服務(wù)需求制定相應(yīng)的策略。
(3)流表下發(fā):調(diào)用策略制定將應(yīng)用轉(zhuǎn)發(fā)邏輯轉(zhuǎn)化為流表,然后使用流表下發(fā)服務(wù)將流表交付給對(duì)應(yīng)SDN交換機(jī),按照流表的規(guī)則進(jìn)行轉(zhuǎn)發(fā)。
3.4 可定制服務(wù)應(yīng)用接口的一般實(shí)現(xiàn)
可定制服務(wù)應(yīng)用接口的各模塊功能實(shí)現(xiàn)如下:
(1)Device Manager(設(shè)備管理)模塊:通過調(diào)用設(shè)備管理模塊的接口解析源地址(sourceSwitch,sourcePort)和目的地址(destSwitch,destPort)。
(2)Topology(拓?fù)涔芾?模塊:通過調(diào)用拓?fù)涔芾砟K的接口并根據(jù)設(shè)備管理模塊解析出來的源、目的地址解析出源、目的之間的路由。
(3)Flow(流表下發(fā))模塊:通過調(diào)用流表下發(fā)模塊接口依據(jù)策略下發(fā)流表。
(4)Link Discovery(鏈路發(fā)現(xiàn))模塊:該模塊通過發(fā)現(xiàn)端口狀態(tài)的改變來改變拓?fù)洹?/p>
(5)Routing(路由管理)模塊:該模塊提供源、目的之間的路由。
(6)Security(安全服務(wù))模塊:該模塊向應(yīng)用接口提供安全服務(wù),以保障應(yīng)用接口的安全。
(7)Policy(策略制定)模塊:該模塊提供相應(yīng)的可定制QoS服務(wù)策略。
在多媒體領(lǐng)域,多媒體業(yè)務(wù)復(fù)雜多樣,業(yè)務(wù)要求不同,對(duì)于業(yè)務(wù)服務(wù)質(zhì)量的需求也不同,例如視頻服務(wù)對(duì)于帶寬的需求要高于文件傳輸服務(wù),實(shí)時(shí)服務(wù)對(duì)于網(wǎng)絡(luò)服務(wù)的優(yōu)先級(jí)需求要高于非實(shí)時(shí)服務(wù)等。
文中將以應(yīng)用服務(wù)的網(wǎng)絡(luò)帶寬和優(yōu)先級(jí)可定制為例,利用SDN的集中控制和可定制服務(wù)接口的靈活定制,實(shí)現(xiàn)SDN網(wǎng)絡(luò)中傳輸帶寬和優(yōu)先級(jí)的可定制服務(wù)。依據(jù)用戶在使用應(yīng)用服務(wù)時(shí),對(duì)傳輸帶寬和服務(wù)優(yōu)先級(jí)的不同需求,設(shè)計(jì)能夠由用戶定制網(wǎng)絡(luò)帶寬和服務(wù)優(yōu)先級(jí)的可定制服務(wù)接口。通過調(diào)用該接口,用戶可以根據(jù)自己的需求對(duì)于不同的應(yīng)用服務(wù)定制不同的帶寬(通過限制最大帶寬和最小帶寬來實(shí)現(xiàn))和服務(wù)優(yōu)先級(jí)(服務(wù)進(jìn)程優(yōu)先級(jí)),充分體現(xiàn)出SDN網(wǎng)絡(luò)集中化控制的優(yōu)勢(shì)及北向接口定制的靈活性。
4.1 需求描述
多媒體傳輸應(yīng)用場(chǎng)景下的QoS可定制服務(wù)表現(xiàn)為帶寬、時(shí)延等可定制服務(wù),文中主要描述網(wǎng)絡(luò)帶寬及服務(wù)優(yōu)先級(jí)的可定制。SDN網(wǎng)絡(luò)根據(jù)用戶定制需求為用戶提供相應(yīng)的網(wǎng)絡(luò)帶寬及服務(wù)優(yōu)先級(jí)。為此以圖2所描述的可定制QoS服務(wù)應(yīng)用接口設(shè)計(jì)圖為模板,結(jié)合實(shí)際需求,確定帶寬和服務(wù)優(yōu)先級(jí)可定制服務(wù)的接口需要提供網(wǎng)絡(luò)帶寬及服務(wù)優(yōu)先級(jí)選擇策略、設(shè)備管理、路由管理、流表下發(fā)等功能。
4.2 系統(tǒng)實(shí)現(xiàn)
通過分析文中設(shè)計(jì)的可定制服務(wù)應(yīng)用接口方案并結(jié)合Floodlight控制器[10]的可編程接口及OpenvSwitch交換機(jī)的實(shí)現(xiàn)技術(shù)以實(shí)現(xiàn)網(wǎng)絡(luò)帶寬及服務(wù)優(yōu)先級(jí)可定制的應(yīng)用。
(1)確定可定制應(yīng)用的網(wǎng)絡(luò)服務(wù)信息。
①隊(duì)列的帶寬設(shè)置及OpenFlow流表項(xiàng)的優(yōu)先級(jí)設(shè)置;
②確定源、目的主機(jī)的接合點(diǎn)及物理位置的數(shù)據(jù)信息;
③源、目的主機(jī)對(duì)應(yīng)接合點(diǎn)之間的路由;
④源主機(jī)到目的主機(jī)之間路由上所有交換機(jī)部署流量信息的服務(wù)。
(2)選擇能夠滿足服務(wù)需求的REST API。
①/wm/device/發(fā)現(xiàn)每個(gè)設(shè)備的接合點(diǎn);
②/wm/topology/route/發(fā)現(xiàn)源主機(jī)和目的主機(jī)之間的路由;
③/wm/policy/qos/json下發(fā)帶寬選擇及流表項(xiàng)優(yōu)先級(jí)策略;
④/wm/staticflowentrypusher/json在每個(gè)交換機(jī)上部署流表項(xiàng)。
(3)應(yīng)用設(shè)計(jì)。
①選擇python作為編程語言;
②使用os.popen發(fā)送curl命令用于調(diào)用REST API;
③使用/wm/device解析與主機(jī)相接合的交換機(jī)的端口信息;
④使用/vm/topology/route返回源、目的主機(jī)間的路由信息;
⑤使用/wm/policy/qos/json下發(fā)帶寬選擇策略及流表項(xiàng)優(yōu)先級(jí)策略;
⑥使用/wm/staticflowentrypusher/json下發(fā)流表。
(4)代碼實(shí)現(xiàn)。
①設(shè)置帶寬隊(duì)列并通過ovs-vsctl將帶寬加于數(shù)據(jù)包流上。
以實(shí)驗(yàn)為例,為驗(yàn)證帶寬的可定制性,可以設(shè)置多個(gè)帶寬隊(duì)列對(duì)其進(jìn)行選擇,如設(shè)置queue0帶寬200 Mbps、queue1帶寬20 Mbps、queue2帶寬2 Mbps等。
②應(yīng)用層制定帶寬及服務(wù)優(yōu)先級(jí)可定制策略。
應(yīng)用層選擇應(yīng)用服務(wù)所需帶寬隊(duì)列(通過選擇相應(yīng)帶寬隊(duì)列實(shí)現(xiàn))及設(shè)置服務(wù)優(yōu)先級(jí)(通過設(shè)置OpenFlow流表項(xiàng)中VLAN Priority的值實(shí)現(xiàn))。
③解析源、目的主機(jī)接合點(diǎn)。
通過http://%s/wm/device/?ipv4=%s調(diào)用設(shè)備管理接口,解析源、目的主機(jī)接合點(diǎn)。
④解析源目路由。
通過http://%s/wm/topology/route/%s/%s/%s/%s/json調(diào)用路由接口,檢索源、目的節(jié)點(diǎn)之間的路由。
⑤下發(fā)流表。
通過http://%s/wm/staticflowpusher/json調(diào)用staticflowpusher接口下發(fā)具有相應(yīng)帶寬隊(duì)列及相應(yīng)VLAN Priority值的流表。
5.1 相關(guān)技術(shù)
5.1.1 Floodlight API
北向接口的設(shè)計(jì)思路之一是開發(fā)一套遵循REST風(fēng)格的網(wǎng)絡(luò)API,其實(shí)質(zhì)是以控制器作為服務(wù)器,上層應(yīng)用通過HTTP請(qǐng)求的方式獲取網(wǎng)絡(luò)資源或能力。在Floodlight控制器中,REST風(fēng)格的API從資源的角度觀察整個(gè)網(wǎng)絡(luò),由URI確定分布在網(wǎng)絡(luò)中的資源,上層應(yīng)用通過URI獲取資源[11]。
5.1.2 QoS技術(shù)
QoS(Quality of Service,服務(wù)質(zhì)量)指網(wǎng)絡(luò)利用各種基礎(chǔ)技術(shù),為指定的網(wǎng)絡(luò)通信提供更好的服務(wù)能力的一種技術(shù),主要用來解決網(wǎng)絡(luò)延遲和阻塞等問題[12]。為滿足用戶對(duì)不同應(yīng)用不同服務(wù)質(zhì)量的要求,需要網(wǎng)絡(luò)能根據(jù)用戶的要求分配和調(diào)度資源,對(duì)不同的數(shù)據(jù)流提供不同的服務(wù)質(zhì)量。
5.1.3 Mininet
Mininet[13]是一個(gè)很強(qiáng)大的網(wǎng)絡(luò)仿真平臺(tái),可以通過這個(gè)平臺(tái)方便地模擬真實(shí)的網(wǎng)絡(luò)環(huán)境和操作。當(dāng)前SDN發(fā)展迅速,但是在真實(shí)網(wǎng)絡(luò)中很難進(jìn)行相關(guān)的網(wǎng)絡(luò)實(shí)驗(yàn),因此需要借助Mininet仿真平臺(tái)對(duì)這種新型的網(wǎng)絡(luò)架構(gòu)進(jìn)行實(shí)驗(yàn)操作。
5.1.4 OpenvSwitch
OpenvSwitch[14]是一個(gè)多層虛擬交換機(jī),它可以通過編程擴(kuò)展來實(shí)現(xiàn)大規(guī)模網(wǎng)絡(luò)的自動(dòng)化。OpenvSwitch的主要作用是傳遞虛擬機(jī)之間的流量以及實(shí)現(xiàn)虛擬機(jī)和外部網(wǎng)絡(luò)的通信。
5.2 方案測(cè)試及分析
1)測(cè)試環(huán)境搭建。
實(shí)驗(yàn)網(wǎng)絡(luò)由控制器、OpenvSwitch交換機(jī)、客戶主機(jī)這三部分組成,通過Floodlight和Mininet搭建實(shí)驗(yàn)環(huán)境(4臺(tái)主機(jī)、4個(gè)OpenvSwitch交換機(jī)和1個(gè)Floodlight控制器組成),實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)淙鐖D4所示。
2)接口測(cè)試用例。
通過源、目的主機(jī)和策略的選擇驗(yàn)證接口功能是否符合預(yù)期要求,設(shè)計(jì)接口測(cè)試用例:
(1)應(yīng)用服務(wù)的帶寬可定制。
設(shè)置五種帶寬策略,即隊(duì)列queue0-10 Mbps,queue1-20 Mbps,queue2-30 Mbps,queue3-40 Mbps和queue4-50 Mbps,通過可定制QoS服務(wù)應(yīng)用接口依次為視頻服務(wù)(在Floodlight控制器中說明了Protocol=“4b”是Packet_Video流量,通過設(shè)置Protocol為4b模擬視頻服務(wù))選擇不同的帶寬策略,以主機(jī)h1作為服務(wù)端運(yùn)行Iperf,主機(jī)h2作為客戶端運(yùn)行Iperf,記錄每次選擇的隊(duì)列帶寬和實(shí)際測(cè)量的帶寬。
圖4 實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)鋱D
(2)應(yīng)用服務(wù)的優(yōu)先級(jí)可定制。
選擇兩種不同類型的應(yīng)用服務(wù)(在Floodlight控制器中說明了Protocol=“06”是TCP流量,Protocol=“17”是UDP流量,因此分別設(shè)置兩種服務(wù)為TCP服務(wù)和UDP服務(wù)),通過QoS服務(wù)應(yīng)用接口為兩種應(yīng)用服務(wù)設(shè)置不同的優(yōu)先級(jí)策略(TCP服務(wù)的優(yōu)先級(jí)策略設(shè)置為2,UDP服務(wù)的優(yōu)先級(jí)策略設(shè)置為6)。通過查詢兩種服務(wù)策略下發(fā)的流表優(yōu)先級(jí)來驗(yàn)證是否具備服務(wù)優(yōu)先級(jí)可定制的功能。
3)接口測(cè)試結(jié)果。
測(cè)試1:調(diào)用應(yīng)用接口將不同的隊(duì)列策略下發(fā)給控制器,然后以h1作為服務(wù)端運(yùn)行Iperf,h2作為客戶端運(yùn)行Iperf,客戶端向服務(wù)端發(fā)送數(shù)據(jù)并依次選擇帶寬策略。最后將Iperf工具記錄的帶寬和隊(duì)列帶寬進(jìn)行比較,帶寬測(cè)試如圖5所示。
圖5 帶寬測(cè)試圖
測(cè)試2:通過調(diào)用應(yīng)用接口設(shè)置不同的協(xié)議(TCP和UDP)表示不同類型的服務(wù),對(duì)于不同服務(wù)設(shè)置不同的優(yōu)先級(jí),保持其他內(nèi)容不變,下發(fā)優(yōu)先級(jí)策略給控制器。當(dāng)下發(fā)策略后,策略會(huì)生成相應(yīng)的流表,兩種服務(wù)優(yōu)先級(jí)策略通過流表顯示,如圖6所示。
“networkProtocol”:6,“networkSource”:”0.0.0.0”,“networkSourceMaskLen”:0,“networkTypeofService”:0,“transportDestination”:0,“transportSource”:0,“wildcards”:4194254},“command”:0,“outPort”:-1,“actions”:[{“maxLength”:32767,“port”:1,“l(fā)engthU”:8,“type”:”O(jiān)UTPUT”}],“priority”:2,“networkProtocol”:17,“networkSource”:”0.0.0.0”,“networkSourceMaskLen”:0,“networkTypeofService”:0,“transportDestination”:0,“transportSource”:0,“wildcards”:4194254},“command”:0,“outPort”:-1,“actions”:[{“maxLength”:32767,“port”:1,“l(fā)engthU”:8,“type”:”O(jiān)UTPUT”}],“priority”:6,
圖6 TCP和UDP服務(wù)優(yōu)先級(jí)定制流表圖
4)實(shí)驗(yàn)結(jié)果分析。
從上述實(shí)驗(yàn)可以看出,當(dāng)用戶選擇不同的帶寬時(shí),帶寬應(yīng)用接口為用戶提供實(shí)時(shí)選擇帶寬且傳輸帶寬會(huì)圍繞著指定的帶寬有較小偏差的浮動(dòng)。當(dāng)用戶選擇不同的優(yōu)先級(jí)時(shí),該策略下發(fā)到控制器中。實(shí)驗(yàn)結(jié)果表明,利用SDN網(wǎng)絡(luò)對(duì)全局的掌握能力,可以向接口提供不同參數(shù)以獲得定制化QoS服務(wù),最終滿足用戶定制化的需求。
隨著SDN的發(fā)展,網(wǎng)絡(luò)越來越智能化,上層應(yīng)用對(duì)網(wǎng)絡(luò)能力的定制化需求日益增加。文中提出一種支持可定制QoS服務(wù)的北向接口的設(shè)計(jì)方案,并基于該方案實(shí)現(xiàn)了一個(gè)提供帶寬和優(yōu)先級(jí)定制服務(wù)的北向接口。經(jīng)實(shí)際測(cè)試,以此模型為驅(qū)動(dòng),可以支持定制化的QoS服務(wù)。
[1] 王淑玲,李濟(jì)漢,張?jiān)朴?等.SDN架構(gòu)及安全性研究[J].電信科學(xué),2013,29(3):117-122.
[2] McKeown N,Anderson T,Balakrishnan H,et al.Open-Flow:enabling innovation in campus networks[J].ACM SIGCOMM Computer Communication Review,2008,38(2):69-75.
[3] Greene K.TR10:software-defined networking[J].MIT Technology Review,2009,38(8):66-69.
[4] 戴國(guó)偉.SDN架構(gòu)中基于ForCES模型的資源管理機(jī)制研究[D].杭州:浙江工商大學(xué),2013.
[5] 郎羽生.SDN應(yīng)用編排和資源管理技術(shù)的發(fā)展[N].人民郵電報(bào),2015-12-10(07).
[6] Open Networking Foundation.Software-defined networking:the new norm for networks[EB/OL].2012.https://www.opennetworking.org/sdn-resources/sdn-library/whitepapers.
[7] 雷葆華,王 峰,王 茜,等.SDN核心技術(shù)剖析和實(shí)戰(zhàn)指南[M].北京:電子工業(yè)出版社,2013.
[8] 程 瑩,張?jiān)朴?SDN應(yīng)用及北向接口技術(shù)研究[J].信息通信技術(shù),2014,8(1):36-39.
[9] Snir Y,Ramberg Y.Policy Quality of Service (QoS) information model[S/OL].2003.http://www.rfc-editor.org/rfc/pdfrfc/rfc3644.txt.
[10] Project Floodlight.Floodlight openflow controller[EB/OL].2015.http://floodlight.openflowhub.org.
[11] 韋 楠.軟件定義網(wǎng)絡(luò)中北向接口關(guān)鍵技術(shù)的研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2014.
[12] 李 峰,曹明翠,羅風(fēng)光,等.IP網(wǎng)絡(luò)中的QoS保證[J].電子技術(shù),2001,28(6):9-12.
[13] Kaur K,Singh J,Ghumman N S.Mininet as software defined networking testing platform[C]//International conference on communication,computing & systems.[s.l.]:[s.n.],2014:20.
[14] Chiu H W,Wang S Y.Boosting the OpenFlow control-plane message exchange performance of OpenvSwitch[C]//2015 IEEE international conference on communications.[s.l.]:IEEE,2015:5284-5289.
Design and Implementation of SDN Northbound Interface for Customizable Services of QoS
ZHAO Yun,LI Li,SHEN Su-bin
(School of Computer,Nanjing University of Posts and Telecommunications, Nanjing 210003,China)
SDN is different from the traditional network in that it decouples the control layer from the forwarding layer.Control functions are centralized at a controller and the underlying hardware only contains forwarding functions.SDN is composed of three layers:the data layer,control layer and the application layer.The interface between the application layer and the control layer is called Northbound Interface (NBI),which opens the network abilities and possesses sufficient openness,convenience,and flexibility.For the customization demand of upper application for network capacity,a design plan of the NBI is proposed which supports for customizing QoS services.To provide customization to better meet applications’ needs,a design of northbound interface for customizable QoS services is put forward.A high-level API specification and functional model is described.A bandwidth-and-priority-based QoS service is implemented according to the specification.A prototype system is built on an SDN test bed,and the result shows that it can achieve the expected goal.
Software-Defined Networking;customizable QoS;Northbound;OpenFlow
2016-01-15
2016-04-21
時(shí)間:2016-10-24
江蘇省未來網(wǎng)絡(luò)前瞻性研究資助項(xiàng)目(BY2013095-1-08)
趙 云(1989-),女,碩士研究生,研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò);沈蘇彬,研究員,博導(dǎo),研究方向?yàn)橛?jì)算網(wǎng)絡(luò)、下一代電信網(wǎng)以及網(wǎng)絡(luò)安全。
http://www.cnki.net/kcms/detail/61.1450.TP.20161024.1114.044.html
TP393
A
1673-629X(2016)11-0182-06
10.3969/j.issn.1673-629X.2016.11.040