命名数据网络中基于自适应转发的拥塞控制机制
2018-01-03郝言明姜良浩郑丹玲
黄 胜 郝言明 姜良浩 郑丹玲
(重庆邮电大学光通信与网络重点实验室 重庆 400065)
命名数据网络中基于自适应转发的拥塞控制机制
黄 胜 郝言明 姜良浩 郑丹玲
(重庆邮电大学光通信与网络重点实验室 重庆 400065)
为了提高命名数据网络NDN(Named Data Networking)中视频数据的可靠传输,站在客户端的角度,提出一种基于自适应转发的拥塞控制机制AFCCP(Adaptive Forward Congestion Control Policy)。AFCCF以网络丢包最小化为目标,为接口的选择建立马尔科夫模型,通过前一时间间隔链路的状态,自适应地选择最佳的转发接口,减少兴趣包向拥塞链路的转发,降低网内的丢包数目,实现网络拥塞控制。在此基础上,AFCCF针对视频数据内部属性,考虑解码端特点,在网络发生丢包时,选择性地对数据包丢弃,实现视频内部重要数据的可靠传输。仿真结果表明,AFCCP在较低时延的条件下,实现网络较小的丢包率,增加用户接收数据包的数量,从而改善用户获取数据体验。
命名数据网络 自适应 丢包最小化 马尔科夫 拥塞控制 可靠传输
0 引 言
随着网络的发展,通信方式的转变,内容化是互联网发展的方向;命名数据网络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的可靠传输。
1 基于自适应转发拥塞控制的实现
本文的主要思想是以最小化网内丢包为目标,通过控制节点接口转发兴趣包的速率,自适应地选择最佳链路进行兴趣包的转发。兴趣包在转发的过程中,根据马尔科夫模型自适应地选择接口实现兴趣包的转发,避免兴趣包向拥塞链路的转发,减少网内丢失数据包的数目。在数据包转发的过程中,网络发生拥塞,数据包转发接口的队列被占满时,将导致数据包丢失。但本文对将要发生丢失数据包进行判断,将视频内部非重要或者非参考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;
2 仿真结果
本文提出的控制传输机制在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瓶颈带宽
3 结 语
本文针对命名数据网络中视频数据的传输提出基于拥塞控制的传输机制,本文提出的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