调查当IoT基于ICN上并通过集成的LEO卫星网络进行数据传输时,控制和数据信息的开销。
场景:
该场景通过大规模部署IOT的传感器设备来收集环境数据,IoT数据包括定期或高度不规则的信息传输,低的速率以及小的数据量。
组件:
数据收集器(订阅者):发送订阅请求
IoT传感器:回复订阅请求
信息聚合器(代理):从订阅者接收订阅请求并且转发IoT传感器信息
考虑三种场景的优化模型:
以第一个场景为例进行分析:
模型利用Publish-Subscribe Internet(PSI)通信和传输机制以及多播和缓存机制,PSI支持两种类型的内容传输机制:缓慢与快速会合。在缓慢会合下,进行内容发现和连接建立,而快速会合下,终端主机直接交互。
信息1-3是缓慢会合进行连接建立,4-8在代理和IoT节点之间建立双向连接,接下来是传输数据,直到信息15,代理将信息聚合传递给订阅者。在卫星链路上减少了数据流量。
仿真和测试:
测试平台:Blackadder是ICN的源码实现。卫星仿真采用OpenSAND仿真软件。
测试场景:
将卫星链路上的消息数量作为测试指标,仿真结果指出了优化模型有效减少了卫星链路的流量负载。
DTN中存在一些自私的节点仅仅转发朋友列表中的包,并且丢弃或者重定向数据包,如果这些现象发生,会导致丢包,因此利用ICN与DTN结合,ICN会指出这些自私的节点并阻止通过这些节点的传输。
模型:
每个节点有节点ID和能量等级,每个节点的历史和路径历史都由DTN更新。
ICN观察和存储所有在DTN收集的信息,一旦一些不好的节点被DTN指出,ICN会在路径中指出这些节点并阻止这些节点进行进一步的传输数据。
当数据包到达目的节点,传输的路径将会在源节点的框架中使能,处于负载均衡的考虑,一些工作将会从一个DTN转换到另一个DTN,每一个节点历史和数据历史都会在DTN中更新,基于节点的能源和自私能力,恶意的节点将会被标出。ICN会在路径中指出这些节点并阻止这些节点进行进一步的传输数据。
由于恶意的节点已经被选出,丢包则会避免。ICN周期的监控DTN,因此ICN能避免被恶意的节点进行路由传播,因此保证了DTN中的安全传输,如下图所示:
未来改进的工作:ICN可为DTN解决路由表伪造,泛洪攻击,协作攻击,吸血鬼攻击等。
虽然ICN的设计明显考虑到了未来互联网对可伸缩性和高效需求的快速增加,然而,间断的连接的移动环境或破坏性网络对ICN是一个重大挑战。因此考虑将DTN与ICN结合。
为什么选择CCN和DTN呢?
DTN和CCN在设计中有一些共同点,比如网内缓存,后期绑定等。在所有ICN提案中,CCN最受欢迎,CCN提出的两个新的功能层为策略层和安全层,策略层为在IP或第二层协议之上操作提供了灵活性,并且可以利用多个并发连接。同样的,在BP中也提供了模块化结构使其通过收敛层能在底层网络上工作。因此,CCN和BP灵活的设计使我们能够结合两者。
两者结合的协议栈称之为CCNDTN,如下图所示
在此协议栈中,DTN的BP层对CCN的转发机制进行补充,使其适用于分散的网络。CCN的每一个FIB条目指向一个专门用于选择转发策略的功能模块,那么有了BP,策略层能够动态地选择FIB条目,因此一旦接收到来自DTN的前缀声明,CCNDTN路由器会创建一个FIB条目指向bundle进程。CCNDTN转发如下图所示:
BP的拓展模块bundle protocol query(BPQ)能够为应用提供查询内容功能,BPQ块由以下字段组成:
BPQ类型字段,用于指出bundle类型,包括QUERY,RESPONSE, RESPONSE DO NOT FRAGMENT,
PUBLISH.
BPQ值字段,包含所请求内容的名字
一个原始的包创建时间戳
返回的碎片数量
BPQ与CCN类似,当节点接收到BPQ,首先在缓存中查询回复的bundle,如果有则回复,而BPQ不会再转发,否则BPQ继续转发。
CCNDTN具体实现
采用CCNx和DTN2作为具体实现,利用ccn get dtn()函数实现CCN将请求传递给BP的功能,策略层利用dtn open()函数建立dtnd进程的连接,利用dtn register()注册该连接,当成功连接后,策略层创建带有BPQ块的bundle,如果路径上的任何节点满足interest,一个包含内容的回复的bundle将会返回至CCNDTN用户节点。
CCN与DTN的互操作性(兼容性)
命名转换
名称转换是实现CCN和DTN之间互操作性的一个重要问题,CCN采用分层命名,DTN以Uniform Resource Identifier (URI)的格式命名DTN节点,也就是CCN命名标识内容,而DTN命名标识DTN节点,因此DTN和CCN的命名方案是正交的。
超时设定
CCN在interest包中加入InterestLifeTime来指示剩余的时间,同样的,DTN利用timestamp来标识时间。而超时设定会造成两个情况,第一个当CCN发送请求给DTN时,回复时间不会很短,那么如果CCN中最终的用户没有在合理的时间内得到回复,会重传interest,这会造成网络中存在很多的interest,那么一个可能的解决方法是利用CCNx StatusResponse,用来响应异常情况或在回复中附加信息。第二个问题是当DTN中的bundle发送请求给CCN时,DTN的timestamp可以合理地高于CCNx InterestLifeTime,更大的timestamp可以减少不必要的重发。
伪目的地 EID
CCN中并不包含任何概念上的源和目的地址,相反DTN中需要源和目的EID,因此CCN策略层需要定义任意的伪目的地EID,源EID不是很难定义,因为一个发出BPQ请求的节点 可以轻松设置自己的源EID,这个源EID将在BPQ回应中作为目标EID使用。然而伪目的地EID会对bundle转发的长度或者跳数产生不可避免的影响,限制跳数可能可作为解决方案。我们认为目的EID是ICN与DTN集合的一个问题与挑战。
仓库管理
CCN与DTN使用两个独立的仓库,我们可以设计一个优化的仓库,一种可能的设计是在CCN和DTN仓库的上层设计一个额外的层,命名为Abstract Content Provider (ACR),内容存储在bundle缓存中并对那些来自CCN缓存的进行引用。
另一种可能的设计如下图所示,CCN和DTN进程都在一个公共仓库存储数据。
Communications
ICN在应急救援网络中的应用,与基于ip的架构相比,模拟结果显示命名数据网络(NDN)架构在交付延迟和整体增益方面具有优势。
场景描述
移动节点MM-UE and Consumer UE能够利用陆地移动基础设施(比如LTE)或者GEO卫星与总部建立连接
专用的热气球(HAPs)实现的AeNBs负责向受灾地区提供用户与总部之间的连接,通过卫星或者地面移动连接(LTE),后者通过多种地面网关用来拓展相邻地区的连接。
仿真设置
整个场景采用ns3模拟器实现,NDN协议架构采用ns3中的ndnsim2.0模块,在仿真过程中采用不同的调度/抓取策略比如Least Frequently Used (LFU) 和Least Recently Used (LRU)。
性能分析中以IP协议栈作为基准,分析了NDN所带来的性能提升。对三个指标进行评测:端到端时延,流量负载以及命中率。以端到端延时为例进行分析,结果如下图所示:
可以看出LRU策略的性能最好,几乎是IP性能的两倍。而IP性能是最差的。
结果显示,NDN达到灾难管理应用程序的服务需求 并能有效地支持多通道操作,这是紧急通信的趋势。
未来可改进的工作:对ICN的其他实现方案进行测评,以及移动设备上能源的消耗对于缓存功能的影响。
5. Boosting the Performance of Content Centric Networking using Delay Tolerant Networking
Mechanisms
网络的间断连接,移动性网络对CCN的挑战很大,提出CCN与DTN结合的方式,并在移动环境下进行测评。
ICN与DTN结合的场景:
结合后的协议可分为三部分:
控制层,在DTN机制之上进行实现,其功能是基于包类型(interest/data)进行对应的操作。
转发层,分为两部分CCN转发和DTN转发。
路由决策组件,路由器通过多种路由协议将数据包发送到另一个路由器,从而决定最佳传输路径。路由决策引擎独立运行于我们提出的模型之上
新提出的协议涉及到两个控制决策,
Request/Response Processing,虽然对于interest和response数据包的转发和路由,CAPs作为传统CCN节点。但对于移动节点则不同,当移动用户的CAPs接收到内容请求或者内容回复,如何处理是一个问题。
Content Management,考虑到移动用户或CAPs有一个内容项,那么是应该存储它还是丢弃?相比于移动用户,CAPs CellularAccess Points具有更强大的存储能力,但仍然不能存储所有数据。
Request Processing
在动态环境中,节点是移动的,且连接是间断的,这就意味着对网络拓扑的变化进行追踪是不现实的,因此移动用户会在Pending Requester Information Table (PRIT)中保存请求者的地址信息。因此可以向这些潜在的requester转发类似的内容信息。移动用户利用Satisfied Request Information Table (SRIT)来记录请求者所有已经满足了的interest,因此可以为未来类似的interest提供内容。那么当一个中间节点在SRIT中有匹配的interest数据包时,能够转发interest至那些可能的内容提供者。如果CAPs接收来自DTN接口的数据包,其行为类似于移动节点。:然而,如果这个CAPs对该interest有对应的FIB条目,那么它也可以应用本地的CCN机制。算法如下:
这篇文章针对ICN在间断网络中的不足,给出了改进措施,提出新的协议,包括
a)动态路由协议NDRP (Name-based Distance-vector Routing Protocol),为了解决间断连接问题,NDRP为路由信息提供了一个新的状态,新的状态使得路由协议可应用于DTN网络。
b)自适应重传协议,自适应重传控制能够抑制冗余的intetest重新传输所造成的开销。
c)内容对象排队,内容对象的排队机制能够提高内容下载的性能。
场景设置:
我们假设由于受灾导致组件的损坏,网络是分散的。
在该场景中,救援部队在该地设立指挥部,比如Government Office (GO)能够与internet直接通信,而Data Mule(DM)是车辆配备 CCN路由器和发送无线信息的天线。每个庇护所都有一些网关(GW)节点。:GW节点扮演两个角色,一个无线访问节点和CCN路由器。
NDRP(Name-based Distance-vector Routing Protocol)
NDRP采用对路由信息的定时更新以及利用距离矢量算法计算最佳路径,而选择远距离矢量协议的原因是链路状态协议和反应式协议需要对整个网络进行路由信息泛洪,远距离向量路由协议可以通过调整周期性广播间隔控制rouitng消息。
NDRP为路由分配三个状态,为链路分配两个状态。其中路由状态被分为VALID:所有链路都是连接的;STALE:存在未连接的链路;INVALID: 在STALE时发生路由超时。增加STALE状态的原因是因为在间断网络中路由协议需要处理集群到集群的连接,因此, 路由协议在集群中保留断开的路由,STALE表示临时不可用的路由。
链路有两个状态,Connected和Disconnected。Disconnected意味着节点没有接收到链接超时的任何更新。链路超时计算如下:
更新间隔是广播路由信息的间隔,路线持有时间指的是保持链接状态连接的更新间隔的次数。下图表示FIB在NDRP的结构。
Adaptive Message Forwarding for fragmented CCNs
自适应消息转发方法根据NDRP的链路和路由状态切换消息转发策略,此方法,可进行可靠的内容检索,实现了低网络负荷和低能耗。该方法由两种机制组成:对于interest的自适应重传控制和内容对象排队机制。
根据路由状态对重传控制策略进行切换,若路由状态是VALID,也就意味着链路中没有中断,那么RTT会是一个固定的短时间,因此可以利用端到端传输控制策略。若路由状态是STALE,RTT的波动较大,因此采用Hop-by-Hop的重传策略。该策略允许网络从端点到STALE路由中的断点之间进行带宽控制。
该方法是对内容对象CO的有效的转发。在CCN中,内容对象是沿着PIT中的记录路径进行传输,对于中断网络,我们采用ContentObject Queueing来识别PIT条目中输出接口的状态。PIT条目结构如下图所示:
Incoming Face对于内容对象则是out-interface,每一个Incoming Face都包含一个链路状态Connected or Disconnected。当路由器接收到内容对象CO,在PIT中查询,若条目存在,路由器检查IncomingFace的状态,若状态是Connected,路由器常规的转发CO,若状态是Disconnected,路由器将内容对象存储在ContentObject Queue中,当IncomingFace状态由Disconnected转换为Connected,则将内容对象CO从ContentObject Queue中移除。
结果仿真
利用ndnSIM进行仿真,仿真结果表明对CCN的改进能够有效提高内容检索的性能和效率。
仿真:
利用Opportunistic Network Simulator (ONE)对新提出的协议性能进行测试,仿真结果表明移动设备和蜂窝网络接入点上的缓存能够有效提升内容检索时间超过50%。
未来可改进的工作:对缓存策略的开发和改进。还打算激励移动用户合作和存储其他内容。