自组织网络的新型头部压缩方案的设计与实现

这篇论文的主要内容是关于一种新型的多跳IP头压缩方案,该方案适用于无线自组织网络(ad hoc networks)。论文提出了一种基于Robust Header Compression (ROHC) 协议套件的实现方案,并在一个新颖的基于标识符(ID-based)的网络架构IDHOCNET上运行。以下是论文的详细内容概述:

标题和作者信息

  • 标题: Design and Realization of a Novel Header Compression Scheme for Ad Hoc Networks
  • 作者: Shahrukh Khalid, Athar Mahboob, Choudhry Fahad Azim, Aqeel Ur Rehman
  • 期刊: ETRI Journal, Volume 38, Number 5, October 2016

摘要

  • 论文讨论了IP头压缩方案在节约带宽方面的重要性,尤其是在多跳自组织无线网络中。
  • 介绍了ROHC协议,并指出其在3GPP和3GPP2无线技术中的应用。
  • 提出了IDHOCNET架构,解决了传统基于IP的自组织网络的一些问题,如IP地址自动配置服务、分布式命名和名称解析等。

第一部分:引言

  • 强调了无线网络中带宽保护的重要性。
  • 讨论了现有的压缩方案,如Van Jacobson头压缩、IP头压缩和压缩实时传输协议,并指出它们在处理高数据包丢失、高比特错误率和长往返时间方面不够健壮。
  • 介绍了ROHC方案,它是为了解决无线通信的环境限制而开发的。

第二部分:自组织网络的IP基础问题

  • 讨论了自组织网络中支持有效头压缩方案的瓶颈问题,包括IP地址自动配置、多跳网络中的ROHC协议操作和基于标识符和标签的路由。

第三部分:IDHOCNET的头压缩支持组件

  • 描述了IDHOCNET使用的标识符、协议栈、帧结构、套接字接口、私有IP地址、网络表和压缩系统。

1. Identifiers of IDHOCNET(IDHOCNET的标识符)

  • 目的: 用于节点识别和路由建立。
  • 类型: 可以使用多种类型的标识符,包括48位MAC地址、64位MAC地址、IMEI、IMSI、移动订阅识别号、移动号码、电话号码或国家身份证号码。
  • 优势: 使用全局唯一标识符可以避免运行IP地址自动配置服务,使得标识符比IP地址更易于使用和记忆。

2. Protocol Stack(协议栈)

  • 结构: IDHOCNET使用身份层(Identity Layer)代替IP层。
  • 身份层: 用于节点识别和数据包路由,使用4字节的伪802.11头部,以满足Wi-Fi驱动程序的要求。
  • 应用层: 可以支持基于ID的应用程序和基于IP的应用程序(标准或压缩ROHC应用程序)。

3. Frame Structures(帧结构)

  • 帧类型: IDHOCNET使用不同类型的帧来完成数据交换,包括路由请求(RREQ)帧、路由回复(RREP)帧和数据帧(类型A和B)。
  • 结构: 帧首先包含radiotap头部,提供用户空间应用程序到Wi-Fi驱动程序的额外信息。然后是伪802.11头部、协议类型字段、基于身份的帧结构和数据字段。

4. Supporting Socket Interfaces(支持的套接字接口)

  • 用途: IDHOCNET实现使用多种系统套接字接口来实现不同功能,包括Netlink套接字、原始IP套接字、数据包套接字和本地命名空间套接字。
  • 多线程实现: 使用Pthreads库实现多线程,以高效处理来自各种套接字接口的数据。

5. Private IP Addresses, Netfilter, and Network Table(私有IP地址、Netfilter和网络表)

  • 私有地址: 每个节点初始化一个软件定义的tap接口,使用私有IP地址作为所有出站IP数据包的源IP地址。
  • Netfilter: 使用iptables防火墙应用程序实现Netfilter钩子机制,捕获每个私有IP地址的出站流量。
  • 网络表: 一个内存结构,存储私有IP地址与远程节点标识符的映射。

6. Compression System(压缩系统)

  • 实现: 压缩器作为一个C++对象实现,使用ROHC库函数进行数据包压缩。
  • 生命周期: 包括实例化压缩对象、激活所需配置文件、捕获IP数据包并通过压缩器系统传输数据包。
  • 状态机: 压缩器可以被视为一个有限状态机,转换于初始化和刷新(IR)、一阶(FO)和二阶(SO)状态。

7. Decompression System(解压缩系统)

  • 实现: 解压缩器也作为一个C++对象实现,使用ROHC库函数进行数据包解压缩。
  • 状态机: 解压缩器也是一个有限状态机,开始于无上下文(NO)状态,并根据接收到的数据包转换到不同的状态。

这一部分的描述涵盖了IDHOCNET架构中用于支持头压缩的各种组件和机制,旨在提高自组织网络中的效率和性能。

dd773f0f2ec1410eaad895cf3450716d.png 

ead10944f5a94d20abac7f484af1176a.png

d3baa391b4f54f8692398c9641b8b0a5.png

b68d40e39162491ab15a095635aaff6f.png

1de33c61dbf04aa48e5455f5cd61e118.png

第四部分:节点间通信建立

  • 讨论了在节点间建立路径或路由的必要性,并描述了基于反应性方法的IDHOCNET路径建立过程。

5382c8cf622c4d8992fbf894338f3c96.png

4bfaa63b417f44d3b94ab69e89a4b916.png

1. 路径建立的必要性

  • 在任何信息流动之前,必须在节点之间建立路径或路由。
  • 论文提出的设计支持反应性(on-demand)和主动性(proactive)两种方法来建立节点间的路径。

2. 基于ID的路径建立方法

  • 当前方法基于反应性方法学,当需要向已知ID的节点发送应用数据时,由IDHOCNET核心发起路由请求(RREQ)。
  • 举例说明了节点A(标识符为123)向节点D(标识符为126)发送数据的过程。

3. RREQ的传播和反向路径初始化

  • 节点A发起RREQ寻找到节点D的路径。
  • RREQ包到达节点B时,为节点A初始化了反向路径,并在网络表中记录。
  • 节点B继续转发RREQ,当到达节点C时,同样为节点A初始化了反向路径。

4. 目的地节点的响应

  • RREQ包最终到达目标节点D。
  • 节点D进行一系列操作,包括为节点A初始化私有IP地址(A(D)),在协议栈中添加iptables规则以引导流量到IDHOCNET框架,更新主机配置文件中的私有IP和ID映射,并初始化ROHC压缩器和解压缩器。

5. RREP的生成和传输

  • 节点D生成路由回复(RREP)包,并向节点A传输。
  • RREP包在回传过程中,在网络表中初始化了到达节点D的路径条目。

6. RREP到达源节点后的操作

  • 当RREP包最终到达节点A时,节点A执行以下操作:
    • 为节点D初始化私有IP地址(D(A))。
    • 添加iptables规则到协议栈,以引导流量到IDHOCNET。
    • 在主机配置文件中添加IP与ID的映射。
    • 初始化节点A和节点D之间的基于IP的流的ROHC压缩器和解压缩器。

7. 通信准备完成

  • 完成上述步骤后,节点A和节点D准备好交换基于头部压缩的流,该流由建立它们之间路径的标识符指导。

8. 通信建立过程流程图

  • 论文中提供了流程图来说明通信建立过程,包括RREQ和RREP的生成、传输以及在各个节点上的处理步骤。

第五部分:压缩系统流程

  • 描述了在节点间建立路径后,如何交换基于IP的应用程序数据,例如VoIP。

第六部分:实验和评估

  • 展示了使用Wireshark工具测量不同方案下转发IP数据包的开销。
  • 验证了多跳场景下ROHC压缩方案的性能,并与其他几种基于IP的方案进行了比较。

第七部分:结论

  • 总结了所提出的多跳ROHC解决方案,并讨论了其在IDHOCNET框架中的实现。
  • 对比了现有基于IP的自组织网络方案和所提出的方案,并强调了其优势。

参考文献

  • 列出了与论文主题相关的参考文献。

作者信息

  • 提供了作者的背景信息和研究方向。

整体而言,这篇论文提出了一种新的多跳IP头压缩方案,适用于自组织网络,并通过IDHOCNET架构来解决现有网络中的一些问题,提高了网络性能和效率。

 

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神一样的老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值