信息中心网络中网络缓存的角色探索*

2014-02-28 06:17胡晓艳
电信科学 2014年3期
关键词:路由器报文热点

胡晓艳,龚 俭

(1.东南大学计算机科学与工程学院 南京211189;2.江苏省网络技术重点实验室 南京211189)

1 引言

互联网的进化是技术改革历史上最重要的成就之一,它改变了人们生活的方方面面。但在过去的数十年中,互联网的使用已经从传统的两台静态主机之间“通话式”的资源共享逐渐演化为以信息数据的传输为主,如网页、视频等的传输。用户关注的是访问的信息数据内容而不是数据源自哪里。而当前网络技术仍然是对话式的,与当前网络的主要用途不相匹配,使得当前的互联网面临着一系列挑战,如安全性、可扩展性、交互性等。

为了解决上述问题,在过去的十多年中,信息中心网络(information-centric networking,ICN)体系结构被提出,将网络问题的抽象从以主机为中心转向以数据为中心。其中,TRIAD[1]和Baccala在2002年撰写的IETF草案[2]是ICN的开创性工作,而DONA[3]是第一个全面、详细的全新ICN设计,接着CCN[4]在ICN研究团体中引起了广泛的兴趣,而一些项目 如4WARD[5]、PSIRP/PURSUIT[6]、SAIL[7]和COMET[8]则进一步集中讨论该问题,CCN也以NDN[9]项目的形式成为美国自然科学基金未来互联网体系结构计划的四大项目之一。

虽然这些ICN系统之间存在一些差异,但是它们有着一些共同点,如由用户发送指定内容名字的请求以获取数据(即以内容名字获取和识别内容)、内容内置安全性能以及具有普遍的网络缓存功能。实际上正是由于ICN中内容的自识别能力和内置的安全性能才使得内容在网络中的普遍缓存具有意义,因为这样用户才可以识别缓存的副本并验证其完整性和可靠性。网络缓存可以在所有ICN节点(包括终端用户节点和网络中的路由器)中实现,可以缓存任何用户的任何应用的数据。网络缓存将数据的请求和响应在时间和空间上都分离开来,方便了ICN系统中内容的获取。作为ICN的特色之一,网络缓存已经引起了研究团体的广泛关注,如一些工作[10~15]已经通过建模或实验评估了网络缓存的有效性。网络缓存在彰显ICN的优势方面扮演着重要的角色,而能够充分利用网络缓存的前提是弄清楚网络缓存能够扮演的具体角色,但当前大家对这一问题并没有一致的看法。本文对此问题进行了探索,指出网络缓存应具有三级缓存,并解释这三级网络缓存如何在错误恢复、突发访问缓解、分布式拒绝服务(distributed denial of service,DDoS)攻击防治、热点内容缓存及托管服务方面奏效。

2 三级网络缓存

为了有效利用网络缓存的功能,本文提出ICN路由器应该提供下述三级缓存功能。

·一级缓存是短暂的缓存,例如NDN(named date networking,命名数据网络)中的内容存储库(content store,CS),CS缓存数据报文的时间比较短,可能以秒为时间粒度。CS尽量长地记住到达的数据,但内容置换可能随时发生。

·二级缓存较一级缓存是更为持久的缓存,存储数据的时间较长。它缓存用户中较为热点的内容,而且这些内容的流行度相对稳定。这一级别的网络缓存在ICN中尚未实现。

·三级缓存是半持久的缓存,例如“持久”缓存数据的CCNx Repository[16]。数据的发布者应该为这一级别的持久缓存付费,但ICN中的路由器还未实现这一级别的缓存。

这三级网络缓存可以在同一个ICN路由器中实现,但并不是必须的。最低级别的缓存应该并已经在ICN每个路由器中实现,但其他两级的缓存是否实现取决于对数据传输性能改善、带宽使用量减少和数据发布者数据推广的需求。同一路由器中这三级缓存器存储的内容可以一起或分别编入索引。当收到用户的数据请求时,路由器通过索引查找这三级缓存器是否缓存了请求的内容。网络缓存允许任何网络节点存储任何应用的内容然后提供给任何用户的特征,在解决当前互联网存在的一些问题方面具有较大的潜力。接下来讨论这三级缓存如何在错误恢复、突发访问缓解和DDoS攻击防治、热点内容缓存及托管服务方面奏效。

2.1 错误恢复

NDN中网络节点的CS是第一级网络缓存很好的代表。在NDN中,用户通过发送interest报文指定请求的内容实现从网络上“拉”内容,然后请求的内容以data报文返回。而当有未缓存的data报文到达时,网络节点(路由器或终端用户节点)在(可选地)验证数据的安全性后将data报文缓存在CS中。

在传统意义上,缓存器一般用于存储那些被用户重复请求的热点内容。这样看来,NDN节点缓存途经的任何数据报文貌似有点太激进且不明智,因为会话中动态生成的一次性数据,只有会话双方会请求,除此外没有其他人会要这样的数据,存储这样的数据看似无意义。但是,NDN以及其他ICN系统被设计在不可靠的数据传输服务上运行,包括在高度移动和间歇性链路连通性的环境之下,用户请求的数据在传输中可能丢失也可能被破坏。为了提供可靠且有弹性的数据传输服务,若用户发送的请求在合理的时间内仍未收到返回的数据,用户可以重传这些请求。当重传的请求在网络上传输时,它们在沿途的网络节点中可能碰到上一次请求返回的内容在丢失或被破坏之前被缓存的副本,这样的副本可以快速返回给用户,使得错误被快速恢复。网络缓存在错误恢复方面的角色对于对时延敏感的应用很重要,同时在中断容错网络[17](网络链路的连通性动态变化)中也比较有意义,这样使得任何能够访问多个节点的网络节点可以在断开连接的区域当作网络媒体或在间歇性链路上提供时延的连接。

为了充分利用这一错误恢复的角色,缓存的管理需要识别这样的动态数据并在一个往返时延(round trip time,RTT)后置换这些数据,以确保这些动态数据的缓存既能够应付可能发生的错误,同时又不会因被缓存过长时间而降低CS内容分发的优势。动态数据的识别可以像IP网络中那样让数据的生成者设置服务类型(动态或静态),而RTT的估计可以基于对interest报文和data报文对的监测,因为NDN中interest报文和data报文对途经的路径是对称的。

2.2 突发访问缓解和DDoS攻击防治

在互联网中,某些内容在短时间内(如数秒内)突然被世界各地的用户频繁访问,这样的突发频繁访问可能源于下述两种情况。

(1)突发访问[18]

突发访问通常是因为出现了吸引大众眼球的突发事件,大量终端用户几乎同时向该事件内容的发布者发送请求。这样的突发事件可能是事先安排的,如网络直播的热门电影或节目(奥林匹克节目直播);也可能是不可预测的,如地震这样的自然灾害引发公众几乎同时访问地震相关消息。当突发访问发生时,到目标内容服务器的请求流量急剧增长,可能是正常情况下的数千数万甚至数十万倍。

(2)DDoS攻击[19,20]

DDoS攻击者常用的攻击方式就是让散布在网络各个地方的恶意节点向目标节点或网络发送密集的请求流量。

在IP网络中,如此密集的请求流量在如此短的时间内均到达内容服务器可能导致服务器超载,进而响应速度变慢甚至服务器崩溃。与此同时,响应请求的流量在流量最为密集的链路上可能导致网络拥塞。结果大部分用户(突发访问的用户或DDoS所攻击服务器的真正用户)得到的都是极差的服务质量,而使得用户无法正常使用目标机器或网络资源是DDoS攻击者的目的。实际上在突发访问或DDoS攻击发生时,多播可以起到缓解的作用。但是在IP网络中,路由器需要耗费大量资源才能为每个多播组维护一棵多播树,这一点限制了IP网络中多播的部署。而在ICN中,数据内容可以被路由器缓存,路由器运用缓存的内容响应几乎同时来自于不同用户的请求而自然地支持多播,即中间路由器所缓存的内容可以作为多播源将数据返回给用户而无需内容服务器参与。具体来说,在突发访问发生时,前面用户请求的下一节目片段缓存在中间路由器中,可以用于直接响应紧接着到来的其他用户发送的请求。而在DDoS攻击中,被请求的内容分布在网络节点中,在密集请求汇聚处的路由器直接用缓存的内容响应这些请求,使得服务器置身事外,而服务器真正用户的数据访问也不受干扰。因此ICN中DDoS攻击比较难成功,攻击者不可以通过向目标服务器发送特定请求而达到拒绝服务的目的。这样看来网络缓存在缓解突发访问的负面影响以及防治DDoS攻击方面可以发挥重要的作用。

突发访问和DDoS攻击中所请求内容的流行度是动态变化的,内容突然变得很热门,但其“热度”仅持续很短的时间,且在DDoS攻击下,这一“热度”是假的。这样具有动态流行度的内容可以缓存在一级缓存中,而路由器中运用的置换策略对于突发访问的缓解和DDoS攻击的防治是至关重要的。由于这类请求几乎是同时发送的,最近最少使用(LRU)的置换策略比较适合捕捉这类流行度动态性。

2.3 热点内容缓存

网络中除了上述流行度动态变化的内容,还存在一些在较长时间内都稳定流行的内容,如今日新闻在当天比较热门,人们可以选择一天内的任意空闲时间阅读。对于这种在较长时间内稳定流行的内容,路由器可以将它们在二级缓存器中较长时间地缓存,以减少带宽的需求和响应请求产生的时延。

这种情况下的网络缓存与IP网络中缓存代理所扮演的角色类似,即缓存热门的内容。区别在于IP网络中一个组织往往只有少量缓存代理且是为特定应用(如Web)所设计的;而ICN中的缓存散布在网络的各个路由器中,是网络层的功能,可以缓存任何应用(现有的,甚至在未来出现的应用)的数据内容,具有更广的应用前景。ICN路由器中的计算和空间资源可能有限,如何有效利用这些资源决定了二级网络缓存的效率。二级缓存需要依赖用户访问历史的统计结果来识别热点内容。本文提出CCBF,即用两个CBF(counting bloom filter,计数布鲁姆过滤器)[21]来识别热点内容,具体思路如图1所示。其中PopularData_CBF用于测试数据内容是否已经作为流行内容缓存于二级缓存器,而filter_CBF用于过滤热点内容,两者都是具有m个计数器的CBF。当对数据内容ID的请求到达时,K个不同散列函数作用于该ID映射到K个不同的计数器,接下来的处理如下。

图1 用CCBF识别热点内容

(1)若PopularData_CBF的K个计数器均大于0,则该请求的数据已经作为热点内容过滤出来并已缓存,可以直接从缓存中获取,需要做的就是更新该内容的访问记录。

(2)否则,请求的内容尚未被认为是热点,需要进一步确认。将filter_CBF的上述K个计数器加1后看这些计数器的值是否均大于设定的阈值x(被判定为热点内容所需的最少访问次数)。若是,这次数据内容ID被过滤为热点,当数据从数据源返回时存储到二级缓存器中,filter_CBF的K个计数器分别减去x,而PopularData_CBF的K个计数器分别加1,并为该内容创建一个访问记录。

这里的CCBF与参考文献[22]中用于识别主干网上大流的算法类似,吴桦等人分析了该算法的误报率与m、K和流数n的关系,并用实验证明了该算法的有效性及空间效率。

与IP网络中的缓存代理相关的另一个问题是协作缓存[21,23],即缓存代理之间协作缓存内容并共享缓存,以高效利用缓存空间。关于这一点,ICN的网络缓存也出现了类似的工作[24,25],但是Ghodsi等人指出由于内容的流行度分布往往服从类似于Zipf的分布,网络缓存器之间协作缓存效果可能有限[26,27]。此外,与IP网络中的缓存代理相比,ICN中网络缓存器的数量较大,它们之间协作所产生的开销也较大。因此网络缓存器之间中心式的协作可能不太现实,而分散式的协作不失为一种选择。

2.4 托管服务

互联网上现代企业应用和服务具有严格的服务质量要求,因为在服务性能和可靠性方面细微的退化就可能产生相当大的业务影响,而中断供应可能对品牌声誉产生重大的损害,进而流失客户,并且互联网服务提供商之间的竞争将会越来越激烈。如第3~5节所述,前两级的网络缓存有利于改善内容(尤其是热点内容)的可用性和数据传输性能,但新兴数据发布者(如新的视频网站)的内容传输可能不会从这两级缓存获益很大。因此新兴的内容发布者可能需要借助额外的缓存来提升它们的竞争力。而第三级网络缓存可以承诺为那些不那么热门的内容提供“持久的”缓存,与CDN[28]的托管服务类似。

第三级网络缓存不需要在每个路由器上都部署,ISP可以根据三级缓存的需求量来部署。三级网络缓存的发展可能需要新的商业模型来促进。在传统的IP网络中,CDN运营者从内容提供商(如多媒体公司)那里获取报酬,因为CDN帮助他们把内容传送给用户;反过来,CDN运营者付费给ISP、网络运营者等,因为他们用数据中心为CDN存储数据。相比之下,ICN中内容提供商将直接付费给第三级网络缓存的拥有者,即ISP或网络运营者[29]。ICN中网络运营者和内容提供商之间的争斗将潜在地增加,因为前者希望从后者收入中“分一杯羹”以资助网络缓存设备的投资。具体的付费方案需要在这两者之间协商,但必须确保两者均从中受益。

与第三级缓存相关的另一问题是,因为网络运营者是有偿提供缓存服务的,他们可能需要设置路由,将第三级缓存器中存储的内容的可达性在路由系统的控制层通告,以便用户的请求可以快速找到附近缓存的副本。而嵌入缓存内容可达性的路由系统可能面临可扩展性问题,这取决于内容名字的管理及路由的设计。Wang等人[30]设计了一个嵌入缓存内容可达性的路由系统,该系统中缓存内容的路由通告范围受限,受限的范围基于某些因素,如在上述托管服务中,可以基于内容提供商提供的报酬来决定。

3 结束语

ICN将重心从主机转向数据,是下一代网络体系结构中比较有前景的一个。作为ICN的特色之一,网络缓存在彰显ICN的优势方面扮演着重要的角色,而且已经引起了研究团体的关注。但当前大家对网络缓存仍存在不一致的看法,也没有文献明确指出网络缓存到底应该是怎样的,它在ICN中扮演着怎样的角色。本文对此进行了初步探索,指出ICN应该具有3个级别的网络缓存,并简单解释了这三级网络缓存可以以及如何在错误恢复、突发访问缓解、DDoS攻击防治、热点内容缓存以及托管服务方面起作用。

网络缓存的研究尚处于初始阶段,希望本文的工作会引起研究团体的进一步讨论进而将网络缓存研究的脚步向前迈一步。笔者下一步的工作是设计ICN路由器的二级缓存器之间分散式的协作缓存算法,并研究三级缓存的托管服务所需的商业模型。

1 Cheriton D,Gritter M.TRIAD:a new next-generation internet architecture.Computer Science Department,Stanford University,2000

2 IETF.Data-oriented networking,internet draft.http://tools.ietf.org/html/draft-baccala-data-networking-00,2013

3 Koponet T,Chawla M,Chun B G,et al.A data-oriented(and beyond)network architecture.Proceedings SIGCOMM’07,Kyoto,Japan,2007:181~192

4 Jacobson V,Smetters D K,Thornton J D,et al.Networking named content.Proceedings of CoNEXT’09,Rome,Italy,2009:1~12

5 Final architectural framework.http://www.4ward-project.eu/,2013

6 Conceptual architecture:principles,patterns and sub-components descriptions.http://www.fp7-pursuit.eu/PursuitWeb/,2013

7 Scalable and adaptive internet solutions(sail).http://www.sailproject.eu/,2013

8 Content mediator architecture for content-aware networks(comet).http://www.comet-project.org/,2013

9 Named data networking.http://named-data.net/,2013

10 Arianfar S,Nikander P.Packet-level caching for information centric networking.Finnish ICTSHOK Future Internet Project,2010

11 Muscariello L,Carofiglio G,Gallo M.Bandwidth and storage sharing performance in information centric networking.Proceedings of SIGCOMM ICN’11 Workshop,New York,NY,USA,2011:26~31

12 Carofiglio G,Gallo M,Muscariello L,et al.Modeling data transfer in content-centric networking.Proceedings of 23rd International Teletraffic Congress,ITC’11,San Francisco,USA,2011:111~118

13 Psaras I,Clegg R,Landa R,et al.Modelling and evaluation of CCN caching trees.Proceedings of 10th International IFIP TC 6 Conference on Networking,Valencia,Spain,2011:78~91

14 Rossi G R D.Caching Performance of Content Centric Networks under Multi-path Routing(and more).Telecom ParisTech,2011

15 Rossini D R G.A Dive into the Caching Performance of Content Centric Networking.Telecom ParisTech,2011

16 CCNx repository.http://www.ccnx.org/release/lastest/doc/technical/RepoProtocol.html,2013

17 Farrell S,Cahill V.Delay-and disruption-tolerant networking.Proceedings of IEEE Internet Computing,Norwood,MA,USA,2006

18 Chen X,Heidemann J S.Flash crowd mitigation via adaptive admission control based on application-level observations.ACM Transactions on Internet Technology,2005,5(3):532~569

19 Mirkovic J,Reiher P.A taxonomy of DDoS attack and DDoS defense mechanisms.SIGCOMM Computer Communication Review,2004,34(2):39~53

20 Gasti P,Tsudik G,Uzun E,et al.DoS and DDoS in named data networking.http://arxiv.org/pdf/1208.0952.pdf,2012

21 Fan L,Cao P,Almeida J,et al.Summary cache:a scalable wide-area web cache sharing protocol.IEEE/ACM Transactions on Networking,2000,8(3):281~293

22 吴桦,龚俭,杨望.一种基于双重Counter Bloom Filter的长流识别算法.软件学报,2010,21(5):1115~1126

23 Wang J.A survey of web caching schemes for the internet.SIGCOMM Computer Communication Rev,1999,29(5):36~46

24 Ming Z,Xu M,Wang D.Age-based cooperative caching in information-centric networks.Proceedings of INFOCOM NOMEN’12 Workshop,Orlando,Florida,USA,2012:268~273

25 Cho K,Lee M,Park K,et al.Wave:popularity-based and collaborative in-network caching for content-oriented networks.Proceedings of INFOCOM NOMEN’12 Workshop,Orlando,Florida,USA,2012:316~321

26 Fayazbakhsh S K,Lin Y,Tootoonchian A,et al.Less pain,most of the gain:incrementally deployable ICN.Proceedings of SIGCOMM’13,Kyoto,Japan,2013:147~158

27 Nygren E,Sitaraman R K,Sun J.The Akamai network:a platform for high-performance internet applications.ACM SIGOPS Operating Systems Review,2010,44(3):2~19

28 Agyapong P K,Sirbu M A.Economic incentives in informationcentric networking:implications for protocol design and public policy.IEEE Communications Magazine,2012,50(12):18~26

29 Wang Y,Lee K,Venkataraman B,et al.Advertising cached contents in the control plane:necessity and feasibility.Proceedings of INFOCOM NOMEN’12 Workshop,Orlando,Florida,USA,2012:286~291

猜你喜欢
路由器报文热点
基于J1939 协议多包报文的时序研究及应用
热点
买千兆路由器看接口参数
维持生命
路由器每天都要关
路由器每天都要关
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
热点
结合热点做演讲