陶智勇,高 潮
(1.武漢郵電科學研究院,湖北 武漢 430074;2.光纖通信技術和網絡國家重點實驗室,湖北 武漢 430074)
基于OpenFlow網絡的流媒體傳輸QoS研究與設計
陶智勇1,2,高 潮1,2
(1.武漢郵電科學研究院,湖北 武漢 430074;2.光纖通信技術和網絡國家重點實驗室,湖北 武漢 430074)
OpenFlow是軟件定義網絡(Software Definded Network,SDN)的產物,是一種新型的網絡結構,且發展十分迅速。但OpenFlow網絡的QoS功能仍待優化,針對于OpenFlow網絡中流媒體傳輸QoS的不足,在現有網絡QoS模式基礎上提出了OpenQoS,它應用于OpenFlow網絡的控制器上,采用動態路由的方式,使得流媒體在網絡端到端傳輸時,能夠根據網絡狀況,動態改變路由路徑,進而提高網絡QoS。最后,通過一個小的拓撲網絡對本研究進行了試驗驗證。
OpenFlow;OpenQoS;動態路由
隨著互聯網的快速發展,網絡上的業務量越來越龐大,且越來越復雜。于是,一種新的網絡模型——軟件定義網絡(Software Definded Network,SDN)被提出,OpenFlow就是SDN的代表,它將傳統路由轉發模式中的設備控制與數據轉發分開進行,集中管理,并且采用了基于流表的轉發模式[1]。因此傳統的QoS也需要進行改變,而OpenQoS就是在傳統QoS的基礎上設計提出的,它應用于OpenFlow網絡中端到端的流媒體傳輸。
OpenFlow是一種SDN網絡,它起源于斯坦福大學的CleanSlate計劃(一個致力于重新設計互聯網的項目),同時也是GENI計劃的一個子項目。它提出了OpenFlow的控制轉發分離架構,將控制邏輯從網絡設備中引出來,研究者可以通過一組定義明確的接口對網絡設備進行任意編程,從而實現新型的網絡協議、拓撲架構,而無需改動網絡設備本身。
OpenFlow網絡是有OpenFlow交換機(OpenFlow Switch)和控制服務器(Controller)來共同實現網絡中報文的轉發過程,這一設計一改現有網絡中有交換機和路由器控制的轉發過程,從而實現了路由控制和數據轉發的分離。控制服務器則是通過OpenFlow協議來控制OpenFlow交換機中的流表,從而實現控制數據的轉發,流表則是由很多個流表項組成,每個流表項就對應著一個轉發規則。流表項由頭域、計數器和操作3部分組成,其中頭域是流表項的標識,計數器是用來計數流表項的統計數據,操作則標明了與該流表項匹配的數據包應該執行的操作。那么當數據包進入OpenFlow交換機時,就會查詢流表來獲得轉發的目的端口,從而進行數據轉發[2],OpenFlow網絡的系統結構如圖1所示。

圖1 OpenFlow網絡結構
2.1 QoS網絡結構
QoS是網絡的一種安全機制,用來解決網絡延遲和阻塞等性能的一種技術。目前的QoS結構可以主要分為兩大服務類型,即IntServ(綜合服務模型)和DiffServ(區分服務模型)。但是對于如何提升網絡中流媒體的QoS,目前仍沒有一種結構得到廣泛應用。
IntServ通過預留資源技術,能夠提供端到端有效的QoS。但是,它必須從發送端到接收端之間所有路由器都支持RSVP和許可控制協議,同時每個路由器還得花費大量資源來更新和維護數據庫,因此IntServ模型對現有的路由改造十分復雜。
DiffServ則是通過將進入網絡的數據包進行標記,劃分為不同的類別,使不同類別的數據包獲得不同的QoS服務級別。因此邊緣路由器需要具有對數據包的分類功能,核心路由器則需要具有根據優先級進行數據包轉發的功能[3],它不像IntServ和DiffServ只需要改變網絡的邊緣部分。
針對于以上兩種QoS模型的不足,提出了OpenQoS,主要針對端到端的流媒體傳輸QoS。OpenQoS采用動態路由路徑傳輸流媒體數據,而其他的數據依然保持它們的路徑。這種結構主要的優勢是能夠減小數據丟包率和延遲。對于OpenQoS和現有QoS結構的具體比較見表1。

表1 QoS結構的比較
2.2 OpenQoS網絡結構的設計
OpenQoS是標準OpenFlow控制器的擴展,它可以提供流媒體傳輸的QoS。在標準控制器的基礎上添加了很多接口和模塊功能,主要的接口設計有轉發接口、控制接口、服務接口。控制器同樣也添加了一些管理功能模塊,主要有協議管理、路由管理、數據流管理、路由計算、呼叫準入、流量監管等[4],結構圖如圖2所示。

圖2 OpenQoS控制器的設計(截圖)
轉發接口是通過一個安全通道和OpenFlow協議來為控制器提供網絡狀態信息,并負責轉發控制器對網絡的指令,它是控制器和當前網絡的橋梁。當網絡規模很大時,單個控制器結構則不能很好地處理,隨著OpenFlow節點數的增多,多控制器是必須的。該接口允許控制器分享必要信息,從而共同管理整個網絡。服務接口則是為運營商提供的,它可以提供一個開放、安全的接口,可以重新定義數據流分區,甚至可以重新定義與這些分區相關的路由規則。控制器的管理功能模塊則是共同幫助控制器檢測整個網絡狀態,實現路由器動態分配路徑,從而達到QoS的目的。
2.3 OpenQoS管理系統的實現
在OpenFlow網絡中,底層交換機會根據控制器提供的流表進行數據的轉發。而OpenQoS主要是針對于流媒體端到端的傳輸,因此首先需要對流媒體的數據包進行標記分類。由于較低層的數據包相比四層數據包,解析起來比較容易。因此在OpenQoS中選擇了MPLS作為流分類的方法,去區分流媒體數據包和普通數據包。MPLS是介于數據鏈路層和網絡層之間,因此它可以將IP地址映射為簡單而具有固定長度的標簽,從而可以用于不同數據包的轉發和交換。
OpenQoS提出了動態路由去解決最短路徑問題,它主要應用于標準的OpenFlow控制器上。在此采用了Floodlight控制器,Floodlight是用Java語言寫的一個穩定的開源控制器,可以很容易在上面添加一些功能模塊[5]。OpenQoS在控制器上加了許多接口和模塊功能,其中起重要作用的模塊有路由管理和路由計算模塊。
路由管理模塊在OpenQoS控制器中發揮著重要作用,它負責實時監測網絡狀態信息,例如速率、可用帶寬、丟包率等。每一個鏈路可以分為兩種情況:擁塞和正常。事實上,帶寬的利用率超過70%的時候,就可以認為是擁塞狀態。OpenQoS控制器將會每間隔1 s發送FEATURE_REQUEST請求給轉換端口,然后轉換端口回復一個FEATURE_REPLY信息,并返回給控制器必要的網絡數據。通過反饋的數據,控制器可以知道鏈路的擁塞狀況。假如檢測到鏈路出現擁堵,則路由計算模塊將會根據現有的網絡狀態,計算出最短路徑,并為此路徑上的交換機重新定義流表。路由管理模塊就會發送一個信號給轉發模塊,現有的路由線路則會被取消,然后控制器就會為流媒體數據流重新定義一個新的路由轉發路徑,從而可以將鏈路動態調整到最優狀態[6]。
為了驗證OpenQoS在流媒體傳輸中的整體功能,于是搭建了一個簡單的實驗拓撲環境,如圖3所示。
然后找出一段視頻進行測試,用ffmpeg視頻解碼軟件,使視頻像素為1 280×720,幀速率為1 000f/s(幀/秒),時長為40s,編碼為H.264模式,碼速率為9 00kbit/s的視頻流。

圖3 OpenFlow測試拓撲網絡
然后將此視頻放在192.168.110.100的服務器上,而192.168.110.101作為客戶端進行接收,在服務器和客戶端PC上都采用了VLC流媒體播放軟件進行收發。服務器上VLC采用RTP/UDP模式進行發送,一個采用5004端口進行發送,另一個視頻流采用5005端口發送。通過5004端口發送的視頻則采用了OpenQoS控制器,而5005端口則沒有QoS功能。
在客戶端收到兩份視頻后,用ffmpeg進行解碼,并計算出兩個視頻的峰值信噪比(PSNR),比較的結果如圖4所示。

圖4 PSNR比較結果
根據圖4,很容易看出有OpenQoS的視頻流,當視頻流出現下降時,即網絡出現堵塞時,能夠在1 s內迅速恢復過來,而沒有QoS的視頻流則會恢復得比較慢。通過這個對比,可以得出OpenQoS在端到端的視頻傳輸中,能減小延遲、丟包率等,提高視頻的傳輸指令,從而提高流媒體傳輸的QoS。
OpenFlow是一種新型網絡結構,OpenQoS則是應用與這種網絡結構上的QoS,主要是通過動態路由配置,完成端到端的流媒體傳輸。通過實驗可以得出,OpenQoS能夠保證流媒體的視頻無縫傳輸,同時也能夠減小其他數據的延遲、丟包率等不利影響。
[1]何國鋒.OpenFlow在下一代數據中心網絡的應用研究[J].互聯網天地,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網絡基于DiffServ模型的QoS管理機制的實現[J].電視技術,2014,38(5):113-115.
[4]王海濤,宋麗華.IP網絡的QoS通用框架及其體系結構[J].電視技術,2002,26(9):29-32.
[5]馮靖君.基于OpenFlow網絡的QoS集中管理系統的研究與實現[D].北京:北京郵電大學,2012.
[6]孫夢.IPV6下基于OpenFlow技術的QoS管理系統的設計[D].大連:大連理工大學,2011.
陶智勇(1973— ),教授,博士,中國通信學會高級會員,主要研究方向為網絡通信;
高 潮(1988— ),碩士生,主要研究方向為網絡通信。
責任編輯:許 盈
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
【本文獻信息】陶智勇,高潮.基于OpenFlow網絡的流媒體傳輸QoS研究與設計[J].電視技術,2015,39(3).
TN915
A
10.16280/j.videoe.2015.03.033
2014-07-02