这篇论文的主要内容是关于一种新型的多跳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架构中用于支持头压缩的各种组件和机制,旨在提高自组织网络中的效率和性能。
第四部分:节点间通信建立
- 讨论了在节点间建立路径或路由的必要性,并描述了基于反应性方法的IDHOCNET路径建立过程。
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架构来解决现有网络中的一些问题,提高了网络性能和效率。