基于SDN具有缓存感知的NDN节点拥塞控制策略
2023-02-15刘开华侯雅俊宫霄霖
刘开华,侯雅俊,李 卓, 3,宫霄霖,罗 蓬
基于SDN具有缓存感知的NDN节点拥塞控制策略
刘开华1, 2,侯雅俊1, 2,李 卓1, 2, 3,宫霄霖1, 2,罗 蓬4
(1. 天津大学微电子学院,天津 300072;2. 天津市成像与感知微电子技术重点实验室,天津 300072;3. 鹏城实验室,深圳 518000;4. 国网河北省电力有限公司电力科学研究院,石家庄 050021)
命名数据网(named data networking,NDN)作为一种新型的互联网架构,旨在应对日益增长的数据流量.然而,随着用户需求进一步增长,拥塞控制对于多路径传输的命名数据网仍然是一个具有挑战性的问题,亟需一种能够快速地检测网络拥塞和有效地管理网络资源的拥塞控制机制.针对这一问题,提出了一种基于软件定义网络技术的、具有缓存感知功能的命名数据网节点拥塞控制策略,称BCMCC.首先,介绍了BCMCC的新型网络架构.利用软件定义网络控制平面与数据平面解耦合技术,该架构将拥塞控制功能集中于SDN控制器中,以实现集中式节点拥塞控制、降低节点运行负荷的目的.其次,基于新型网络架构,研究了BCMCC的缓存感知算法和多路径选择拥塞控制算法.其中,缓存感知算法实现了网络缓存内容的感知以及缓存内容全局流行度的计算,能够利用命名数据网的节点缓存特性,降低缓存内容对拥塞控制的影响;多路径选择拥塞控制算法协同节点更新转发端口信息以实现流量迁移、智能化管理多路径容量,达到提高网络资源利用率、有效避免和缓解网络拥塞的目的.最后,在ndnSIM仿真平台进行BCMCC的性能测试.实验结果表明,BCMCC在丢包量、网络吞吐量以及传输时延等方面优于Best-Route算法、NCC算法和Random算法.在网络流量相同的情况下,BCMCC平均传输时延比Random低14.16%,比NCC低22.68%,比Best-Route低17.24%,同时相比Best-Route具有更稳定的网络吞吐量.BCMCC可以有效解决命名数据网拥塞问题.
命名数据网;缓存感知;多路径选择;拥塞控制;软件定义网络
随着互联网应用主体由资源共享逐渐转变为对数据内容的获取与分发,传统TCP/IP网络存在的一些固有问题日渐显露,特别是在可扩展性、灵活性、移动性等方面显现出较低的适应性[1-2].在这种情况下,面向数据内容、支持多源多路径内容检索的新型网络体系架构——命名数据网(named data networking,NDN)[3-4]一经提出便吸引众多研究人员的关注.
与传统TCP/IP通信模式不同,NDN的请求端通过发送包含数据名称的兴趣包,从网络中“拉”取与兴趣包对应的数据内容.这种通信模式使得NDN具有多路径内容检索和流量自平衡的传输特点,实现了更为高效的数据传输.然而,面对用户突发大量内容请求的压力或者当用户突发大量请求时,即使实现流量自平衡的NDN也不能有效避免拥塞的发生.因此,作为保证网络高效、稳定运行的关键因素,拥塞控制是目前NDN重要研究问题之一[5].
现存的TCP/IP拥塞控制机制主要依赖于请求端根据过数据往返时间(round-trip time,RTT)调整发送窗口,以缓解网络拥塞.而NDN多路径内容检索特性使数据包拥有不同的传输时延,导致请求端无法区分信息来源以启动正确的超时重传机制(retransmission timeout,RTO).因此,基于RTT的TCP/IP拥塞控制机制不适用于NDN[6],需要专门为NDN设计新的、有效的拥塞控制机制.
针对NDN的传输特性,目前学术界提出了基于中间节点的拥塞控制机制.根据控制方式不同,其被划分为基于兴趣包速率调整的拥塞控制策略和基于多路径转发的拥塞控制策略.基于兴趣包速率调整的拥塞控制策略[7-13]主要是节点通过控制转发请求表(pending interest table,PIT)调整兴趣包转发速率,以调整返回的数据包速率,实现缓解网络拥塞的目的.然而,该类方案在节点处进行复杂的拥塞检测及速率调整会增加算法设计难度,开销巨大且会受到节点资源的限制.同时,通过速率调整的方案极大可能造成节点流量累积,加剧网络拥塞.为避免流量累积造成的严重拥塞,基于多路径转发的拥塞控制策略[14-15]通过控制维持多个可用端口信息的转发信息表(forwarding information base,FIB),将拥塞链路中的部分流量转移到其他可用链路以缓解拥塞.但由于NDN节点间的相对独立性,该类方案无法预测网络的流量分布,使得节点控制难以实现长期的路径选择效益,同时还可能在其他链路中引入拥塞.
软件定义网络(software-defined network,SDN)[16]作为一种创新性技术,它将网络控制和转发功能解耦合,形成逻辑集中的控制平面和负责转发的数据平面.其逻辑集中的管理功能实现了全局网络拓扑结构的获取和动态网络资源优化,为拥塞控制带来巨大优势.
因此,本文采用软件定义网络技术,提出了基于SDN的具有缓存感知的NDN节点拥塞控制策略.首先,针对结合SDN与NDN的网络架构及控制器功能模块进行介绍.其次,基于该架构,本文对缓存感知的多路径选择拥塞控制策略(BCMCC)进行设计.BCMCC利用SDN控制器提出缓存定位算法,实现网络内缓存感知.并且,BCMCC提出多路径选择拥塞控制算法,该算法利用SDN控制器获取的网络全局实时节点信息与节点协同控制,能够有效避免替换路径的拥塞,提高了链路利用率.
1 BCMCC的网络架构介绍
本文提出的网络架构如图1所示.该架构主要由NDN节点和SDN控制器两个网络元素组成.
图1 网络架构模型
其中,为了保持NDN自身的传输特性,本架构保留NDN节点的数据结构.
SDN控制器主要由多个功能模块组成,包括拓扑管理模块、全局信息缓存模块、缓存管理模块和负责协同节点拥塞控制的多路径选择模块.其中,拓扑管理模块负责管理全局拓扑中的所有路由节点和链路;全局信息缓存模块用于存储控制器周期性地向NDN节点发送查询请求获得的本地信息(节点的链路信息等);缓存管理模块接收节点缓存信息;多路径选择模块计算出节点各个端口的成本,用以指导节点对流量的转发及管理.同时,逻辑集中的SDN控制器作为核心部分,与NDN节点进行信息交互.
2 BCMCC方案设计
BCMCC方案主要包括基于SDN的缓存感知算法、网络拥塞检测和基于SDN的多路径转发拥塞控制算法.
2.1 基于SDN的缓存感知算法
其次,SDN控制器会将收集的节点缓存信息维护在缓存管理模块中,以感知网络内的缓存信息.同时,SDN控制器的缓存管理模块将计算缓存信息的全局内容流行度.
全局内容流行度是指SDN集中控制域内所有用户请求内容的流行度,能够表明该数据内容的需求度.SDN的缓存管理模块通过周期性地从边缘节点(与请求端直接相连的节点)收集请求信息以计算内容的全局流行度.内容全局流行度计算公式为
表1 缓存信息统计
Tab.1 Cache information statistics
2.2 网络拥塞检测
Nichols等[17]指出检测拥堵最可靠的地方是在发生拥塞的链路上.因此,为了能够直接及时地反映网络拥塞状态,BCMCC将链路利用率作为判断网络是否发生拥塞的参数.链路利用率计算公式为
2.3 基于SDN的多路径选择拥塞控制算法
基于SDN的多路径选择拥塞控制算法协同中间节点实现基于全局缓存信息以及全局节点信息的路径更新选择,以缓解上游拥塞、保证网络传输性能. BCMCC多路径选择拥塞控制的过程步骤如下.
步骤1 定位拥塞链路:接收到拥塞信号,SDN控制器解析拥塞信号并定位拥塞链路及节点.
步骤2获取待操作内容:SDN控制器将查询到的拥塞节点FIB表条目信息与缓存管理模块信息进行匹配,选择待操作的内容前缀组.
步骤3定位分流节点:SDN控制器调用拓扑管理模块遍历拥塞路径下游节点,直至遍历到具有多个可用端口的节点,选定其为分流节点.
步骤4端口成本计算:SDN控制器多路径选择模块调用全局信息缓存模块,计算分流节点的端口 成本.
步骤5信息下发:SDN控制器将计算后的信息下发至分流节点,更新其端口信息.
SDN控制器使用全局信息来进行端口成本计算以协同节点进行路径选择,而不是采用将拥塞链路上的流量直接从转发表次优端口进行转发,可以避免造成新的链路拥塞.
基于全局信息的端口成本计算公式为
3 实验仿真
本节将BCMCC在6核处理器、8GB内存的Ubuntu 20.04环境下的ndnSIM 2.6[18]中进行性能评估.在丢包率、时延和吞吐量等方面,与ndnSIM中带有拥塞控制的转发策略Best-Route、Random、NCC进行比较,以评估BCMCC的性能.
3.1 仿真实验设置
用于仿真实验的网络拓扑由8节点组成,如图2所示.其中C1、C2和C3作为网络中的请求端将向网络发送请求.请求端与接入节点R1之间的链路带宽为10Mb/s,并且有着相同的延迟(10ms).P1和P2作为网络中的内容源,提供相应的数据内容.每个内容源与节点R2之间的链路带宽为50Mb/s,并且有着相同的延迟(1ms).中间节点间的链路设置信息如表2所示.
作为内容生产源,P1中的数据内容名称为/data/0、/data/1和/data/2;P2中的数据内容名称为/data/2和/data/3.作为内容请求者,C1在=0s、1s、2s时分别请求 /data/0、/data/1、/data/2,C2在=2.5s、3.5s时分别请求/data/2、/data/3,C3在=2s时请求 /data/2.R1将按照内容流行度对数据内容进行缓存.
图2 实验网络拓扑
表2 链路设置信息
Tab.2 Link setting information
3.2 实验结果与分析
3.2.1 丢包数量
丢包数量表示随机丢弃数据包的个数.当某一时刻网络节点接收到的数据包超过该节点的处理能力时,即接收的数据包超出队列长度阈值,将会对数据包随机丢弃以缓解节点压力.
仿真实验中,通过记录丢包数量评估拥塞控制算法的稳定性.在NDN中,Data包往往远大于Interest包,是引起丢包的主要因素.因此,选取在拓扑图中直接连接内容源的R2作为观测点,节点R2随着链路流量增大的丢包数量如图3所示.
图3 R2丢包数量比较
其中NCC的稳定性最差,=3.5s时开始出现丢包现象.这是因为NCC依据端口时延选择转发端口,相比以丢包和链路流量作为选择参数的其他3种对比方案,该方案具有延迟性,对于网络拥塞的反应最为迟缓.=7.5s时,由于R1-R3-R2相比R1-R2时延较小,迁移至R1-R3-R2的流量增多,此时出现丢包减小的趋势.但在总的网络流量不变的前提下,随着R1-R3-R2路径流量的增多会再次出现拥塞,产生与=4s之后同样的现象.
Best-Route的稳定性较好于NCC.=9.5s时,网络开始出现丢包并且丢包量持续在90附近.说明随着网络流量的增多,Best-Route将无法缓解链路拥塞甚至会影响用户获取数据的能力.一旦发生持续性的流量过载,网络将陷入崩溃,从而大量的Data包被丢弃.
Random与BCMCC的丢包量为0.Random在转发过程中将Interest包分比例地从可用端口中转发出去,因此在此情景之中,其丢包量为0.BCMCC利用链路信息能够及时准确检测出网络拥塞情况,并且利用SDN控制器协同节点进行多路径转发,有效地缓解了链路的拥塞情况.
3.2.2 传输时延
传输时延是指内容请求者从发出第1个Interest包到接收该内容Data包之间的时间间隔.在请求内容以及网络状态相同的情况下,完成传输所需的时间越短,表示拥塞算法的效率越高,网络的传输性能越好.本节将分析不同方案下C1、C2和C3的传输时延,实验结果如图4所示.
如图4(a)所示,在实验前期,因R2缓存的数据副本满足C2发送的内容请求,Best-Route方案能够使得C2的传输时延维持在0.02~0.04s之间.在=9s后,C1和C2的传输性能直线下降,其传输时延剧烈变化最高为0.325,C3的传输时延增加至0.07s左右.这是由于网络发生拥塞,节点将部分流量从R1-R2转移至R1-R3-R2.但此时R1-R2中的数据仍然超过处理能力范围,从而出现丢包情况,导致数据传输时延猛增.
图4(b)所示,与Best-Route相比,在=9s前NCC的拥塞控制效果较差.该时间内,NCC出现由于节点丢弃超出处理能力范围的数据包,C1和C2传输时延超出0.12s.但在=9s后,NCC选择最小时延的端口转发Interest包.因此实验结果表明NCC方案优于Best-Route,C1、C2和C3的时延整体低于Best-Route,维持在低于0.25s的水平.这是因为在=9s后,Best-Route与NCC同样出现丢包现象.但是NCC丢包量略低于Best-Route.
Random实验结果如图4(c)所示,整体时延在0.04~0.07s之间波动.由于Random直接将Interest包分比例通过可用端口转发,因此相比Best-Route与NCC,Random的传输时延整体较低.受缓存的影响,C2的传输时延部分为0.02s.未被满足的数据内容因等比例在R1-R2和R1-R3-R2中传输,C1和C2传输时延符合设定的链路时延,在0.040~0.075s之间跳动.
BCMCC在拥塞控制时考虑到内容缓存以及内容流行度,能够保持内容在最佳路径中传输,因此图4(d)中,C2和C3的传输时延为0.04s,C1的传输时延在0.04~0.07s之间波动.同时,由于C2的请求部分被R1满足,因此在3.75~8.75s时间段内C2的传输时延为0.02s.
3.2.3 网络吞吐量
吞吐量是指在单位时间内通过某个网络的数据量.在网络参数一定的情况下,单位时间内通过的数据量越多表明拥塞控制算法的传输效率越高,网络处理数据的能力越强.
本节分别考虑到网络整体吞吐量以及节点端口吞吐量两个指标.前者一定程度上可以反映出拥塞算法的有效性,后者可以反映出拥塞算法对于流量控制的能力.
网络整体吞吐量实验结果如图5所示.可以看出,Best-Route和NCC方案在=8s后受到丢包影响,相比其他方案的吞吐量较低.其中NCC的总吞吐量不稳定,呈现上下波动的情况.这是因为在NDN中,Data包往往远大于Interest包,且一个Interest包对应一个Data包.数量较多的Interest包涌入网络,促使大量的Data包返回超出R2的队列阈值.这使得数据包被丢弃,从而导致网络吞吐量整体下降.从实验结果可以看出,完成网络正常传输的Random和BCMCC两者整体吞吐量稳定在实验设定网络吞吐量的水平.
图5 网络总吞吐量比较
节点端口吞吐量的对比实验中,选取了拓扑图中维护多个转发端口的R1作为实验分析对象.节点端口吞吐量的差异可以分析出不同多路径转发机制对于链路流量的处理能力.Best-Route、NCC、Random和BCMCC方案中R1的端口吞吐量实验结果如图6所示.
Best-Route中R1的端口吞吐量实验结果如图6(a)所示.其中R1的端口261中的流量明显低于NCC、Random和BCMCC.这是因为Best-Route选取最短路径作为转发Interest包的最佳路径,灵活性较差.当拥塞发生后,将少量流量进行迁移,因此端口261吞吐量明显低于端口260.
图6 R1端口吞吐量比较
如图6(b)所示,NCC将Interest包转发到延迟最低接口,能够灵活地运用节点的多个端口转发数据.因此,相比Best-Route,NCC在仿真开始R1的端口261对少量流量进行传输.但是NCC需要随时更新的接口信息,导致节点负荷较高,从而造成网络拥塞控制有效性下降.同时,端口261吞吐量波动幅度较大,说明该拥塞算法对于流量的控制能力较差.
Random中R1的端口吞吐量实验结果如图6(c)所示.实验结果明显地展示了Random转发数据时对端口的选择.该方案对流量等比例通过可用端口进行转发,实现了链路流量均衡,因此,R1两个可用端口的吞吐量曲线接近重合.
与Random不同,当BCMCC检测网络出现拥塞时执行多路径选择.因此图6(d)中=4s后端口261开始转发数据.在多路径转发过程中,保证网络中流行度较高的内容在最佳路径中传输,因此BCMCC端口260的吞吐量高于Random端口260的吞吐量.
4 结 语
针对现存NDN中基于多路径转发的拥塞控制方案存在的不足,本文提出一种基于SDN的缓存感知的逐跳拥塞控制策略.在节点进行流量管理时,BCMCC利用SDN逻辑集中的控制器进行协调,进一步提高NDN的网络传输性能,提高网络资源利用率.实验结果表明,BCMCC在丢包量、吞吐量以及传输时延等方面优于对比方案.在网络流量相同的情况下,BCMCC的传输时延整体比Random低14.16%,比NCC低22.68%,比Best-Route低17.24%,同时具有更稳定的网络吞吐量.
在未来的工作中将设计与拥塞控制有效合作的缓存机制,进一步提高节点之间的合作,更有效地提高网络资源的利用率.
[1] Salzer J H,Reed D P,Clark D D. End-to-end arguments in system design[J]. ACM Transactions on Computer Systems(TOCS),1984,2(4):277-288.
[2] 黄 韬,刘 江,霍 如,等. 未来网络体系架构研究综述[J]. 通信学报,2014,35(8):184-197.
Huang Tao,Liu Jiang,Huo Ru,et al. A review of future network architectures[J]. Journal on Communication,2014,35(8):184-197(in Chinese).
[3] Zhang L,Afanasyev A,Burke J,et al. Named data networking[J]. ACM SIGCOMM Computer Communication Review,2014,44(3):66-73.
[4] Jacobson V,Smetters D K,Thornton J D,et al. Networking named content[J]. Communication of the ACM,2012,55(1):117-124.
[5] Chen Q,Xie R,Yu F R,et al. Transport control strategies in named data networking:A survey[J]. IEEE Communications Surveys and Tutorials,2016,18(3):2052-2083.
[6] Ren Y,Li J,Shi S,et al. Congestion control in named data networking—A survey[J]. Computer Communica-tions,2016,86:1-11.
[7] Rozhnova N,Fdida S. An effective hop-by-hop interest shaping mechanism for CCN communications[C]//2012 Proceedings IEEE INFOCOM Workshops. Orlando,USA,2012:322-327.
[8] Rozhnova N,Fdida S. An extended hop-by-hop interest shaping mechanism for content-centric networking[C]// 2014 IEEE Global Communication Conference. Austin,USA,2014:1-7.
[9] Wang Y,Rozhnova N,Narayanan A,et al. An improved hop-by-hop interest shaper for congestion control in named data networking[J]. ACM SIGCOMM Computer Communication Review,2013,43(4):55-60.
[10] Mishra P P,Kanakia H,Tripathi S K. On hop-by-hop rate-based congestion control[J]. IEEE/ACM Transac-tions on Networking,1996,4(2):224-239.
[11] Carofiglio G,Gallo M,Muscariello L. Joint hop-by-hop and receiver-driven interest control protocol for content-centric networks[J]. ACM SIGCOMM Computer Communication Review,2012,42(4):491-496.
[12] 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. Shanghai,China,2014:1-8.
[13] Zhang F,Zhang Y,Reznik A,et al. Providing explicit congestion control and multi-homing support for content-centric networking transport[J]. Computer Communications,2015,69:69-78.
[14] Yi C,Afanasyev A,Moiseenko I,et al. A case for stateful forwarding plane[J]. Computer Communica-tions,2013,36(7):779-791.
[15] Schneider K,Yi C,Zhang B,et al. A practical congestion control scheme for named data networking[C]// Proceedings of the 3rd ACM Conference on Information-Centric Networking. Kyoto,Japan,2016:21-30.
[16] Cox J H,Chung J,Donovan S,et al. Advancing software-defined networks:A survey[J]. IEEE Access,2017,5:25487-25526.
[17] Nichols K,Jacobson V. Controlling queue delay[J]. Communications of the ACM,2012,55(7):42-50.
[18]Mastorakis S,Afanasyev A,Zhang L X. On the evolution of ndnSIM:An open-source simulator for NDN experimentation[J]. ACM SIGCOMM Computer Communication Review,2017,47(3):19-33.
NDN Node Congestion Control Strategy with Cache-Awareness Based on SDN
Liu Kaihua1, 2,Hou Yajun1, 2,Li Zhuo1, 2, 3,Gong Xiaolin1, 2,Luo Peng4
(1. School of Microelectronics,Tianjin University,Tianjin 300072,China;2. Tianjin Key Laboratory of Imaging and Sensing Microelectronic Technology,Tianjin 3000072,China;3. Peng Cheng Laboratory,Shenzhen 518000,China;4. Electric Power Research Institute,State Grid Hebei Electric Power Co.,Ltd.,Shijiazhuang 050021,China)
Named data networking(NDN)is a novel internet architecture,which aims to cope with the increasing data traffic. However,as user demand increases,congestion control remains a challenging problem for NDN,which enables multi-path content retrieval. Node congestion control based on the multi-path forwarding strategy in NDN is required to detect congestion rapidly and manage network resources efficiently. Thus,a congestion control strategy for NDN with cache-awareness based on software-defined network(SDN)technology,called BCMCC,was proposed. First,the network architecture of BCMCC,which uses the feature of decoupling the control and data planes of the SDN,centralizes congestion control in the controller to achieve centralized node control and reduce the node operation load. Second,based on the novel network architecture,the cache-awareness algorithm and multi-path selection congestion control algorithm of BCMCC were proposed. The cache-awareness algorithm realized network cache content awareness and the calculation of the global prevalence of cache content to effectively utilize the node caching characteristics of the NDN and reduce the impact of cache content on congestion control. Meanwhile,the multi-path selection congestion control algorithm utilized the nodes to update forwarding port information for traffic migration to intelligently manage multi-path capacity,improve network resource utilization,and effectively prevent network congestion. Finally,the performance of BCMCC was tested in the simulation platform of ndnSIM. The experimental results showed that the BCMCC was superior to other schemes,including the Best-Route,NCC,and Random algorithms,in terms of packet loss,throughput,and transmission delay. The transmission delay of BCMCC is 14.16% lower than that of Random,22.68% lower than that of NCC,and 17.24% lower than that of Best-Route,with the same network traffic while having a more stable network throughput. BCMCC can effectively solve the NDN congestion problem.
named data networking(NDN);cache-awareness;multi-path selection;congestion control;software-defined network(SDN)
10.11784/tdxbz202203007
TP393
A
0493-2137(2023)02-0214-07
2022-03-03;
2022-05-30.
刘开华(1956— ),男,博士,教授,liukaihua@tju.edu.cn.
李 卓,zli@tju.edu.cn.
河北省省级科技计划资助项目(20314301D);天津市科技计划资助项目(20JCQNJC01490);鹏城实验室资助项目(PCL2021A02).
Supported by Hebei Provincial Science and Technology Planning Project(No. 20314301D),Tianjin Science and Technology Planning Project(No. 20JCQNJC01490),Peng Cheng Laboratory Project(No. PCL2021A02).
(责任编辑:孙立华)