一种面向端到端性能的dtn网络数据束压缩方法

文档序号:9624149阅读:612来源:国知局
一种面向端到端性能的dtn网络数据束压缩方法
【技术领域】
[0001] 本发明设及深空通信技术领域,尤其设及一种DTN网络数据束压缩方法。
【背景技术】
[0002] 随着网络研究的发展W及深空探测的日益延伸,传统基于TCP^P的网络已经不 能够为极端环境下的应用提供良好的服务。高延迟、信道误码率高、信道链路频繁中断等特 点违背了 TCP/IP协议的基本假定。因此,近几年提出了一种新型的面向消息的覆盖网络系 结构,延迟容忍网络值elay Tolerant化twork, DTN)用来解决极端环境下面临的网络通信 问题。
[000引 DTN在传输层之上加入的Bundle层通过"保管-携带-转 发"(store-carry-forward)机制和链路中断时的分片重传机制为上层数据交付提供服务。 因此,每个Bundle包含了从源节点到端节点传输应用数据的所有路径信息,作为Bundle包 头的主要组成部分。然而,在一些链路环境中应用数据或Bundle的有效负载相比之下很 小,导致大量的协议开销浪费着DTN网络中十分珍贵的链路和带宽资源。解决问题的一个 有效的途径就是进行包头压缩。
[0004] 目前,存在关于Bundle包头压缩的相关研究,运些工作采用不同的方法致力于减 少Bundle传输过程中的协议开销,提高无线网络的传输性能。有学者采用ipn命名方案,使 用nodejiumber和servicejiumber作为各节点的端点识别符,擬弃dtn方案中通过偏移量 和dictiona巧联合识别端点的方式,达到包头压缩的效果;相关研究还定义了应用于IE邸 802. 15. 4网络的状态包头压缩;也有学者提出了无状态压缩和有状态压缩两个概念,并从 理论上分析了压缩效果。 阳0化]上述关于Bundle包头压缩的相关研究存在两方面的问题:
[0006] (1) W往研究主要从理论上分析包头压缩效果,缺乏定量的分析W及相关数学模 型,没能结合DTN网络传输过程给出具体的实施压缩步骤。
[0007] (2)评价指标仅局限于包头压缩比,缺乏对整体传输过程的性能评估。

【发明内容】

[000引为了解决现有技术中的问题,本发明提出了一种面向端到端性能的DTN网络数据 束压缩方法,根据不同的链路特点W及先验信息,选择使用不同的协议数据束压缩算法,该 压缩方法具有较好的应用前景和理论意义。
[0009] 本发明通过W下技术方案实现:
[0010] 一种面向端到端性能的DTN网络数据束压缩方法,该方法根据不同的链路特点W 及先验信息,与DTN网络传输过程相结合,选择使用不同的协议数据束压缩算法对数据包 bundle进行压缩;所述不同的协议数据束压缩算法包括无状态压缩算法、状态压缩算法; 当对Bundle交付延迟要求不严格时,采用无状态压缩算法,否则采用状态压缩算法;其中, 所述无状态压缩算法通过化ffman编码来进一步减小字典的长度,所述状态压缩算法将 Bundle包头信息中描述整个传播链路状态的信息打包成背景文件,在第一次Bundle传输 过程中存储在中间节点的内存空间里即初始化,通过背景识别符来进行再次调用。
[0011] 作为本发明的进一步改进,所述方法适用于包括两个中继节点A、B的DTN网络,其 中,A、B不同时工作,考虑到星体2与中继卫星的转动情况,A、B分别为间断连接,且具有一 定的可预知性。
[0012] 作为本发明的进一步改进,所述无状态压缩采用的化ffman编码执行W下约束: 化ffman编码采用上0下1的编码方式,出现概率相同的情况时,根据Ascn表,将字符对应 的数值或者字符串中对应数值之和较小者放在上方,从而能够实现唯一的化ffman编码。
[0013] 作为本发明的进一步改进,当对Bundle交付延迟要求严格时,联合使用状态压缩 W及无状态压缩来达到更好的压缩效果。
[0014] 作为本发明的进一步改进,所述方法还包括,针对不同的传输节点,bundle本身执 行自压缩算法。
[0015] 作为本发明的进一步改进,bundle自压缩算法包括:对于各节点采用相同的命名 方案,则scheme仅出现一次就够了,即剔除字典中重复出现的部分;对于链路的最后一跳, 则省略RepOTt-to和保管端点识别符。
【附图说明】
[0016] 图1是基本Bundle块格式示意图; 阳017] 图2是bundle包头中字典的各元素W及含义示意图;
[0018] 图3是本发明的无状态压缩算法的化ffman编码示意图;
[0019] 图4是双跳DTN网络的结构示意图;
[0020] 图5是四种不同压缩算法情况下,协议开销所占比重与Bundle有效负载之间的关 系曲线图;
[0021]图6是单跳链路中分别采用传统未压缩W及无状态压缩、状态压缩的算法传递IM 的文件时的交付时间与单个Bundle的有效负载的关系曲线图。
【具体实施方式】
[0022] 为了使本发明的目的、技术方案及优点更加清楚明白,W下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用W解释本发明,并不 用于限定本发明。
[0023] 针对现有方法和主要缺陷,本发明首先给出了有状态压缩和无状态压缩算法的实 现细节。然后,给出了在DTN网络传输过程中的具体操作步骤。同时,通过文件在单跳链路 中的传播时延来评价包头压缩对DTN网络传输性能的改善。最后,提出了根据不同的链路 特点W及先验信息,与DTN网络传输过程相结合,选择使用不同的协议数据束压缩算法的 面向端到端性能的DTN网络数据束压缩方法。
[0024] (1)基本Bundle块格式
[00巧]每个Bundle至少包含两个块,第一个必须是基本块(primary bundle block),且 每个Bundle有且只有一个基本块;其它类型的Bundle协议块跟随在基本块之后,支持对 Bundle协议的扩展。基本块包含了 Bundle路由需要的基本信息,格式如附图1所示:
[0026] 版本号:字节,指不构建块所使用的Bundle协议的版本。
[0027] Bundle处理控制符:刻画了 Bundle的一般属性、服务类型W及状态报告请求标 志。同块长度、偏移量、创建时间戳、生存期W及字典长度一样是一个SDNV,长度可变。图1 中用进行了标注。
[0028] 块长度:指示的是基本块长度域后到基本块结束的总长度。
[0029] scheme偏移量:指示对应端点ID的scheme名字在字典字节阵列中的偏移量。
[0030] SSP偏移量:指示对应端点的ID的SSP部分在字典字节阵列中的偏移量。 阳〇3U 创建时间戳:时间戳的第一个SDNV是Bundle的创建时间,第二个是Bundle的创 建时间戳序列号。
[0032] 生存期:从Bundle创建时刻开始,指示Bundle载荷的有效时间。
[0033] 字典长度:指示字典字节阵列的长度。
[0034] 字典:是一个字节阵列,包含基本块中W及其它DTN协议块中所引用的端点ID的 scheme名字和 SSPo
[0035] 段偏移:如果Bundle处理控制标志指示该Bundle是一个段,那么段偏移指示该 Bundle载荷在原始应用数据单元中的位置,该域也是一个SDNV,长度可变。如果该Bundle 不是段,那么基本块中省略段偏移域。
[0036] 应用数据单元的总长度:同段偏移域,如果该Bundle是一个片段,那么应用数据 单元总长度域指示该Bundle载荷所属的原始应用数据单元的总长度。如果该Bundle不是 段,那么从基本块中省略应用数据单元总长度域。
[0037] 似无状态压缩
[0038] 一个Bundle的字典由字典长度和字典阵列两部分组成,包含了从源节点到端节 点的所有节点识别符,划分为scheme和SSP两部分。针对于不同的传输节点,Bundle本身 可W产生一定程度上的压缩。如果各节点采用相同的命名方案,则scheme仅出现一次就够 了,即剔除字典中重复出现的部分。如果是链路的最后一跳可W省略RepOTt-to和保管端 点识别符。字典中各相应端点的schemeW及SSP可W按一个约定的规则进行排列,从而可 W按照一个递增数列准确恢复出需要的端点识别符。
[0039] 字典是Bundle包头的重要组成部分。字典压缩是减小Bundle包头大小的一个 有效途径。运里,本发明提出通过化ffman编码来进一步减小字典的长度。然而,在使用 化ffman编码对字典进行压缩之前,需要知道所有包含在端点识别符之中的字符的一个分 布情况,且被所有节点所共享,用于对字典的化ffman编码W及译码,运里假定是已知的。
[0040] 下面举例来说明,如附图2所示:为一个字典的元素W及其表示的含义。从图中 可W明确地统计出对应链路中各字符的分布情况。在未进行压缩之前,字典占用了 29字节 的大小(每一字符占用1字节的大小)。首先,考虑字典本身带来的一定程度的压缩,剔除 字典中重复的部分W及空字符,则压缩之后的字典大小为19字节。接下来通过化ffman编 码来进行进一步的压缩。本发明采用SDNV来表示字符,压缩之后考虑到编码的唯一识别特 性,从低位开始往高位连续的填充,向上取整,未满补零。考虑到化ffman编码不是唯
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1