陶智勇,高 潮
(1.武漢郵電科學(xué)研究院,湖北 武漢 430074;2.光纖通信技術(shù)和網(wǎng)絡(luò)國家重點(diǎn)實(shí)驗室,湖北 武漢 430074)
基于OpenFlow網(wǎng)絡(luò)的流媒體傳輸QoS研究與設(shè)計
陶智勇1,2,高 潮1,2
(1.武漢郵電科學(xué)研究院,湖北 武漢 430074;2.光纖通信技術(shù)和網(wǎng)絡(luò)國家重點(diǎn)實(shí)驗室,湖北 武漢 430074)
OpenFlow是軟件定義網(wǎng)絡(luò)(Software Definded Network,SDN)的產(chǎn)物,是一種新型的網(wǎng)絡(luò)結(jié)構(gòu),且發(fā)展十分迅速。但OpenFlow網(wǎng)絡(luò)的QoS功能仍待優(yōu)化,針對于OpenFlow網(wǎng)絡(luò)中流媒體傳輸QoS的不足,在現(xiàn)有網(wǎng)絡(luò)QoS模式基礎(chǔ)上提出了OpenQoS,它應(yīng)用于OpenFlow網(wǎng)絡(luò)的控制器上,采用動態(tài)路由的方式,使得流媒體在網(wǎng)絡(luò)端到端傳輸時,能夠根據(jù)網(wǎng)絡(luò)狀況,動態(tài)改變路由路徑,進(jìn)而提高網(wǎng)絡(luò)QoS。最后,通過一個小的拓?fù)渚W(wǎng)絡(luò)對本研究進(jìn)行了試驗驗證。
OpenFlow;OpenQoS;動態(tài)路由
隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)上的業(yè)務(wù)量越來越龐大,且越來越復(fù)雜。于是,一種新的網(wǎng)絡(luò)模型——軟件定義網(wǎng)絡(luò)(Software Definded Network,SDN)被提出,OpenFlow就是SDN的代表,它將傳統(tǒng)路由轉(zhuǎn)發(fā)模式中的設(shè)備控制與數(shù)據(jù)轉(zhuǎn)發(fā)分開進(jìn)行,集中管理,并且采用了基于流表的轉(zhuǎn)發(fā)模式[1]。因此傳統(tǒng)的QoS也需要進(jìn)行改變,而OpenQoS就是在傳統(tǒng)QoS的基礎(chǔ)上設(shè)計提出的,它應(yīng)用于OpenFlow網(wǎng)絡(luò)中端到端的流媒體傳輸。
OpenFlow是一種SDN網(wǎng)絡(luò),它起源于斯坦福大學(xué)的CleanSlate計劃(一個致力于重新設(shè)計互聯(lián)網(wǎng)的項目),同時也是GENI計劃的一個子項目。它提出了OpenFlow的控制轉(zhuǎn)發(fā)分離架構(gòu),將控制邏輯從網(wǎng)絡(luò)設(shè)備中引出來,研究者可以通過一組定義明確的接口對網(wǎng)絡(luò)設(shè)備進(jìn)行任意編程,從而實(shí)現(xiàn)新型的網(wǎng)絡(luò)協(xié)議、拓?fù)浼軜?gòu),而無需改動網(wǎng)絡(luò)設(shè)備本身。
OpenFlow網(wǎng)絡(luò)是有OpenFlow交換機(jī)(OpenFlow Switch)和控制服務(wù)器(Controller)來共同實(shí)現(xiàn)網(wǎng)絡(luò)中報文的轉(zhuǎn)發(fā)過程,這一設(shè)計一改現(xiàn)有網(wǎng)絡(luò)中有交換機(jī)和路由器控制的轉(zhuǎn)發(fā)過程,從而實(shí)現(xiàn)了路由控制和數(shù)據(jù)轉(zhuǎn)發(fā)的分離??刂品?wù)器則是通過OpenFlow協(xié)議來控制OpenFlow交換機(jī)中的流表,從而實(shí)現(xiàn)控制數(shù)據(jù)的轉(zhuǎn)發(fā),流表則是由很多個流表項組成,每個流表項就對應(yīng)著一個轉(zhuǎn)發(fā)規(guī)則。流表項由頭域、計數(shù)器和操作3部分組成,其中頭域是流表項的標(biāo)識,計數(shù)器是用來計數(shù)流表項的統(tǒng)計數(shù)據(jù),操作則標(biāo)明了與該流表項匹配的數(shù)據(jù)包應(yīng)該執(zhí)行的操作。那么當(dāng)數(shù)據(jù)包進(jìn)入OpenFlow交換機(jī)時,就會查詢流表來獲得轉(zhuǎn)發(fā)的目的端口,從而進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)[2],OpenFlow網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 OpenFlow網(wǎng)絡(luò)結(jié)構(gòu)
2.1 QoS網(wǎng)絡(luò)結(jié)構(gòu)
QoS是網(wǎng)絡(luò)的一種安全機(jī)制,用來解決網(wǎng)絡(luò)延遲和阻塞等性能的一種技術(shù)。目前的QoS結(jié)構(gòu)可以主要分為兩大服務(wù)類型,即IntServ(綜合服務(wù)模型)和DiffServ(區(qū)分服務(wù)模型)。但是對于如何提升網(wǎng)絡(luò)中流媒體的QoS,目前仍沒有一種結(jié)構(gòu)得到廣泛應(yīng)用。
IntServ通過預(yù)留資源技術(shù),能夠提供端到端有效的QoS。但是,它必須從發(fā)送端到接收端之間所有路由器都支持RSVP和許可控制協(xié)議,同時每個路由器還得花費(fèi)大量資源來更新和維護(hù)數(shù)據(jù)庫,因此IntServ模型對現(xiàn)有的路由改造十分復(fù)雜。
DiffServ則是通過將進(jìn)入網(wǎng)絡(luò)的數(shù)據(jù)包進(jìn)行標(biāo)記,劃分為不同的類別,使不同類別的數(shù)據(jù)包獲得不同的QoS服務(wù)級別。因此邊緣路由器需要具有對數(shù)據(jù)包的分類功能,核心路由器則需要具有根據(jù)優(yōu)先級進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā)的功能[3],它不像IntServ和DiffServ只需要改變網(wǎng)絡(luò)的邊緣部分。
針對于以上兩種QoS模型的不足,提出了OpenQoS,主要針對端到端的流媒體傳輸QoS。OpenQoS采用動態(tài)路由路徑傳輸流媒體數(shù)據(jù),而其他的數(shù)據(jù)依然保持它們的路徑。這種結(jié)構(gòu)主要的優(yōu)勢是能夠減小數(shù)據(jù)丟包率和延遲。對于OpenQoS和現(xiàn)有QoS結(jié)構(gòu)的具體比較見表1。
表1 QoS結(jié)構(gòu)的比較
2.2 OpenQoS網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計
OpenQoS是標(biāo)準(zhǔn)OpenFlow控制器的擴(kuò)展,它可以提供流媒體傳輸?shù)腝oS。在標(biāo)準(zhǔn)控制器的基礎(chǔ)上添加了很多接口和模塊功能,主要的接口設(shè)計有轉(zhuǎn)發(fā)接口、控制接口、服務(wù)接口??刂破魍瑯右蔡砑恿艘恍┕芾砉δ苣K,主要有協(xié)議管理、路由管理、數(shù)據(jù)流管理、路由計算、呼叫準(zhǔn)入、流量監(jiān)管等[4],結(jié)構(gòu)圖如圖2所示。
圖2 OpenQoS控制器的設(shè)計(截圖)
轉(zhuǎn)發(fā)接口是通過一個安全通道和OpenFlow協(xié)議來為控制器提供網(wǎng)絡(luò)狀態(tài)信息,并負(fù)責(zé)轉(zhuǎn)發(fā)控制器對網(wǎng)絡(luò)的指令,它是控制器和當(dāng)前網(wǎng)絡(luò)的橋梁。當(dāng)網(wǎng)絡(luò)規(guī)模很大時,單個控制器結(jié)構(gòu)則不能很好地處理,隨著OpenFlow節(jié)點(diǎn)數(shù)的增多,多控制器是必須的。該接口允許控制器分享必要信息,從而共同管理整個網(wǎng)絡(luò)。服務(wù)接口則是為運(yùn)營商提供的,它可以提供一個開放、安全的接口,可以重新定義數(shù)據(jù)流分區(qū),甚至可以重新定義與這些分區(qū)相關(guān)的路由規(guī)則??刂破鞯墓芾砉δ苣K則是共同幫助控制器檢測整個網(wǎng)絡(luò)狀態(tài),實(shí)現(xiàn)路由器動態(tài)分配路徑,從而達(dá)到QoS的目的。
2.3 OpenQoS管理系統(tǒng)的實(shí)現(xiàn)
在OpenFlow網(wǎng)絡(luò)中,底層交換機(jī)會根據(jù)控制器提供的流表進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā)。而OpenQoS主要是針對于流媒體端到端的傳輸,因此首先需要對流媒體的數(shù)據(jù)包進(jìn)行標(biāo)記分類。由于較低層的數(shù)據(jù)包相比四層數(shù)據(jù)包,解析起來比較容易。因此在OpenQoS中選擇了MPLS作為流分類的方法,去區(qū)分流媒體數(shù)據(jù)包和普通數(shù)據(jù)包。MPLS是介于數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層之間,因此它可以將IP地址映射為簡單而具有固定長度的標(biāo)簽,從而可以用于不同數(shù)據(jù)包的轉(zhuǎn)發(fā)和交換。
OpenQoS提出了動態(tài)路由去解決最短路徑問題,它主要應(yīng)用于標(biāo)準(zhǔn)的OpenFlow控制器上。在此采用了Floodlight控制器,F(xiàn)loodlight是用Java語言寫的一個穩(wěn)定的開源控制器,可以很容易在上面添加一些功能模塊[5]。OpenQoS在控制器上加了許多接口和模塊功能,其中起重要作用的模塊有路由管理和路由計算模塊。
路由管理模塊在OpenQoS控制器中發(fā)揮著重要作用,它負(fù)責(zé)實(shí)時監(jiān)測網(wǎng)絡(luò)狀態(tài)信息,例如速率、可用帶寬、丟包率等。每一個鏈路可以分為兩種情況:擁塞和正常。事實(shí)上,帶寬的利用率超過70%的時候,就可以認(rèn)為是擁塞狀態(tài)。OpenQoS控制器將會每間隔1 s發(fā)送FEATURE_REQUEST請求給轉(zhuǎn)換端口,然后轉(zhuǎn)換端口回復(fù)一個FEATURE_REPLY信息,并返回給控制器必要的網(wǎng)絡(luò)數(shù)據(jù)。通過反饋的數(shù)據(jù),控制器可以知道鏈路的擁塞狀況。假如檢測到鏈路出現(xiàn)擁堵,則路由計算模塊將會根據(jù)現(xiàn)有的網(wǎng)絡(luò)狀態(tài),計算出最短路徑,并為此路徑上的交換機(jī)重新定義流表。路由管理模塊就會發(fā)送一個信號給轉(zhuǎn)發(fā)模塊,現(xiàn)有的路由線路則會被取消,然后控制器就會為流媒體數(shù)據(jù)流重新定義一個新的路由轉(zhuǎn)發(fā)路徑,從而可以將鏈路動態(tài)調(diào)整到最優(yōu)狀態(tài)[6]。
為了驗證OpenQoS在流媒體傳輸中的整體功能,于是搭建了一個簡單的實(shí)驗拓?fù)洵h(huán)境,如圖3所示。
然后找出一段視頻進(jìn)行測試,用ffmpeg視頻解碼軟件,使視頻像素為1 280×720,幀速率為1 000f/s(幀/秒),時長為40s,編碼為H.264模式,碼速率為9 00kbit/s的視頻流。
圖3 OpenFlow測試拓?fù)渚W(wǎng)絡(luò)
然后將此視頻放在192.168.110.100的服務(wù)器上,而192.168.110.101作為客戶端進(jìn)行接收,在服務(wù)器和客戶端PC上都采用了VLC流媒體播放軟件進(jìn)行收發(fā)。服務(wù)器上VLC采用RTP/UDP模式進(jìn)行發(fā)送,一個采用5004端口進(jìn)行發(fā)送,另一個視頻流采用5005端口發(fā)送。通過5004端口發(fā)送的視頻則采用了OpenQoS控制器,而5005端口則沒有QoS功能。
在客戶端收到兩份視頻后,用ffmpeg進(jìn)行解碼,并計算出兩個視頻的峰值信噪比(PSNR),比較的結(jié)果如圖4所示。
圖4 PSNR比較結(jié)果
根據(jù)圖4,很容易看出有OpenQoS的視頻流,當(dāng)視頻流出現(xiàn)下降時,即網(wǎng)絡(luò)出現(xiàn)堵塞時,能夠在1 s內(nèi)迅速恢復(fù)過來,而沒有QoS的視頻流則會恢復(fù)得比較慢。通過這個對比,可以得出OpenQoS在端到端的視頻傳輸中,能減小延遲、丟包率等,提高視頻的傳輸指令,從而提高流媒體傳輸?shù)腝oS。
OpenFlow是一種新型網(wǎng)絡(luò)結(jié)構(gòu),OpenQoS則是應(yīng)用與這種網(wǎng)絡(luò)結(jié)構(gòu)上的QoS,主要是通過動態(tài)路由配置,完成端到端的流媒體傳輸。通過實(shí)驗可以得出,OpenQoS能夠保證流媒體的視頻無縫傳輸,同時也能夠減小其他數(shù)據(jù)的延遲、丟包率等不利影響。
[1]何國鋒.OpenFlow在下一代數(shù)據(jù)中心網(wǎng)絡(luò)的應(yīng)用研究[J].互聯(lián)網(wǎng)天地,2013,3(3):71-74.
[2]PFAFF B,HELLER B,PETTIT J,et al.The OpenFlow switch specification[EB/OL].[2013-04-30].http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf.
[3]吳慧,陳秋紅,劉國輝.OpenFlow網(wǎng)絡(luò)基于DiffServ模型的QoS管理機(jī)制的實(shí)現(xiàn)[J].電視技術(shù),2014,38(5):113-115.
[4]王海濤,宋麗華.IP網(wǎng)絡(luò)的QoS通用框架及其體系結(jié)構(gòu)[J].電視技術(shù),2002,26(9):29-32.
[5]馮靖君.基于OpenFlow網(wǎng)絡(luò)的QoS集中管理系統(tǒng)的研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2012.
[6]孫夢.IPV6下基于OpenFlow技術(shù)的QoS管理系統(tǒng)的設(shè)計[D].大連:大連理工大學(xué),2011.
陶智勇(1973— ),教授,博士,中國通信學(xué)會高級會員,主要研究方向為網(wǎng)絡(luò)通信;
高 潮(1988— ),碩士生,主要研究方向為網(wǎng)絡(luò)通信。
責(zé)任編輯:許 盈
Research and Design of Streaming Media Transmission Based on OpenFlow Network
TAO Zhiyong1,2,GAO Chao1,2
(1.WuhanResearchInstituteofPostsandTelecommunications,Wuhan430074,China; 2.SKLofOCTN,Wuhan430074,China)
OpenFlow is SDN(Software Definded Network) product, is a new network architecture, and developed rapidly.But the QoS fuction of OpenFlow Network also need to be optimized.For the lack of streaming media transmission in OpenFlow network, it proposeS OpenQoS on the existing network model.It is applied on the OpenFlow network controller,using dynamic routing approach, making streaming media transmission end to end in network,could according to network conditions, changing routing paths, so can achieving the purpose of the network QoS.Finally, the research is verfided through the design of a small topology experimental.
OpenFlow;openQoS;dynamic routing
【本文獻(xiàn)信息】陶智勇,高潮.基于OpenFlow網(wǎng)絡(luò)的流媒體傳輸QoS研究與設(shè)計[J].電視技術(shù),2015,39(3).
TN915
A
10.16280/j.videoe.2015.03.033
2014-07-02