APP下载

一种高效的Ad Hoc网络链路层数据级联方法*

2014-07-24

舰船电子工程 2014年7期
关键词:分片字段级联

(1.广州海格通信集团股份有限公司 广州 510663)(2.武汉大学电子信息学院 武汉 430072)

一种高效的Ad Hoc网络链路层数据级联方法*

索思亮1黎卓南2

(1.广州海格通信集团股份有限公司 广州 510663)(2.武汉大学电子信息学院 武汉 430072)

在Ad Hoc网络条件下,受接入层效率及高误码率等客观因素影响,链路层传输性能较低。针对这一问题,提出了一种高效的链路层数据级联方法,使发端的数据既能更好地匹配接入层协议,得到较高的吞吐量,又能减少高误码率对传输性能的影响。理论及仿真结果表明:与传统的数据级联方法相比,该方法可获得更高的链路层吞吐量,提升了Ad Hoc网络链路层的传输性能。

Ad Hoc网络;链路层;数据级联

ClassNumberTN929.5

1 引言

Ad Hoc网络是一种无线多跳复杂拓扑网络[1~4],具有组网灵活、抗毁性强、支持用户的移动性和动中通、易于快速部署等特点,在商业、军事等领域获得了广泛的应用[5~8]。

目前商业上的链路层数据级联方法大多是针对单跳网络P2P或PMP通信场景设计的,常用的方法有两种,一种是采用TLV(Type-Length-Value)封装,通过增加类型头和长度的方式来级联数据帧;另一种是采用SLIP(Serial Line Internet Protocol)封装,通过增加数据帧头、帧尾识别符来级联数据。不管采用哪种数据级联方法,均不能较好地适配Ad Hoc网络的多跳拓扑环境。

本文提出一种高效的Ad Hoc网络链路层数据级联方法,该方法借鉴了TLV封装方法的思想,结合多跳网络的实际需求进行改进,从而获得更高的数据传输效率。

2 数据级联方法概述

如前所述,数据级联方法主要有SLIP封装和TLV封装两种类型,下面分别介绍两种方式的实现方式及优缺点。

2.1 SLIP封装方法

SLIP封装方法[9]是传统的用于串口通信的链路层数据封装方法。总体思路是通过END(C0H)标识数据帧的起始和结束,对于数据帧中与END编码相同的内容,转义成两个字节ESC(DBH)和DCH,对于数据帧中与ESC编码相同的内容,转义成两个字节ESC和DDH。

SLIP封装下的数据级联格式如图1所示。

图1 SLIP封装数据级联格式

SLIP封装方法的优点在于实现简单,开销小,可适配MTU;缺点在于在高误码率条件下可能出现错误拼接分片数据的问题,导致传输速率下降。

2.2 TLV封装方法

目前已提出多种TLV封装方法,总体思路是在原始数据之前加入类型(或标识)和长度等字段,用以告知收端如何将级联后的数据解级联成原始数据。

方法1提出级联数据封装格式如图2所示。

图2 TLV-1封装数据级联格式

方法2[10]提出级联数据封装格式如图3所示。

图3 TLV-2封装数据级联格式

其中,方法1(TLV-1)的优点在于实现简单;缺点在于无法准确适配链路层MTU,且开销较大;方法2(TLV-2)的优点在于开销较小,可插入高优先级数据;缺点在于无法级联多个目标数据。

本文借鉴方法2的设计思路,在其基础上加以改进,增加对多个目标数据级联的功能,设计实现了优化级联方法(TLV-N)。

3 级联方法优化改进

在Ad Hoc网络环境下,链路层需同时处理由应用层产生的数据和由网络层转发的数据,所以处理多目标数据的概率较高;另一方面,Ad Hoc网络的信道资源紧缺,接入层通常采用分布式的信道分配方法,从而导致链路层发送数据的机会较少。综合两方面的因素,本文提出的TLV-N方法在TLV-2方法的基础上,增加了多目标数据级联的功能,可有效提升Ad Hoc网络下链路层传输的效率。

另一方面,为更好适配Ad Hoc物理层传输条件,修改TLV-2方法的长度标识及级联标识的配置,长度标识改为2字节且可以省略,级联标识仅在报头开始处添加,减少报头开销,以提升传输效率。下面分别介绍本方法在发送和接收两端的处理流程。

3.1 发送端处理流程

1)在发送端处理流程中,由上层传递下来的数据包称为SDU(Service Data Unit,服务数据单元),由链路层处理并往下层传递的数据包称为PDU(Protocol Data Unit,协议数据单元)。一个PDU可包含一个或多个SDU,也可包含不完整的SDU。

2)每个PDU在报文开始处添加序列号(Sequence Number)和级联字段(Cascade Filed),序列号用于收端识别空中是否有丢包,级联字段用于收端识别后续的是长度标识还是数据内容。

3)发送端的具体处理流程主要分为两个分支,一个是待发送缓存中没有剩余分片数据,另一个是待发送缓存中含有上次发送剩余的分片数据。因为两个分支的后续处理流程大致相当,所以下面只介绍第一个分支的处理流程。该分支处理流程分为四个场景,分别是完整发送一个SDU、级联发送多个SDU、不完整发送一个SDU、级联发送多个完整的SDU和一个不完整的SDU。

(1)完整发送一个SDU处理较为简单,序列号顺序递增(其它场景处理与此相同),级联字段置为单包标识,后续紧跟的是SDU目标地址,不需要长度标识即可完成PDU的封装;

(2)级联发送多个SDU时,级联字段置为级联标识,后续紧跟的是第一个SDU的目标地址和长度标识,后续每个SDU前均带一个目标地址和长度标识;

(3)不完整发送一个SDU是由于链路层MTU小于SDU长度所致,遇到这种情况,级联字段置为分片标识,后续紧跟的是目标地址,其后的长度标识设置成特殊标识;

(4)最后一个场景下,级联字段置为级联标识,完整SDU级联方法与场景二相同,最后一个不完整SDU处理与场景三相同。

图4 数据级联发送端处理流程

3.2 接收端处理流程

1)接收端处理流程首先需要判断接收的数据序号是否连续,如果序号不连续,则需要将接收缓存中的数据包删除,因该原分片数据的后续内容已经丢失。

2)接着根据级联字段的值分为三个分支,分别是接收单包数据分支、接收级联数据分支和接收分片数据分支。

(1)级联字段为单包标识时,收到的数据是完整的一包SDU,将目的地址为本机的SDU内容提取出来并发往上层即可;

(2)级联字段为级联标识时,收到的数据是多包SDU集合,将目的地址为本机的SDU分别解级联出来并发往上层,需注意判断最后一包的SDU是否为完整数据,若非完整数据则需将分片内容存入对应源地址的接收缓存;

(3)级联字段为分片标识时,收到的数据是以分片数据起始的,若分片数据的目的地址为本机,则将其与对应缓存中的数据拼接起来,如果后续有其它级联数据,则需继续处理,处理方式与分支二相同。

图5 数据级联接收端处理流程

3.3 数据PDU格式

图6 链路层级联数据格式

4 算法仿真

使用Matlab仿真工具研究在模拟Ad Hoc环境下四种数据级联方法的链路层性能,主要考察多目标节点下的链路层吞吐量和无线误码条件下的链路层误帧率。

4.1 链路层吞吐量

综合两方面的因素,Ad Hoc网络下的链路层数据级联方法需具备较强的多目标数据处理能力,而吞吐量指标是该能力的有效反映。

仿真程序以随机产生的多目标数据为仿真输入,验证各方法的性能。如图7所示,横坐标是业务负荷,这里采用的是归一化方式,1表示满负荷发送业务;纵坐标是各级联方法的吞吐量,也采用归一化方式表示。

由图可知,随着业务负荷的增大,各级联方法的吞吐量也在增加,但增加幅度有所区别。本文提出的TLV-N方法由于引入了多目标数据级联处理,在吞吐量方面显著优于其它方法。

图7 链路层吞吐量仿真结果

4.2 链路层误帧率

Ad Hoc环境下的无线误码率较高,从而可能导致某些分片数据的丢失,在这种情况下,数据级联方法是否具备容错能力,减少链路层误帧率,是关键考核指标之一。

仿真程序以随机产生的多目标数据为仿真输入,并设定无线丢包率为横轴坐标。由图可知,随着无线丢包率的逐渐增大,各级联方法的链路层误帧率也在逐步增加,SLIP方法由于不具备错误纠正能力,所以误帧率较高,而TLV的三种方法在误帧率方面基本相当。

图8 链路层误帧率仿真结果

5 结语

针对传统的链路层数据级联方法不能有效匹配Ad Hoc网络的需求,本文在传统方法的基础上,提出了一种高效的链路层数据级联方法,通过设计多目标数据级联处理、解级联容错处理等措施,提升了其在Ad Hoc网络下的性能。仿真结果表明,本方法在多目标数据业务条件下比传统方法获得了更高的吞吐量,在无线误码条件下也维持了较低的误帧率,提升了Ad Hoc网络链路层性能。

[1]王金龙,王呈贵,吴启晖.Ad Hoc移动无线网络[M].北京:国防工业出版社,2004.

[2]陈林星,等.移动Ad Hoc网络:自组织分组无线网络技术[M].北京:电子工业出版社,2012.

[3]任品毅,五熠晨.移动Ad Hoc网络[M].西安:西安交通大学出版社,2012.

[4]于宏毅.无线移动自组织网[M].北京:人民邮电出版社,2005.

[5]盛敏.移动Ad Hoc网络关键技术研究[D].西安:西安电子科技大学,2003.

[6]张蕾.Ad Hoc综述[J].电子科学技术评论,2005(5):35-38.

[7]王英健,武永华,姚尹雄.移动Ad Hoc网络的QoS保障技术综述[J].计算机应用研究,2004(4):4-7.

[8]卢先领,孙亚民,周灵,等.Ad Hoc无线网络跨层设计综述[J].计算机科学,2007(10):24-26.

[9]于世洁,徐勇航,张帆.UDP协议在微小卫星通信上的分析与实现[J].计算机科学,2013(1):22-25.

[10]丁颖哲,王艳红,胡灏.一种数据分段级联和重组方法.中国.CN1780291A[P].2006-05-31.

AnEfficientLinkLayerDataCascadeMethodofAdHocNetwork

SUO Siliang1LI Zhuonan2

(1.Guangzhou Haige Communications Group Incorporated Company, Guangzhou 510663)
(2.School of Electronic Information, Wuhan University, Wuhan 430072)

In the Ad Hoc network condition, by the low efficiency of MAC Layer and the high BER of wireless factors, the performance of Link Layer is low.To solve this problem, an efficient method is proposed.This method achieves high throughput by good matching, and also reduces the influence of high BER.According to the theory and simulation result, compared with traditional methods, this method can achieve higher link layer throughput;upgrade the performance in Ad Hoc network.

Ad Hoc network, link layer, data cascade

2014年1月11日,

:2014年2月24日

索思亮,男,硕士,工程师,研究方向:自组织网络协议研究。黎卓南,男,研究方向:无线通信网络研究。

TN929.5DOI:10.3969/j.issn1672-9730.2014.07.022

猜你喜欢

分片字段级联
上下分片與詞的時空佈局
铀浓缩厂级联系统核安全分析
利用状态归约处理跨分片交易的多轮验证方案①
带钩或不带钩选择方框批量自动换
浅谈台湾原版中文图书的编目经验
基于模糊二分查找的帧分片算法设计与实现
通用导弹雷达罩曲面分片展开系统的开发
能量—频率选择表面级联复合设计与仿真
无正题名文献著录方法评述
无正题名文献著录方法评述