基于接收端控制的水声网络的介质访问协议

2018-08-02 07:23刘海洋姜胜明
现代计算机 2018年15期
关键词:包率接收端数据包

刘海洋,姜胜明

(上海海事大学信息工程学院,上海 201306)

0 引言

近几十年来,水声网络(Underwater Acoustic Net⁃works)[1-4]受到越来越多专家的关注,因为它得到了广泛的应用支持。虽然水声网络的吸收率相对较低,使得声波在水下的传播变得普遍,但水声通信仍然面临着高误码率、高传播延迟和时延方差等问题。一个较好的介质访问控制(MAC)协议在水下网络设计中具有重要的意义,因为MAC协议的目标是协调多个节点访问共享信道,以确保高吞吐量和数据可靠性。

陆地上的MAC协议的传播媒介是无线电波,具有可用带宽范围广,传播时延极小,几乎可以忽略不计的特点。然而由于在水下,无线电波具有高吸收率的特点,传播的距离比较短,光也会在水中发生反射、折射以及衰减等特点,不适用于水下环境。由于水声信道具有可用带宽窄,多路径和衰退现象严重,水下声波的传播延迟大,高误码率、遗失连通性等特点,忙信号信道发送忙信号以及基于握手机制的MAC协议均不适用于水下声学网络。

基于水下的复杂环境以及陆地上所现有的MAC协议的基础上,本文提出了一种基于竞争式的接收端控制并且由接收端决定接收计划的方法来解决数据传输时在水下无线网络通信过程中的冲突问题,这样不仅没有产生握手机制所带来的非常大的传播时延,而且利用带有接收节点的接收计划的非常短小的数据帧作为通知邻居节点是否发送数据或者进入等待的方式,可以很大程度上地减少传播过程中的拥塞,并且有效地提高了信道的利用率。本文在这种思想的引导下,提出了一种有别于传统MAC协议的水下介质访问协议,叫做“基于接收端控制的水下介质访问协议”。该协议的具体设计以及具体的实现将在本文的第二节详细描述。

1 相关工作

现在的水下声学网络中的MAC协议主要可以分为两类:其中的一类属于竞争式的MAC协议;另一类属于节点调度的MAC协议[5]。类属于竞争式的MAC协议需要发送节点利用侦听的方式,通过竞争获取信道的使用,在竞争的过程中数据发送冲突的可能性不能避免;类属于调度的MAC协议利用节点进行控制数据的发送和接收,来达到避免数据冲突的目的。

PCAP[6]是一种基于握手机制的MAC协议,这个协议的优点RTS信号在发送方发送结束后,等待接收节点回复CTS之前,做其他的操作。由于接收方在RTS信号到达时等待一段时间再回复一个CTS信号,握手的最大时间相当于一个往返时间的最大值。发送方在发送 RTS信号后最大等待时间为 Ta=2(Td-(rx-tx)),其中Td代表通信双方间的最大传播延迟,tx代表RTS传输时间,rx代表接收方接收到RTS帧的时间。实验数据显示,水声网络中PCAP数据传输速率低的情况下它的吞吐量要优于Aloha,但是,数据传输速率变大的时候,PCAP的吞吐量优势不再明显。

Order CSMA[7]是一种水下无冲突的水声网络MAC协议,它将传统的CSMA协议与轮询调度算法优点相结合。在这个协议当中,每个节点都根据自身固定的顺序发送数据,不需要像RTS/CTS那样在等待一个最大的传播延迟。这个协议可以在一定程度上减少接收端数据包的冲突。但是,由于所有的节点都要不停歇地对信道和所有收到的数据帧进行侦听,这样就会造成能量的浪费,而且,只有轮询到一个节点的时候,这个节点才能向邻居节点发送数据,信道的利用率较低。

RSSP[8]协议利用不携带任何信息的短小信号,告知邻居节点当前时刻不要发送数据,此协议很大程度上解决了隐藏终端带来的吞吐量等问题;但是由于每次接收完成一个数据信息时都需要进行等待,广播短小信号对网络吞吐量,信道的利用率以及时延等特性仍有进一步的提升空间。

2 协议设计

2.1 协议概述

本文提出的协议是在竞争的基础上,基于接收端发送接收计划表进行数据传输控制的水下MAC协议。该协议是在接收节点处定义一个数据帧,此数据帧中携带着接收节点此时的接收计划信息,即数据帧为(Receiving Schedule,RS),再定义一个短小的脉冲信号(Notice Signal,NS)。此协议不需要像非竞争式的握手机制那样进行预先预定信道,而是在接收数据前发送一个携带接收计划表的数据帧RS,当发送节点接收到此数据帧时,根据接收计划表中的接收计划进行数据的发送。接收节点在接收完成一个数据帧时,如果此数据帧不在接收计划的最后一个数据帧,那么返回一个NS告知邻居节点此时节点正在接收数据,邻居节点进行退避等待。该协议的一个主要的作用就是利用携带有接收计划表的数据帧和一个脉冲信号来解决隐藏终端的问题,接收节点通过发送仅携带接收计划表的数据帧和非常短小的脉冲信号,来减少数据冲突,提高网络吞吐量。

2.2 网络通信流程

(1)发送的数据帧格式

在MAC层的输出队列中,节点的发送队列根据接收计划来执行,如果某一邻居节点需要向同一接收节点发送几个连续的数据帧,并且接收计划中的最后一个数据帧仍在此连续数据帧中间,那么对这几个数据帧进行从小到大编号,并在数据帧的帧头里对这些连续队列的编号进行标记,当接收节点接收到计划表中最后一个数据帧时,根据此时数据帧的编号决定接收节点是返回NS进行继续接收还是返回一个ACK确认帧。如果接收节点接收到的最后一个数据帧编号不是1,返回NS并继续接收下一个数据帧,否则返回ACK确认帧。

图1 MAC层帧的编号

(2)接收节点发送接收计划

当接收节点决定接收数据的时候,邻居节点进行侦听和信道的竞争,接收节点根据发送节点发送的数据帧长度以及时延大小决定此时的接收计划。在接收节点接收数据之前,首先发送携带有接收计划的RS,发送节点发送数据,当一个数据帧接收完成的时候,如果接收计划还有后续的数据帧需要接收,返回一个NS,告知邻居节点此时处于接收状态,邻居节点进行等待。当接收队列接收数据完成的时候,接收节点返回一个ACK确认帧,那么此接收节点处于空闲状态,邻居节点可以开始进行信道的竞争。这样可以实现由接收节点决定发送节点的数据发送,从而有效地解决了隐藏终端的问题。

(3)发送节点发送数据

当发送节点要发送数据的时候,首先需要进行信道的竞争,接收节点向发送节点发送RS,发送节点根据接收计划发送数据帧,当接收计划中的数据帧尚未接收完成时,接收节点广播NS告知邻居节点此时接收节点需要继续接收数据,邻居节点需要等待一段时间(Wait Time,WT),等待时间 WT=Tmax+Pmax+SSn+Tsifs+Tns;其中,Tmax为RS的最大发送时延,Pmax为ACK传播的最大时延,SSn为接收队列中发送节点数据帧队列发送所用时间总和,Tsifs为邻居节点由等待状态转变为发送状态所用的时间,Tns为NS所用时间总和。接收节点将接收计划完成后返回一个ACK,那么重新进行信道的竞争。

3 仿真和结果分析

3.1 仿真场景及参数

本文将对此协议在静态网络拓扑结构中的网络吞吐量、掉包率和时延这三个方面进行一一对比分析,并与现有的CSMA协议进行对比分析。在静态网络拓扑结构中,随机选取任意个数的节点进行随机分布在大小为1000m×1000m的范围内,节点的发包速率以及个数服从特征值为λ的泊松分布,在水下环境中,声音的传播速度是大约为1500m/s,数据在水下的传输速率是4000bit/s,每个数据包的大小为256 B。本文进行的仿真是对此新的MAC协议的性能进行分析,在仿真过程中,所有的数据包的丢失都默认为为本协议的性能不足所造成。本文中使用三个指标来评价此MAC协议的性能。

(1)网络吞吐量:单位时间内所收到的数据包的字节数。

(2)丢包率:接收节点接收到的数据包与发送节点发送的数据包的比值。

(3)节点的平均时延:所有数据包产生的时间与目的节点接收成功的时间差的平均值。

3.2 仿真结果

仿真结果如图2所示,当负载较小时,此协议与CSMA协议的吞吐量变化基本一致,当负载大于0.85时,由于隐藏终端导致的数据包的冲突不断增加,本协议的吞吐量明显比CSMA的高。本协议利用接收节点进行安排接收队列,可以减少数据的冲突,从而提升了吞吐量。

图2 本协议与CSMA协议吞吐量的比较

在图3中对比节点的丢包率,两者的丢包率均随着负载的增加而变大,但当负载大于0.005时,本协议的丢包率明显小于CSMA协议,仿真结果说明基于接收端接收计划来控制数据的发送在很大程度上减少了数据的冲突,从而使得丢包率降低。根据图示,此协议虽然可以在很大程度上减少丢包率,因为不能完全解决隐藏终端的问题,所以也存在一定的丢包率。

图3 本协议与CSMA协议的节点的丢包率的比较

图4对两个协议中节点传播的平均时延进行对比,在负载较小时,CSMA协议的时延小于本协议,这是因为低负载的时候数据包冲突较小,而本协议因为接收节点需要发送接收计划表浪费了一部分时间。当负载大于0.015的时候,本协议的时延小于CSMA协议,这是因为本协议由接收节点决定发送节点的发送队列,从而数据有序的进行发送。解决了隐藏终端的问题,从而减少了数据包的冲突,使得邻居节点的等待时间减少。

图4 本协议与CSMA协议时延的比较

4 结语

本文为了解决复杂水下隐藏终端问题,提高网络的吞吐量,降低节点的丢包率以及减小数据传播的时延,提出了一种基于接收端控制收发数据的MAC协议,此协议利用接收节点发送带有接收计划信息数据帧告知发送节点此时接收节点的接收队列,发送节点根据接收节点的接收队列进行数据的发送,接收节点接收完成一个数据帧时,当此数据帧不在接收计划的最后时,接收节点返回NS,邻居节点进行退避等待。此协议在一定程度上解决了隐藏终端问题。在EXE⁃AT仿真平台上,模拟分析了本协议与CSMA协议的吞吐量、丢包率以及传播的平均时延,仿真结果表明,本协议具有更好的吞吐量以及更小的丢包率。

[1]Chirdchoo N,Soh W S,Chua K C.Aloha based MAC Protocols with Collision Avoidance for Underwater Acoustic Networks[C].Proc of 26th IEEE International Conference on Computer Communications.Anchorage:IEEE,2007:2271-2275.

[2]State-of-the-Art Medium Access Control(MAC)Protocols for Underwater Acoustic Networks:A Survey Based on A MAC Reference Model Shengming Jiang IEEE Communications Surveys&Tutorials Year:2018,Volume:20,Issue:1 Pages:96-131.

[3]K.Chen,M.Ma,E.Cheng,F.Yuan,W.Su,A Survey on MAC Protocols for Underwater Wireless Sensor Networks,IEEE Commun.Surv.Tutor.(ISSN:1553-877X),16(3)(2014)1433-1447.

[4]Chirdchoo N,Soh W S,Chua K C.MACA-MN:A MACA Based MAC Protocol for Underwater Acoustic Networks with Packet Train for Multiple Neighbors[C].Proc of 67th IEEE Vehicular Technology Conference.Singapore:IEEE,2008:46-50.

[5]Shah G A.A Survey on Medium Access Control in Underwater Acoustic Sensor Networks[D].Proc of International Conference on Advanced Information Networking and Applications Workshops.Bradford:IEEE,2009:1178-1183.

[6]X.Guo,M.R.Frater,and M.J.Ryan.A Propagation Delay Tolerant Collision Avoidance Protocol for Underwater Acoustic Sensor Networks[A].In Proc.MTS/IEEE OCEANS.Boston,MA,USA,2006.

[7]CHAN Y J WANG H L.Ordered CSMA:A Collision Free MAC Protocol for Underwater Acousitic Networks[C].OCAEAS 2007.IEEE,2007:1-6.

[8]王希阳,姜胜明,杨凯健.基于接收端信号的水声网络MAC协议[J].微型机与应用,2016,35(15):61-64.

猜你喜欢
包率接收端数据包
支持向量机的船舶网络丢包率预测数学模型
轻量级的无线传感器网络选择性转发攻击检测
二维隐蔽时间信道构建的研究*
基于扰动观察法的光通信接收端优化策略
一种基于喷泉码的异构网络发包算法*
电磁线叠包率控制工艺研究
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
纯多播BC 信道并存单播MAC 信道的天线效率研究
手机无线充电收发设计
C#串口高效可靠的接收方案设计