黃 勝 郝言明 姜良浩 鄭丹玲
(重慶郵電大學光通信與網絡重點實驗室 重慶 400065)
命名數據網絡中基于自適應轉發的擁塞控制機制
黃 勝 郝言明 姜良浩 鄭丹玲
(重慶郵電大學光通信與網絡重點實驗室 重慶 400065)
為了提高命名數據網絡NDN(Named Data Networking)中視頻數據的可靠傳輸,站在客戶端的角度,提出一種基于自適應轉發的擁塞控制機制AFCCP(Adaptive Forward Congestion Control Policy)。AFCCF以網絡丟包最小化為目標,為接口的選擇建立馬爾科夫模型,通過前一時間間隔鏈路的狀態,自適應地選擇最佳的轉發接口,減少興趣包向擁塞鏈路的轉發,降低網內的丟包數目,實現網絡擁塞控制。在此基礎上,AFCCF針對視頻數據內部屬性,考慮解碼端特點,在網絡發生丟包時,選擇性地對數據包丟棄,實現視頻內部重要數據的可靠傳輸。仿真結果表明,AFCCP在較低時延的條件下,實現網絡較小的丟包率,增加用戶接收數據包的數量,從而改善用戶獲取數據體驗。
命名數據網絡 自適應 丟包最小化 馬爾科夫 擁塞控制 可靠傳輸
隨著網絡的發展,通信方式的轉變,內容化是互聯網發展的方向;命名數據網絡NDN是一種以內容為中心的全新的互聯網體系架構[1-2],在NDN中,數據的請求方式基于客戶端驅動,即用戶發送興趣包(Interest),進行名字路由獲取數據,數據按照Interest請求路徑原路返回。NDN通過調節客戶端的發送速率實現網絡的控制傳輸。視頻業務是網絡的主流業務,丟包、時延對視頻傳輸有較大的影響,實現NDN中視頻數據的高效、可靠地傳輸具有重要意義[3]。
用戶的突發請求,網絡資源不足等原因,可能導致網絡發生擁塞。NDN中每個Interest包有唯一的Data包與之對應[2],但Interest包的容量遠遠小于Data包的容量,鏈路帶寬被Data包占用[4],本文通過Data包對鏈路帶寬的占用和接口發送Interest包的速率判斷網絡擁塞情況以及通過接口Data包隊列的占用比預測將發生丟失的Data包。NDN擁塞模型如圖1所示[4],Interest包從對應轉發接口的輸出隊列Q1轉發至上游節點,Data包在節點轉發之前需要進入對應接口的輸出隊列Q2排隊,Data包等待轉發。在Data包傳輸過程中,鏈路帶寬被Data包占用。本文以接口發送Interest包速率大于上游鏈路允許可用帶寬作為網絡擁塞標識,通過接口Data包隊列的占用比預測將要發生丟失的Data包。針對上述NDN擁塞模型,文獻[4]提出基于顯式反饋擁塞控制算法。該策略通過主動統計網絡中間節點的接口隊列長度來檢測網絡擁塞水平,并顯式地反饋給客戶端。客戶端調整Interest包的發送速率,從而控制Data包的轉發速率,實現網絡擁塞控制。文獻[5]提出的CHoPCoP機制主要是通過ECN通告接收端發生擁塞的路徑。文獻[6]提出的ICP機制,該機制是客戶端通過RTT控制興趣包的發送速率,但對于NDN數據的多源性,RTT是變化的。文獻[7]提出的隨機丟棄興趣包,實現網絡擁塞控制,該機制主要是當網絡發生擁塞時,節點隨機丟棄興趣包,減少對應節點興趣包的發送速率。文獻[8]為基于流行度的擁塞控制機制,當網絡發生擁塞時,將不流行的數據所對應的興趣包丟棄,實現網絡的擁塞控制。

圖1 NDN擁塞模型
針對視頻數據實時性要求,以及視頻數據在客戶端解碼時需要參考重要幀的特性[9],本文站在用戶獲取數據的角度,以最大化用戶接收數據包數量為目標,結合視頻數據內部特性,對視頻內部重要數據保護,實現視頻數據在NDN中的控制傳輸。在興趣包轉發的過程中避免向擁塞鏈路的轉發,自適應的選擇網絡性能最佳轉發接口,實現不同視頻流對應興趣包的自適應轉發,從而實現較小的網絡丟包;在數據包傳輸過程中發生丟包時,對重要NALU(Network Abstract Layer Unit)[9]進行保護,實現重要NALU的可靠傳輸。
本文的主要思想是以最小化網內丟包為目標,通過控制節點接口轉發興趣包的速率,自適應地選擇最佳鏈路進行興趣包的轉發。興趣包在轉發的過程中,根據馬爾科夫模型自適應地選擇接口實現興趣包的轉發,避免興趣包向擁塞鏈路的轉發,減少網內丟失數據包的數目。在數據包轉發的過程中,網絡發生擁塞,數據包轉發接口的隊列被占滿時,將導致數據包丟失。但本文對將要發生丟失數據包進行判斷,將視頻內部非重要或者非參考NALU所對應的數據包丟棄,對重要NALU進行保護,實現重要NALU的可靠傳輸。本文提出的控制傳輸機制,以客戶端獲取數據體驗為出發點,提高視頻數據在NDN中的傳輸效率,改善用戶獲取數據體驗。
1.1 模型的建立與分析
針對NDN中視頻數據的傳輸,本文在不采用重傳機制的條件下,以最大化客戶端接收數據包的數量為目標,實現視頻數據的控制傳輸。從而將以最大化客戶端接收數據包的數量轉化成最小化網內丟包,目標函數如式(1)所示:
(1)
其中:M表示節點的個數,N表示節點通往上游的接口數目,ai(t)、bi(t)分別表示接口的發送和接收速度。
由目標函數可知,通過控制接口的發送速率和接收速率的差值實現最優化,即控制興趣包向擁塞鏈路的轉發,實現興趣包最佳接口的自適應轉發。為興趣包選擇轉發接口建立馬爾科夫模型,將節點向上游轉發的不同接口作為不同的狀態,如圖2所示。

圖2 接口狀態
節點node存在3個轉發至上游鏈路的接口,分別為face_1,face_2,face_3,三個接口分別對應狀態1、狀態2、狀態3。當前時刻興趣包選擇哪個接口向上游鏈路轉發只與前一時刻鏈路的狀態有關。接口的狀態轉移概率矩陣P:
其中:N表示節點轉發至上游鏈路的接口數,pij表示由接口i轉發興趣包轉換成接口j的轉移概率。
1.2 興趣包自適應選擇接口轉發的實現
為實現興趣包的自適應轉發,避免興趣包向擁塞鏈路的轉發,在最小化丟包的條件下實現網絡的控制傳輸。該機制的實現需要為數據包添加一個字段,即接口上游鏈路最大允許發送速率。數據包被轉發至第一個節點時,將該接口的發送速率添加到該字段。在數據包轉發的過程中,如果接口允許的最大發送速率小于攜帶的發送速率,則更新數據包攜帶的發送速率,否則將攜帶的發送速率記錄在節點對應的接口內,其中接口最大允許發送速度的更新時間為Δ(t)。用f(t)表示當前時刻接口的狀態,當接口發送興趣包的速率大于當前時間段上游鏈路中瓶頸帶寬最大允許的發送速率時f(t)=0,否則f(t)=1,如式(2)所示:
(2)
其中:vs(t)表示對應接口當前時間的發送速率,vi(t)表示由該節點對應的接口通往上游鏈路中在時間t時最大的允許發送速度,vi(t)如式(3)、式(4)所示:

(3)

(4)
其中:Δt表示更新統計接口最大允許發送速度的時間間隔,B表示鏈路帶寬,vrd(t)表示接口接收數據包的速度,sizei表示興趣包的大小,sized表示數據包的大小。
由于NDN網內節點固有的緩存特性,在興趣包的轉發過程中,請求可以在中間節點被響應,所以距離服務端遠(跳數多)的轉發路徑并不代表獲取數據需要的時間大于距離服務器近的轉發路徑。本文在選擇接口轉發時,統計前一時刻同一視頻文件在不同接口轉發的往返時延,針對不同的視頻流,選擇該視頻流往返時延最小的轉發接口。在節點對應的接口上統計不同視頻流請求數據的平均往返時延為RTTf,當一段視頻流第一次選擇某一接口進行興趣包的轉發時,將RTTf=RTTavg,RTTavg為不同接口對應所有視頻流的平均往返時延,計算公式如下:

(5)

(6)
其中:STfi、ATfi分別表示接口的發送和接收fi的時間,num表示接口周期內收到每個視頻流內部數據包個數,NUM表示接口周期內接不同視頻流數目。
在興趣包轉發的過程中,統計接口對應上游鏈路帶寬的承受能力為Bable(t)(分母表示在時間段內帶寬的消耗強度,分子表示當前時刻可用帶寬):

(7)
其中:B(t)=B-vrd(t),B表示鏈路帶寬,vrd(t)接口接收數據包的速度。
設置中間函數如下:

(8)
其中:α、φ分別表示接口獲取數據包的往返時延和帶寬承受能力的權重因子,m(?)表示每個接口?的中間函數。
對每個節點的N個向上游鏈路轉發的接口進行歸一化:

(9)
根據馬爾科夫模型,興趣包在轉發的過程中選擇最佳的轉發接口,避免興趣包向擁塞鏈路的轉發,從而實現網絡的控制傳輸,其中轉移概率pij為:

(10)

興趣包在轉發的過程中,每個節點對應的接口以時間間隔Δt統計更新信息,比如接口當前時間的最大允許發送速率,對應的平均往返時延等。興趣包在轉發的過程中,根據馬爾科夫模型選擇網絡性能最佳的接口進行興趣包的轉發。在興趣包轉發的過程中,查看對應的視頻流的條目是否存在FIB中,如果存在,直接按照選定的轉發接口進行轉發,如果選擇轉發的接口不在FIB,則先將選擇的接口添加至FIB中,從而實現興趣包的轉發;如果對應的興趣包條目不存在FIB中,則需要將興趣包的名字前綴以及已選擇的接口添加到FIB中,從而實現在本地的轉發。數據包在轉發的過程中,數據包攜帶上游鏈路的最大允許的發送速率,節點對應的接口記錄對應上游鏈路的最大允許發送速率,通過比較接口當前的發送速率與接口對應上游鏈路的最大允許發送速率的值更新接口的狀態。
興趣包自適應轉發的算法實現:
Interest forward
1: the face will compute the max allowed send speed of the upstream link in △t
2: the forward face will sign the max allowed speed of the upstream link and update carried send speed of Data;
3: statistics the face information, such as RTT
4: Interest choose forward face by Markov
5: if the Fib entry exist FIB then forward the Interest by selected optimal face;
6: else append(prefix ,face)to FIB and forward Interest.
1.3 重要數據包可靠傳輸的實現
在數據包轉發的過程中,當網絡發生擁塞導致數據包丟失時,則將視頻內部非重要或者非參考NALU所對應的數據包丟棄。對于視頻數據的傳輸,需要對視頻編碼后才可以進行傳輸,采用HEVC(High Effective Video Code)壓縮后的視頻碼流由NALU組成。NALU具有不同的類型,NALU頭部包含其類型信息,壓縮后的視頻碼流之間存在參考和依賴關系。在解碼端,普通的NALU需要參考重要類型的NALU(參數集NALU,I幀對應的NALU)才能正確的解碼。本文在對視頻數據傳輸的過程中,考慮視頻數據內部重要性的不同,在網絡發生丟包時,對重要數據進行保護,改善用戶獲取數據體驗,為數據包添加重要標識位,如圖3所示。網絡發生丟包判斷,當Pqueue=1時,數據包在轉發的過程中出現丟包。當數據包到達,若Pqueue<1,正常轉發;否則,判斷到達的數據包是否攜帶有重要標志位,如果沒有直接丟棄;若有,判斷隊列尾部中等待轉發的數據包是否為重要數據包,如果不是,則將對尾數據刪除,轉發到達的數據包,如果是重要數據包,則重新判斷隊列中其他數據。
Pqueue=Qcountdata/Queuelength
(11)
其中:Qcountdata表示接口隊列中排隊等待轉發的數據包的數量,Queuelength表示接口隊列的總長度。

圖3 數據包格式
重要NALU數據包保護的算法實現:
Forward Data;
1: if P_queue<1 then forward Data;
2: else if Data carry important sign
3: if another Data in queue’s tail of the face is not important;then drop the Data and forward the arrived Data;
4: else find not important Data and drop it;
5: else drop the arrived Data;
本文提出的控制傳輸機制在Linux操作系統下,基于NS3的ndnSIM的仿真平臺下進行性能的測試[10]。每個用戶對視頻序列進行均勻請求,每個視頻文件由500塊組成,每個節點的隊列長度設置為20。拓撲結構如圖4所示。

圖4 拓撲結構
由于本文針對視頻數據傳輸進行研究,為了滿足視頻數據的實時性[11],本文對于丟包的數據不采用重傳機制。該測試的對比算法為NDN中轉發策略中的最優路由機制(BestRoute),興趣包整流機制,(Random-Drop)即網絡發生擁塞時,隨機丟棄興趣包,并分別在不同的發送速率和不同的瓶頸帶寬的環境下對算法進行測試,本文測試的性能指標如下所示:
? 丟包率:表示發送興趣包的總量與接收數據包的總量的差值與客戶端興趣包發送的總次數的比值。
? 平均時延:指用戶發送興趣包至接收到對應數據包所需要的時間。
? 重要NALU丟失率:表示客戶端發送重要NALU的興趣包總量與接收NALU數據包總量的差值與客戶端發送興趣包的總數。
? 客戶端平均接收數據包的總數量:表示在視頻數據請求完畢,平均每個用戶接收到數據包的數量。
不同發送速率的測試中,網內瓶頸帶寬為2 Mbit/s,不同帶寬的測試中,發送速率為300個/秒。
圖5和圖6分別表示不同發送速率和不同帶寬下的網內丟包率。圖5表示,隨著用戶的發送速率增加,網內擁塞加劇,丟包數目增加,圖6表示隨著帶寬的增加,網內丟包數目減少。相比于對比算法,本文提出的AFCCP在轉發的過程中自適應地選擇接口轉發,避免了向擁塞鏈路的轉發,減少網內丟包數目。

圖5 丟包率VS發送速率

圖6 丟包率VS瓶頸帶寬
圖7和圖8分別表示不同發送速率和帶寬的條件下,用戶的平均訪問時延。圖7表示由于發送速率增加,雖然丟包數目增加,但由于網絡擁塞的增加,平均時延隨著發送速率的增加而增加。圖8表示隨著帶寬的增加,相同條件下網內擁塞減緩,用戶的平均時延減少。但相比于對比算法,本文提出的AFCCP在轉發的過程減緩網絡擁塞,并且在轉發的過程中考慮鏈路時延小的接口轉發,所以具有較小的時延。

圖7 平均時延VS發送速率
圖9和圖10分別表示不同發送速率和帶寬下的重要NALU的丟包率。由于本文提出的AFCCP在數據包發生丟失時對重要NALU進行保護,從而實現重要NALU數據包能夠可靠傳輸至客戶端。在對比算法中,重要NALU的丟包具有隨機性,但隨著發送速率的增加,整體呈上升的趨勢,隨著帶寬的增加,重要NALU的丟包率整體呈下降趨勢。

圖9 重要NALU的丟包率VS發送速率

圖10 重要NALU的丟包率VS瓶頸帶寬
圖11和圖12分別表示不同發送速度和帶寬條件下,網內每個用戶平均接收數據包的數量。圖11表示隨著用戶訪問速率的增加,網內擁塞加劇,用戶接收數據包的數量逐漸減少。圖12表示隨著帶寬的增加,用戶平均接收數據包的數量逐漸增加,相比于對比算法,本文提出的AFCCP有效地避免擁塞鏈路,選擇最佳的鏈路進行轉發,從而在相同的條件,用戶的平均接收的數據包的數量最多。

圖11 客戶端接收數據包數量VS發送速率

圖12 客戶端接收數據包數量VS瓶頸帶寬
本文針對命名數據網絡中視頻數據的傳輸提出基于擁塞控制的傳輸機制,本文提出的AFCCP以用戶為出發點,將網絡的丟包數據降低至最少,實現數據的可靠傳輸。本文為興趣包轉發的過程中接口的選擇建立馬爾科夫模型,自適應選擇最佳鏈路進行興趣包的傳輸。AFCCP在網絡擁塞發生丟包時,對視頻內部重要NALU數據進行保護,實現重要NALU可靠傳輸。AFCCP在較小訪問時延的條件下,實現較小的網內丟包,增加用戶接收數據包的數量,改善用戶獲取數據體驗。
[1] 謝高崗,張玉軍,李振宇,等.未來互聯網體系結構研究綜述[J].計算機學報,2012,35(6):1109-1119.
[2] Zhang L,Afanasyev A,Burke J,et al.Named data networking[J].ACM SIGCOMM Computer Communication Review,2014,44(3):66-73.
[3] Cisco Visual Networking Index.Global Mobile Data Traffic Forecast Update,2014-2019[EB].Cisco Systems,Inc,2015-02-03.
[4] 唐瀟,任勇毛,李俊,等.一種基于顯式反饋的內容中心網絡NDN擁塞控制算法[J].科研信息化技術與應用,2014,5(3):68-77.
[5] Zhang F,Zhang Y,Reznik A,et al.A transport protocol for content-centric networking with explicit congestion control[C]//2014 23rd International Conference on Computer Communication and Networks (ICCCN).IEEE,2014:1-8.
[6] Carofiglio G,Gallo M,Muscariello L.ICP:Design and evaluation of an interest control protocol for content-centric networking[C]//Computer Communications Workshops (INFOCOM WKSHPS),2012 IEEE Conference on.IEEE,2012:304-309.
[7] Rozhnova N,Fdida S.An effective hop-by-hop interest shaping mechanism for ccn communications[C]//Computer Communications Workshops (INFOCOM WKSHPS),2012 IEEE Conference on.IEEE,2012:322-327.
[8] Park H,Jang H,Kwon T.Popularity-based congestion control in named data networking[C]//2014 Sixth International Conference on Ubiquitous and Future Networks (ICUFN).IEEE,2014:166-171.
[9] Sullivan G J,Ohm J R,Han W J,et al.Overview of the high efficiency video coding (HEVC) standard[J].Circuits and Systems for Video Technology,IEEE Transactions on,2012,22(12):1649-1668.
[10] Zhou J,Wu Q,Li Z,et al.A proactive transport mechanism with explicit congestion notification for NDN[C]//2015 IEEE International Conference on Communications (ICC).IEEE,2015:5242-5247.
[11] 陶勇,程東年.內容中心網絡中基于內容感知的QoS保證機理探析[J].計算機應用研究,2016,33(3):813-816.
CONGESTIONCONTROLMECHANISMBASEDONADAPTIVEFORWARDINGOVERNAMINGDATANETWORKING
Huang Sheng Hao Yanming Jiang Lianghao Zheng Danling
(KeyLabofOpticalCommunicationandNetwork,ChongqingUniversityofPostsandTelecommunication,Chongqing400065,China)
To improve the reliable transmission of video data in the named data network, this paper proposes an Adaptive Forward Congestion Control Policy (AFCCP) from the client’s point of view. AFCCF aims at minimizing network packet loss and establishes a Markov model for the selection of interfaces. AFCCF adaptively selects the best forwarding interface through the state of the previous time interval link and to reduce the forwarding of interest packets to the congested link. Reducing the number of packet loss in the network to realize network congestion control. On the basis of this, AFCCF aims at the internal properties of video data, consider the characteristics of the decoding side when network occurs packet loss, AFCCP will selectively discard packet, to achieve reliable transmission for the important data within the video. The simulator results show that AFCCP achieves a low packet loss rate at low latency and increases the number of packets
by the user, thus improving the user’s access to data experience.
NDN Adaptive Packet loss minimization Markov Congestion control Reliable transmission
2017-01-04。國家自然科學基金項目(61371096)。黃勝,教授,主研領域:命名數據網絡的高效傳輸,高效視頻編碼,信道編碼,圖像處理。郝言明,碩士生。姜良浩,碩士生。鄭丹玲,講師。
TP393
A
10.3969/j.issn.1000-386x.2017.12.035