多层卫星网络数据缓存技术研究
2019-08-29杨雅婷安建平
徐 冀,嵩 天,杨雅婷,张 宇,安建平
(1.北京理工大学信息与电子学院,北京100081;2.北京理工大学计算机学院,北京100081)
1 引言
在过去20年中,卫星网络[1-2]引起了学术界和工业界的广泛关注,其在民用和军用领域的应用越来越多。与地面通信网络相比,卫星通信网络具有覆盖面广、信息传播距离远、不受地理环境限制等特点,在宽带接入、广播接入、气象预测、环境与灾害监测、资源探测、导航定位、个人移动通信等方面被广泛应用,在船只、飞行器乃至空间航天器通信方面也起到了至关重要的作用。航天器通信需要通过多层卫星网络(Multilayered Satellite Networks,MSN)进行数据中继传输,保证数据能够大量及时回传。但由于卫星通信距离大,围绕地球进行周期性运动,网络拓扑动态变化,导致出现信息传输中存在着传播时延大、误码率高、往返链路不对称,以及间歇性连接等问题[3]。此外,由于卫星能量、计算资源和存储资源十分有限,与地面网络相比,星上数据处理能力较低、信息传输带宽有限[4]。
多层卫星网络系统通常由LEO(Low Earth Orbit)、MEO(Medium Earth Orbit)、GEO(Geostationary Orbit)3层卫星组成。LEO卫星的优势在于其轨道高度低,与地面通信时延短,但覆盖面积相对较小。GEO卫星轨道高度则相对较高,覆盖面积大,星地链路稳定,但与地面通信的时延较大。MEO卫星特性则介于二者之间。相比于单层卫星网络,多层卫星网络可充分利用不同卫星的特点高效组网,从而提高卫星网络的总体性能,已经成为空间信息网络中新的研究热点[5]。
随着卫星网络和星上处理能力的快速发展,网络内的缓存部署成为可能。缓存的部署将给网络的内容分发带来好处[6]。从用户的角度出发,将内容缓存在离用户近的节点上可以降低用户的内容访问时延,进而可以提升用户体验质量(Quality of Experience,QoE)。从内容提供者的角度出发,用户的请求可以在网络节点的缓存中得到响应,因此不必去内容提供者服务器获取数据,可以减轻内容提供者服务器的负载,节约带宽资源,减少网络拥塞。当内容提供者离线时,网络节点的缓存可以继续为用户提供内容,增加了网络的稳健性。
缓存已经被证明是一个在吞吐量和时延方面有效提升内容分发网络性能的方法,由于网络层的IP协议无法有效使用缓存,地面网络在应用层利用缓存来提升网络性能。目前地面Internet上绝大多数流量都经由内容分发网络(Content Delivery Network or Content Distribution Network,CDN)[7-8]来分发。CDN网络把内容提供商源服务器的内容缓存在Internet上不同位置的内容缓存服务器,即CDN节点,使其成为源服务器的镜像服务器。当用户访问一个内容时,通过DNS解析和HTTP的重定向,CDN网络从离用户最近的边缘路由器最近的CDN节点将内容传输给用户。避免了内容在Internet上的长距离传输,减少了用户的内容访问时延。但是,由于卫星计算资源和存储资源十分有限,星上数据处理能力较低,无法在卫星节点上部署应用层的CDN缓存服务器。
为了在多层卫星网络中部署缓存,同时,由于卫星的星上处理能力和资源有限,考虑在卫星节点上部署适配的网络层协议,即在网络层部署缓存。信息中心网络(Information Centric Networking,ICN)受到了学术界的很大关注[9-10]。ICN是1种面向内容的新型网络体系,包含多种网络架构,而其中最具代表性的当属命名数据网络(Named Data Networking, NDN)架构[11]。 NDN网络具有2个主要特征:名字路由和网络内缓存。前者意味着可以在没有主机标识的情况下通过名字从网络中检索特定的内容,后者表示每个网络节点(例如路由器)部署有特定大小的存储并能够缓存数据。用户可以直接从网络节点的缓存中直接获取请求的数据。与CDN在网络中分布式部署特定的内容服务器不同,NDN将缓存直接部署于网络路由器中。
在多层卫星网络中缓存内容可以适应请求相同内容的用户而无需重新传输。因此,在进行内容分发时,用户的内容访问时延(Content Access Delay,CAD)可以显著减少。为了提高内容分发效率,降低内容访问时延,研究将在多层卫星网络的网络层部署基于NDN的缓存,同时设计多层卫星网络缓存架构,最后通过仿真验证缓存对于内容访问时延的影响。
2 多层卫星网络缓存架构设计
由于在网络层的IP协议无法部署和利用缓存用于内容分发,为了将缓存部署应用于多层卫星网络,并且更好地发挥卫星节点缓存对于提升内容分发的作用,将在网络层部署NDN架构。
2.1 基于NDN的多层卫星网络框架
在多层卫星网络结构中,GEO卫星成为路由算法决策中心,MEO卫星主要完成对地球表面的完全覆盖,而LEO卫星主要实现对地面移动终端的接入。相邻层相邻卫星以及同层内相邻卫星间均存在星间链路。
多层卫星网络中的通信由数据消费者(Consumer),即用户终端驱动,交换2种类型的分组:兴趣包(Interest)和数据包(Data)。用户终端发送带有内容标识的兴趣包请求相应的数据包。两种类型的分组都带有1个名字(Name),这个名字用来标识在数据包中的内容。当需要请求数据时,用户终端将所需数据的名字放入兴趣包中并将其发送到网络。卫星节点使用此名字将兴趣包转发给数据生产者,即内容源服务器。一旦兴趣包到达缓存有所请求数据的卫星节点,该节点将返回含有名字和内容的数据包,以及绑定二者的签名,此时兴趣包不必到达内容源服务器便可以取回数据包,此数据包会沿着兴趣包到达的路径反向传输到达用户终端。兴趣包和数据包结构如图1所示[11]。
图1 NDN框架中的包结构Fig.1 Packets in the NDN architecture
为了执行兴趣包和数据包的转发功能,每个卫星节点需要维护3种数据结构:未决兴趣表(Pending Interest Table, PIT)、转发表(Forwarding Information Base, FIB)和内容缓存(Content Store,CS)[11](图2),以及转发策略模块,转发策略模块用于确定转发每个兴趣包的时间和位置。PIT表存储了卫星节点已经转发但尚未被满足的所有兴趣包,每个PIT表条目记录了这些兴趣包中携带的数据名字及兴趣包传入传出该卫星节点的接口。
图2 卫星节点中的转发过程Fig.2 Forwarding process at a satellite node
当兴趣包到达时,卫星节点首先检查自身的缓存中是否有与之匹配的数据。如果存在,则卫星节点从兴趣包到达的接口返回匹配的数据副本。否则,卫星节点将在PIT表中查找兴趣包中携带的请求数据的名字,如果存在匹配的条目,它只在PIT表匹配条目中记录此兴趣包的传入接口。在没有匹配的PIT表条目的情况下,卫星节点将根据FIB表中的信息以及卫星节点的自适应转发策略将兴趣包转发到内容源服务器,同时此兴趣包携带的数据名字和传入传出接口信息将在PIT表中生成新的PIT表条目。当卫星节点从多个下游卫星节点或者用户终端接收到相同名字的兴趣包时,它仅向上游内容源服务器转发第1个到达的兴趣包。
当数据包到达时,卫星节点查找到匹配的PIT表条目,并将数据包转发到该PIT表条目中记录的所有下游接口。然后卫星节点将会删除该PIT表条目,并将数据缓存在卫星节点的缓存中。数据包始终沿着兴趣包的反向路径,并且在没有数据包丢失的情况下,1个兴趣包可以在每个路径上取回1个数据包,从而实现了流量平衡。与传统IP网络中数据包需要携带源IP地址和目的IP地址进行路由转发的机制不同,兴趣包和数据包都不携带任何主机或是接口地址,卫星节点根据兴趣包携带的名字将兴趣包转发给内容源服务器,并根据每一跳的兴趣包设置的PIT表状态信息将数据包转发给用户终端。
由于每个数据包都带有名字和签名,用户终端不必通过知道它在网络中的具体位置,便可以根据名字来请求此数据包。因此,卫星节点可以在自身缓存中缓存接收到的数据包,并可以使用它来满足未来的来自用户终端对于相同数据的请求。
以多层卫星网络某一时间段拓扑快照为例,如图3所示,用户终端UT1发出对于内容X的请求兴趣包Q1(X)。这个内容已由图中的文件服务器发布。因此兴趣包Q1(X)遍历卫星节点S1,S3,S5到达文件服务器,文件服务器接收到由用户终端UT1发出的请求内容X的兴趣包Q1(X)并返回内容X。内容X将根据兴趣包Q1(X)到达路径原路返回,遍历过的卫星节点S5,S3,S1会将内容X副本储存到自己的缓存中,用来满足未来对内容X的请求。
图3 卫星网络缓存举例Fig.3 An example of caching in satellite networks
随后,假设用户终端UT4发出了请求内容X的兴趣包Q2(X),兴趣包Q2(X)经过了卫星节点S2和S3。卫星节点S3发现自身的缓存中已经储存有内容X的副本,因此,它不会把请求兴趣包Q2(X)转发到下一跳卫星节点S1,S4或者S5,而是将缓存的内容X的副本返回给用户终端UT4。
很明显,由于缓存的部署,用户终端可以在附近的卫星节点的缓存中获取到自己需要的内容,而不需要到达内容的文件服务器,在内容访问时延方面,内容分发的网络性能会得到显著改善。
2.2 多层卫星网络缓存模型
本研究考虑在多层卫星网络中进行内容分发。如图4所示,内容以文件的形式产生于网络文件服务器,通过LEO卫星层、MEO卫星层、GEO卫星层3层卫星网络传输到达请求文件的用户终端。
图4 多层卫星网络缓存模型Fig.4 Caching model of multilayered satellite networks
多层卫星网络由5个部分组成:连接网络文件服务器的地面网关、GEO卫星层,MEO卫星层,以及LEO卫星层和与LEO卫星层连接的若干用户终端。各层卫星之间通过卫星层级链路进行通信,层内卫星通过星间链路进行通信。因为该网络中3层卫星均部署有缓存,所以这些卫星的缓存便形成了多层卫星网络缓存架构。在提出的缓存模型中,每个卫星节点的缓存根据缓存决策策略和缓存替换策略自行决定是否存储和替换每个文件副本。使用Cn代表第n个卫星的缓存的大小,卫星共有N+1颗,其中n=0,1,…N。 使用文件fm表示文件流行度排名为m的文件,使用Sm代表多层卫星网络中的文件流行度排名为m的文件大小,文件总数为M,其中m=1,…M。
文件传输流程如下所述:当1个用户终端请求1个文件,与之通信的LEO卫星会先在本地的缓存中查找是否储存了相应的文件副本。如果该卫星缓存中已经储存了此文件副本,那么它会直接响应这个请求返回此文件。如果该卫星节点缓存中没有储存副本,那么这个卫星会通过星间链路或层间链路将请求兴趣包转发给周围卫星。如果整个多层卫星网络中均没有此文件,这个请求将被转发到地面的网关。在这种情况下,文件会在网络文件服务器中获取并按照请求到达路径原路返回。
考虑到星间链路通常使用高数据速率激光链路,地面网关通过宽带通信技术连接服务提供商,所以用户请求某个文件的内容访问时延主要由无线链路的传播时延造成。
2.3 多层卫星网络缓存策略
为了进一步降低用户的内容访问时延,本研究提出基于卫星缓存大小和文件流行度的概率缓存策略:NDN-PCSC(Probabilistic Caching strategy based on Satellite cache size and Content popularity)。
在多层卫星网络的内容分发中,内容的被请求概率与其流行度的排名有关,流行度排名越高,被请求概率越大。参考针对地面网络的请求流行度研究,内容文件被请求概率一般服从齐夫分布(Zipf distribution)[12],如式(1)所示:
式中,M为文件的总个数;m为文件流行度排名,m=1,2,3…M;pm为文件流行度排名为m的文件的请求概率;q为参数,用于调节文件流行度排名的大小,本文q取0.7;zm为取值在[0.6,1.2]的参数,zm越大,表示文件集合中的非常流行文件的集合相对越小。
缓存决策策略是指决定将文件副本放置在网络中哪个卫星节点缓存的缓存策略。本研究提出基于卫星缓存大小和文件流行度的概率缓存策略,当文件fm经过第n个卫星节点时,卫星节点将根据概率pcm(n)做出缓存是否存储文件副本的决定,其中pcm(n)表示的是第n个卫星节点缓存文件fm的概率,该概率与节点的缓存容量和文件的流行度呈正相关关系。卫星节点根据自身缓存的大小100%缓存非常流行的前若干个文件,缓存的文件数量由缓存大小和流行度靠前的文件大小决定,同时按照流行度排名计算出缓存概率缓存流行度不靠前的文件,以提高卫星缓存利用率和减少用户的平均内容访问时延。概率计算如式(2)~(3)所示。
其中,式(2)计算第n颗卫星可以容纳的流行度排名靠前的文件的最大数量i,式(3)表示当到达文件的流行度排名m≤i时,第n个卫星节点100%缓存此文件,当m>i时,则卫星节点则按照其请求概率pm除以pi作为该文件的缓存概率决定是否缓存此文件。
缓存替换策略是指决定移除哪些文件副本以在缓存中放置新到达的文件副本的缓存策略。本研究采用缓存替换策略是LRU(Least Recently Used)[13]。主要思想是简单地替换缓存中最近最少使用的内容,以降低内容访问时延。
3 仿真分析
实验仿真采用ns-3+ndnSIM进行仿真,ns-3是网络仿真平台,ndnSIM是NDN架构的仿真平台。为了保证各层层内卫星的正常通信以及各层卫星通信范围可以覆盖整个地球表面,多层卫星网络LEO层采用Iridium系统设计,MEO层采用Odyssey[14]系统设计,GEO层在赤道平面上部署3颗均匀分布的卫星。Iridium系统共有6个圆形轨道,轨道高度780 km,每个轨道内均匀分布11颗卫星。Odyssey系统共有3个圆形轨道,轨道高度为10354 km,每个轨道内均匀分布4颗卫星。实验星座参数如表1所示。
地面网关和网络文件服务器部署在中国北京(经度:116.46°E,纬度:39.92°N)。 仿真确定了各个节点的位置,ns-3进行星间和星地链路的建立。请求文件的用户终端共12个,均匀分布在地球赤道平面,位于网络文件服务器的文件总数为200。
本实验的仿真时间为600 s,假设每个卫星的缓存容量大小相同,各个文件的大小相同。
表1 星座参数Table 1 Configuration of the satellite constellation
实验仿真将部署缓存的方法与未部署缓存的方法进行比较,验证对比在多层卫星网络中用户的平均内容访问时延。实验仿真对比的方法有4种:传统IP协议、NDN-Nocache缓存策略、NDNLCE(Leave Copy Everywhere)[13]缓存策略和NDN-PCSC缓存策略。其中,在传统IP协议中,所有的用户终端通过目的IP地址访问网络文件服务器并获取请求的文件。NDN-Nocache缓存策略是指当用户的文件请求的兴趣包到达卫星节点时,卫星节点将不再在缓存中查找是否存在匹配请求的文件副本,而是直接转发请求兴趣包到达网络文件服务器获取文件并返回文件。设置NDN-Nocache缓存策略的目的是用来对比NDN协议与IP协议这两种协议本身对于用户的平均内容访问时延的影响。NDN-LCE是NDN基本的缓存决策策略,主要思想是卫星节点的缓存存储所有通过的文件副本。
实验仿真首先对比了不同的网络缓存容量下不同方法的用户平均内容访问时延,其次对比了不同的zm下不同方法的用户平均内容访问时延。图5为卫星的缓存大小对用户平均访问时延的影响,其中横坐标Cache Size为每个卫星的缓存容量占文件总量的百分比,纵坐标Average Content Access Delay为用户的平均内容访问时延,单位毫秒(ms),zm取值为0.7。图6为不同文件流行度对用户平均访问时延的影响,其中横坐标zm是指用户对不同流行度文件的请求概率参数,纵坐标与图5相同,每个卫星缓存大小占文件总量的10%。
从图5可以看出,首先,对比传统IP协议,不使用缓存的NDN-Nocache缓存策略平均内容访问时延下降15 ms。原因是NDN的PIT表具有对到来的文件请求兴趣包的聚合能力,聚合一段时间内对于相同文件的请求兴趣包,卫星网络由于广泛覆盖和长时延特性可以聚合兴趣包,第一个请求兴趣包的文件返回时,卫星节点上所有聚合的请求都将被满足,从而降低了用户的平均内容访问时延。
图5 缓存容量对平均内容访问时延的影响Fig.5 Impact of cache size on average content access delay
图6 zm对平均内容访问时延的影响Fig.6 Impact of zmon average content access delay
其次,当卫星的缓存容量增大时,NDN-PCSC缓存策略的用户平均访问时延也有明显的降低。选取Cache Size占比为30%进行比较。当每个卫星节点缓存容量大小占内容总量大小30%时,与IP协议、未部署缓存的NDN协议以及NDN-LCE缓存策略相比,本研究提出的缓存策略下的用户平均内容访问时延分别下降 60%、53.4%和7.1%。原因是:首先,卫星部署了缓存以后,当有文件经过卫星节点时,卫星节点缓存可以存储此文件的副本,当用户终端请求相同的内容时,可以从附近卫星节点获得文件,而不需要经过多跳传输从网络文件服务器获取返回文件,避免了多跳传输带来的传输时延,而对于传统IP协议和NDN-Nocache缓存策略而言,由于用户的请求只能到达网络文件服务器中才能获取文件;其次,随着卫星节点缓存容量的增加,每个卫星节点可以缓存更多的文件,内容访问时延不断降低;最后,相比于NDN-LCE缓存策略,通过概率缓存策略,流行的文件以高概率被缓存在用户附近的卫星节点上,而非流行的文件以低概率被缓存,进一步降低了用户的平均内容访问时延。
参数zm用于表示用户终端对于不同流行度文件请求概率的差别,zm越大,表示用户终端请求的文件集合中非常流行文件的集合将越小,用户终端对于最流行的那些文件请求的概率越大,对于不流行的文件请求概率越小,请求概率的差别变大。从图6可以看到,首先对于传统IP协议,由于用户请求内容都是IP地址到达内容的源服务器,用户终端对于不同文件的请求概率差异变化对用户终端的内容访问时延没有影响。对于NDN-Nocache缓存策略,由于用户终端对于最流行的文件的请求概率增大,加上NDN的PIT表对于相同兴趣包的聚合能力,随着zm的增大,用户终端的平均内容访问时延不断降低。对于NDNPCSC缓存策略,相较于NDN-LCE缓存策略,流行的文件以大的概率卫星节点被缓存,同时不流行的文件被卫星节点缓存的概率较低,卫星节点均优先缓存了最流行的文件集合。由于用户终端对于最流行的文件的请求概率增加,对于最流行文件的请求频率增大,用户的内容访问时延降低。同时,随着zm的增大,NDN-PCSC缓存策略和NDN-LCE缓存策略下用户终端的平均内容访问时延也不断降低。可以看出,如果内容分发的最流行文件的集合越小,用户大概率集中请求流行度靠前的文件,NDN-PCSC缓存策略的平均内容访问时延也越小。
4 结论
1)本研究设计多层卫星网络缓存模型,在3层卫星节点部署缓存,并提出基于卫星节点缓存容量大小和内容流行度的概率缓存策略。流行度高的内容可以被大概率地缓存在用户附近的卫星节点上,解决了内容分发由于星间链路和星地链路传播时延和多跳传输造成用户内容访问时延大的问题。
2)仿真验证结果显示,当每个卫星节点缓存容量大小仅占内容总量大小30%时,与IP协议、未部署缓存的NDN协议以及NDN-LCE缓存策略相比,采用提出的缓存策略,用户平均内容访问时延分别下降60%、53.4%和7.1%。多层卫星网络缓存的部署实现了降低用户终端内容访问时延的目的。