姜一鸣,雒江涛,胡吉昌,胡云瀚,何 宸,张 飞
(1.“新一代信息网络与终端”重庆市协同创新中心,重庆 400065;2.重庆邮电大学 电子信息与网络工程研究院,重庆 400065)
互联网自诞生至今已经历了近半个世纪的发展,对整个世界的政治、经济、文化和社会的发展都产生了非常深刻的影响。随着网络上应用种类和用户规模的爆炸式增长,人们对于互联网的需求也已经发生了转变。目前网络中的业务多集中于对海量内容的获取,而传统的端到端通信仅占到所有业务量中很小的一部分[1]。这种转变加速了对以内容为中心的新一代网络架构的探索,命名数据网络(named data networking,NDN)提出以内容名称取代IP地址在网络中进行路由和传递,成为了其中最受关注的代表[2]。
NDN网络最大的特点在于通过引入内容缓存(content store,CS)和未决兴趣表(pending interest table,PIT)实现了网络内缓存和流量汇聚,有效地减少了对网络带宽的占用,降低了用户获取资源所需的时间。这种特性对于内容分发类业务来说具有绝对性的优势,然而对于传统的端到端业务来说却略显支持性不足,原因在于以下几方面。
1)对于语音通话、视频会议、电子邮件等业务,通信的数据是在双方或多方的通话建立之后才产生的,在会话建立之前,网络中的路由节点并不会存有任何有关此次会话的数据,但是传统的NDN网络仍然会对此类业务执行CS匹配、PIT查找等步骤,执行此类操作导致路由节点对数据的处理时间过长,无法为用户提供低时延的服务质量(quality of service,QoS)保证;
2)端到端业务的数据具有很强的私有性和低共享性,此类数据很少会被其他用户再次请求,因此,在网络中缓存此类数据会造成CS和PIT表有限资源的浪费,导致CS缓存匹配和PIT表中流量汇聚效率的低下;
3)从网络安全角度来看,存储具有较强隐私性的内容很有可能会被不合法的用户获取,造成用户的隐私泄露;另外,如果恶意用户持续请求或发送大量密集的动态生成的内容,路由器的缓存功能无将法发挥作用,这些内容会占用大量的带宽及PIT空间,将会导致网络面临严重的拒绝服务(denial of service,DoS)威胁。
目前NDN对于如何为端到端业务提供良好支持这一问题并没有给出成熟的解决方案。在文献[3]中,作者提出了信息中心网络未来发展的重点方向之一就是要解决对端到端业务的支持,并且针对目前的问题给出了后续的研究方向;文献[4]针对实时业务提出了一种新的支持方案(MERTS),通过一个兴趣包对应多个数据包的形式,来减少网络中大量重复的消息请求,同时能够与传统的NDN模式兼容。该方案能够减少网络资源的浪费,但是无法为实时业务提供更低时延的保障;文献[5]针对内容中心网络中的VoIP(voice over IP)类业务,提出了一种新的传输模式(VoCCN)。请求者预先发送多个兴趣请求,同时在数据源处形成未决状态,一旦内容产生,便可立即发送。但是该方案增大了沿途节点PIT表需要存储的条目信息;文献[6]提出了一种以定长的标签代替变长名称进行加速转发的机制,能够以面向连接的方式为端到端业务提供良好的支持,但由于其核心节点中不再配有CS缓存,对于现在网络中的主流业务(内容分发类业务)的支持性并不是很好。
虽然端到端业务不再是网络中的主流业务,但是其重要性是毋庸置疑的。NDN网络作为新型网络架构的一种,若想在日后取代IP网络进行全球规模的部署,就必须要解决对端到端业务的支持问题。为解决这一问题,本文提出了一种命名数据网络中的双模式转发模型。对于内容分发类业务,该模型采用传统的NDN转发机制进行转发处理;对端到端业务,采用定长的标签交换代替变长的名字查找来加速转发,并且不再进行缓存操作。实验结果表明,使用该模型能够效地节省CS的缓存空间,同时减小端到端业务的传输时延。
在NDN网络中,每个路由器中都具有CS,PIT和FIB(forwarding information base)这3种结构[7]。NDN的通信基于2种传输包类型:①兴趣包(Interest);②数据包(Data)。二者通过名字进行匹配,其转发模型图如图1所示。当用户需要获取内容时,会发送一个包含该内容名称的Interest。当网络中的路由节点接收到这个Interest之后,首先在CS中查找是否存在与当前名字匹配的内容,如果有,则直接将匹配的Data发送给Interest的请求者;如果没有,则会在PIT中进行再次查询,如果在PIT中发现了匹配的项,这时只需要在PIT表中对应项的接口列表中加入该Interest进入的接口即可。如果在CS和PIT中的查找都没有得到匹配,则需要继续在FIB中进行查找,以确定从哪些接口将这个Interest转发出去。当某个节点拥有与这个Interest所携带名字一致的数据时,它就发回Data。这个包会沿着刚才Interest经过的路径返回,并且沿途经过的每个路由器都会将这个数据缓存在CS中,这种网络内部缓存机制使得后续的相同请求可以迅速地在最近的路由器上得到满足,减少了相同数据在网络内的重复传输,能够提高数据的利用率,最大化带宽的使用[8]。
图1 NDN转发模型Fig.1 NDN forwarding damen
名字标签交换机制(name label switching,NLS)是为了解决NDN网络中分组的高速转发问题而提出的一种基于名字标签交换的转发策略。该策略借鉴了IP网络中的MPLS思想,以域的形式提供标签交换服务,域内有两类节点:边缘节点和核心节点。数据的请求者和生产者分别位于网络的两侧。2个NDN客户通过基于名字的核心交换网络连接在一起,该核心网称为名字标签交换域(NLS domain),如图2所示,包的转发是基于标签交换而不是传统的名字查找。当Interest到达入口名字标签边缘路由器(name label edge router,NLER)时,NLER根据每个到达的Interest或Data的转发等价类来实现加标签的操作,当Interest需要被转发出NLS域的时候,NLER负责对Interest的标签进行擦除。位于NLS域内部的网络节点被称之为名字标签交换路由器(name label switching router,NLSR)或核心节点。核心节点基于名字标签完成分组转发。标记后的分组在NLS域内的转发路径形成一条虚拟的名字标签交换通道(name label switching path,NLSP),根据所承载分组的不同,NLSP分为2种:iLSP(interest label switching path)和dLSP(data label switching path)。前者承载兴趣包,后者承载数据包。尽管二者术语上存在差异,但目前它们是完全镜像的,而且是同时创建的。已被匹配的数据仅仅被缓存在边缘节点,而不是类似于传统NDN那样缓存在所有或一部分节点。因此,核心节点不再要求配备CS。
对比分析以上2种转发机制可以发现,二者都缺乏对业务特征的考虑,没有对网络中的业务加以区分,对所有业务采取相同的转发处理操作,因此,无法为不同的业务提供具有差异性的服务。然而由于2种转发模型工作机制的不同,使得它们在对业务的支持上显示出了不同的倾向性,其中,传统的NDN转发机制由于采用了网络内缓存机制,将数据包缓存在路由节点中,使得用户可以就近获取内容,提高了数据的传输速度和内容的搜索效率,因而更适用于进行内容分发类业务的传递;而NLS转发模型将变长的名字转换为定长的标签在NLS域内进行转发,可以大大地减少数据分组在网络内的处理时间,实现了分组的快速转发,能够较好地满足端到端业务对于时延的要求,因此,该转发模型更适合进行端到端业务的转发。
图2 NLS域示意图Fig.2 NLS domain diagram
为了能够弥补NDN网络对端到端业务支持性不足的问题,本文提出了一种具有双模式的转发模型,在保证能够为内容分发类业务提供高效率传输的同时,也能够为端到端业务提供具有低时延的服务质量保障。
传统的NDN网络缺乏对业务特征的考虑,对所有的业务都采用相同的转发处理方式,导致无法为不同的业务类型提供具有差异化的服务。本文为了弥补传统NDN网络对多样化业务支持的不足,首先将网络内的流量按照业务特征分成了两类:①端到端业务,例如语音通话、视频会议、电子邮件等。该类业务具有较强的实时性,对时延敏感,且内容后续共享程度低,私有性强[9];②内容分发类业务,例如实时流媒体业务、视频点播业务、静态图片、文本信息等。该类业务具有较高程度的共享性,同时对时延没有过高的要求。
为了保证路由节点能够区别兴趣包及数据包的业务类型,从而为其提供具有差异化的服务,本文对兴趣包及数据包进行了扩展,添加了ToS(type of service)字段,扩展后的兴趣包格式如图3所示。ToS字段的长度暂定为8 bit,并用第1个比特来标识兴趣包及数据包的业务类型:如果第1个比特设置为0,则该兴趣包或数据包为端到端业务;否则即为内容分发类业务。其余7个比特可留用于日后的扩展,如设置相应的服务优先级等。路由节点通过识别兴趣包或数据包的ToS字段,就可以准确地识别出其业务类型为内容分发类业务或端到端业务。
图3 扩展后的兴趣包结构Fig.3 Expanded interest package structure
在第1节中详细介绍了NDN和NLS 2种机制在转发兴趣包和数据包时的工作原理,以及2种不同类型的业务对于网络的不同诉求。通过对比分析可以发现,传统的NDN转发模式更适合进行内容分发类业务的转发,而标签交换的高速转发性能则能够为端到端业务提供更好的支持。因此,将这2种转发方式结合起来充分发挥自身的优势,可以解决传统NDN网络对端到端业务支持性不足的问题。
本文结合传统NDN转发模式和标签交换转发模式的特性,提出了一种具有双模式的NDN网络转发模型—Dual-Mode转发模型,该模型具有以下特点。
1)将业务类型划分为端到端业务及内容分发类业务2种类型,并能够根据兴趣包中的ToS字段进行业务类型的识别;
2)提供标签交换和传统的NDN转发2种模式,并依据业务类型的不同进行不同的选择;
3)网络节点只存储内容分发类业务的数据,对于端到端业务所产生的数据则不再进行缓存操作;
4)该模型以域的形式提供转发服务,域内有2类节点:边缘节点(edge router,ER)和核心节点(core router,CR)。
该模型的网络框架如图4所示,ER在接收到客户端所发送的Interest之后,首先对其业务类型进行识别,如果该Interest为内容分发类业务,此时选择逐跳转发模式为其进行转发,如图4中的直线部分,当该Interest在CR1中找到了与其名称相匹配的Data,则直接将Data返回给请求者;如果Interest为端到端业务,则选择标签交换转发模式为其进行转发,如图4中的曲线部分,通过标签交换在ER1与ER2之间建立一条标签交换链路,为端到端业务提供高速转发服务。
图4 双模式转发模型网络框架图Fig.4 Dual-mode forwarding model network
该模型以域的形式提供转发服务,域内包括边缘节点和核心节点2种类型。其中边缘节点和核心节点的转发过程分别如图5和图6所示。在该模型边缘节点及核心节点的内部组成结构中,除了传统NDN路由器所具备的CS,PIT及FIB外,还增加了标签信息表(label information base,LIB)这一数据结构。当选择使用标签交换转发模式时,通过查找LIB进行标签分发可以完成标签交换路径的建立。LIB的格式如表1所示。
图5 边缘节点转发过程Fig.5 Edge router forwarding process
在了解了该模型路由节点的主要构成之后,再来详细描述该模型的工作过程。当有一个兴趣包进入到该模型的工作域后的处理过程如下。
步骤1首先查询该兴趣包的ToS字段,对其进行业务类型的识别。如果该兴趣包为内容共享类业务则执行步骤2,如果为端到端业务则执行步骤7;
图6 核心节点转发过程Fig.6 Core router forwarding process
步骤2查询边缘节点的CS,如果根据名字的最长公共前缀匹配算法发现CS中由相应的Data包,则从接收到该Interest包的接口返回这个Data包,然后直接丢弃这个已经被满足了的Interest包;
步骤3如果在CS中没有找到相对应的Data,将会按照最长前缀匹配继续在PIT中查找。如果在PIT中发现了匹配的项,这就表明该路由节点此前已经收到过相同的Interest包并且已经转发出去了,但还尚未获得返回结果。这时只需要在PIT表中对应项的接口列表中加入该Interest进入的接口即可。然后直接丢弃这个Interest包。当有相应的Data包返回时,按照PIT里记录的接口列表分别给每一个节点恢复一个Data包,并将该Data包存储到CS中以服务后续其他节点的需求;
步骤4如果在CS和PIT中的查找都没有得到匹配,则需要继续在FIB中进行查找。如果发现FIB中有对应项,则说明该节点是第一次收到这样的Interest包,同时这个节点清楚这样的Interest包的转发规则。这时就会将Interest从FIB中对应的接口列表转发出去,同时在PIT中增加一项新的条目以表明这样的Interest包正在请求解决中;
表1 边缘节点和核心节点中的LIB条目Tab.1 LIB entry for the edge node and the core node species
步骤5如果在CS,PIT,FIB中都没有找到与之相对应的Data,那么表明该节点无法处理这个Interest,此时节点将直接丢掉这个Interest;
步骤6至此,内容共享类业务的转发过程结束;
步骤7边缘节点在收到Interest之后,首先会检查其名字来确定该Interest所属的转发等价类。并选择相应的标签为该Interest打上标记,从而形成标签分组;
步骤8工作域内的节点将不再进行名字的匹配查找,而是按照Interest所携带的标签查找LIB表,选择入接口标签值所对应的接口将Interest转发出去,并用相应的出接口标签值替换掉原有的入接口标签值;
步骤9当带有标签的Interest到达出口边缘节点时,该节点负责将标签擦除,显示出Interest所带有的Name并按照传统的NDN转发方式将该Interest转发出去;
步骤10当找到与Interest相匹配的Data之后,Data将按照步骤7—步骤9沿原路返回至入口边缘节点,并将完整的Data发送给相应请求者;
步骤11至此,端到端类业务的转发过程结束。
为了验证本文提出的双模式转发模型对端到端业务能够提供良好的支持,本文在ndnSIM仿真平台中对其转发性能进行了模拟实验,并与传统的NDN单一转发机制进行了性能比较。本文所考虑的性能评价指标有数据响应时间(response time,RT)、内容缓存中的缓存条目以及端到端业务的吞吐量。其中,数据响应时间定义为从消费者发出Interest到收到所请求的Data之间的时间间隔。为了实现标签交换,我们首先对ndnSIM仿真平台中的节点模块进行了相应的扩展,从而实现了标签交换的转发策略。
本文进行了模拟实验,使用的网络拓扑如图7所示。其中,S1和S2是数据的请求者,D1和D2是数据的生产者,ER代表边缘节点,而CR代表核心节点,中间的省略号代表中间可以有多个核心节点。在本实验中,我们令S1发送带有ToS=0的兴趣包,代表其请求的是端到端业务,此处假设为语音通话,通话的另一方为D1;同时,令S2发送带有ToS=1的兴趣包,代表其请求的为内容分发类业务,其所请求的数据由D2产生。主要的仿真参数如下:链路带宽均为10 Mbit/s,采用的路由协议与缓存策略分别为Flooding和LRU,兴趣包和数据包的大小分别为20 Byte和1 KByte。S1和S2以300个/s兴趣包的速率,并服从ConsumerZipfMandelbrot[10]请求模型向生产者请求数据。
图7 仿真网络拓扑图Fig.7 Topology of simulation networking
双模式转发模型(dual mode)和传统的NDN转发模型的响应时间对比如图8所示。从图8可以看出,使用双转发模型可以比传统的NDN转发模型节省约37%的响应时间。同时,随着中间核心节点的增加,无论是使用双模式转发模型还是使用传统的NDN转发模型,响应时间都会随着核心节点数目的增加而增加。这是显而易见的,因为随着核心节点个数的增多,兴趣包和数据包在网络中传输的时间就会适当地延长,同时经过的节点越多也会产生越长的处理时间,导致响应时间变长。
对图8进行分析,发现当核心节点数目增多的时候,2种不同转发模型下的响应时间差值也在逐渐变大。为了分析这一原因,对不同节点的转发性能进行了评估,将不同节点上兴趣包的处理过程进一步分解后再进行对比。在兴趣包中添加时间标记,从而可以得到每个节点对兴趣包的处理时间。分别记录和计算上述仿真场景中进行标签交换的边缘路由器ER,核心路由器CR及传统NDN转发时各自的兴趣包平均处理时间。
图8 Dual-Mode和NDN响应时间对比Fig.8 Response time comparison between dual-mode and NDN
仿真结果表明,进行标签交换转发时,核心节点CR对兴趣包的处理时间比进行传统NDN转发时少约69%,如表2所示。这主要是因为进行标签交换转发时,核心节点CR只进行标签交换,没有进行耗时的名字查表操作。值得注意的是,进行标签交换的边缘节点ER由于要进行名字的标签分配和擦除等操作,其对兴趣包的处理时间约为核心节点CR的4倍,甚至比进行传统的NDN转发时还多了约38%。但是由于只存在2个边缘节点,所以数据包的整体响应时间相比传统的NDN转发仍然得到了大幅度的节省。
表2 不同节点的处理时间Tab.2 Processing time for different nodes
为了验证双模式转发模型能够有效节省缓存空间,首先我们假定仅有一个核心节点,图9为核心节点CR的缓存中缓存数量随话音发送速率增长的变化曲线。由于本实验使用的是LRU缓存策略,在没有达到缓存上限时,CS会缓存所有经过的数据包。因此,在使用传统NDN转发机制时,随着话音业务发送速率的增加,核心节点CR中的缓存数目也随之增长。但是在使用具有双模式的转发模型时,由于该机制并不会对端到端业务进行缓存,所以话音业务发送速率的增加并不会影响CS中的缓存数目,因此,可以证明本文所提出的双模式转发模型可以有效提升CS的缓存效率,节省缓存空间。
图9 缓存数量变化图Fig.9 Change of cache items
本文还对端到端业务的服务性能进行了评估,图10为端到端业务的吞吐量随时间变化的曲线。从图10中可以看出,双模式转发模型可以保证端到端业务具有较高的吞吐量。这是因为双模式转发模型在进行端到端业务的转发时,使用了标签交换转发机制,能够加速兴趣包和数据包的传输,同时由于不再进行CS和PIT的查找,保证了端到端业务的有效传输。
图10 端到端业务的吞吐量变化Fig.10 Change of end-to-end service throughput
本文围绕NDN如何为端到端业务提供良好的支持这一问题展开研究。首先详细介绍了NDN转发机制的工作原理,并分析了NDN架构对端到端业务无法提供良好支持的原因。为了解决这一问题,本文提出了一种具有双模式的转发模型,将网络中的端到端业务和内容共享类业务分离开来,通过为端到端业务提供标签交换的转发方式,来有效加速此类业务的响应时间,为其提供更好的服务质量保证。同时,由于不再对端到端业务进行缓存处理,有效地节省了内容缓存的空间,提升了缓存效率,也能够间接提升内容共享类业务的缓存命中率。经仿真分析,本文所提出的双模式转发模型能够有效减少37%的响应时间,并能够显著节省缓存空间。
本文工作还存在不足,未来将从以下2个方面进行进一步的研究:①本文对业务类型只是简单地划分为两类,真实网络中的业务类型多种多样,后续将考虑对业务类型进行更细致的划分,并研究如何为不同业务类型提供具有针对性的服务;②在本文所提出的转发模型中暂时只考虑了对端到端业务性能的提升,后续将会详细考虑如何对模型进行改进使其亦能够为内容共享类业务提供更高的服务质量保证。
[1] 孙彦斌,张宇,张宏莉.信息中心网络体系结构研究综述[J].电子学报,2016,44(8):2009-2017.
SUN Yanbin, ZHANG Yu, ZHANG Hongli. Survey of Research on Information-Centric Networking Architecture[J].Acta Electornica Sinica,2016, 44(8):2009-2017.
[2] ZHANG L X, JACOBSON V, ZHANG B C, et al. Named Data Networking (NDN) Project[R]. NDN Technical Report NDN-0001.California: PARC, 2010.
[3] 胡骞,武穆清,郭嵩.以内容为中心的未来通信网络研究综述[J].电信科学,2012,28(9):74-80.
HU Qian, WU Muqing, GUO Song. A Review of Content Centered Future Communication Networks[J]. Telecommunication Science, 2012, 28(9):74-80.
[4] LI H, LI Y, LIN T, et al. MERTS: A more efficient real-time traffic support scheme for Content Centric Networking[C]//International Conference on Computer Sciences and Convergence Information Technology. Seogwipo:IEEE Press, 2011:528-533.
[5] JACOBSON V, SMETTERS D K, BRIGGS N H, et al. VoCCN: voice-over content-centric networks[C]//The Workshop on Re-Architecting the Internet.New York:ACM,2009:1-6.
[6] LUO J, WU C, JIANG Y, et al. Name Label Switching Paradigm for Named Data Networking[J].IEEE Communications Letters, 2015, 19(3):335-338.
[7] 雷凯,袁杰.命名数据网络内容分发机制研究与探讨[J].电信科学,2014,30(9):27-36.
LEI Kai, YUAN Jie. Research and Discussion on the Content Distribution Mechanism of Naming Data Network[J].Telecommunication Science,2012, 28(9):74-80.
[8] KIM Y, KIM Y, BI J, et al. Differentiated forwarding and caching in named-data networking[J]. Journal of Network & Computer Applications,2016, 60(C):155-169.
[9] RAVINDRAN R, WANG G, ZHANG X, et al. Supporting dual-mode forwarding in content-centric network[C]//IEEE International Conference on Advanced Networks and Telecommuncations Systems. Piscataway, NJ:IEEE Press,2012:55-60.
[10] MASTORAKIS S, AFANASYEV A, MOISEENKO L, et al. ndnSIM 2.0: a new version of the NDN simulator for NS-3[R].Los Angeles:Technical Report NDN-0028,2015.
(编辑:王敏琦)