水声网络数据链路层协议
2018-03-08海丽萍王宏云
海丽萍+王宏云
摘 要 水声网络(UAN)一般由海底传感器节点、自动化水下载体和作为网关向岸上基站提供无线电通信链路的水面基站连接组成。UAN研究领域的一个重要难点是研究可以减小能量损耗和降低时间、空间和频率对浅海信道传输信号影响的网络协议。文章提出了浅海水声网络数据链路层协议,并对它进行了仿真。
关键词 水声网络;数据链路层协议;Mac协议;Macaw协议
中图分类号 TP3 文獻标识码 A 文章编号 1674-6708(2018)205-0146-02
在过去的几十年里,水声通信的研究和工程应用迅速增长,过去主要应用于军事领域,现在已经逐步扩展到了商业领域。水声网络(UAN)一般由海底传感器节点、自动化水下载体和作为网关向岸上基站提供无线电通信链路的水面基站连接组成[ 1 ]。
UAN研究领域的一个重要难点是研究出可以减小能量损耗和降低时间、空间和频率对浅海信道传输信号影响的网络协议。本文提出了浅海水声网络数据链路层协议,并对它进行了仿真。
1 数据链路层协议
UAN的设计通常以分层结构的形式来实现。这三层分级结构是物理层、数据链路层和网络层。物理层主要负责通信通道中逻辑信息(比特0和1)到传输信号的转变。在接收终端,物理层负责检测出被噪声干扰的信号和其他信道的失真信号,并把信号转换回逻辑比特。在网络层中选择合适的通道即寻找从源节点到目标节点的路径并开始信息交换。
数据链路层主要有两个功能:帧编码和误差纠正控制。帧编码意味着定义一个包含信息频率、位同步、源地址、目标地址以及其他控制信息的数据包。数据链路层协议又被分为两个子层:逻辑链路控制(LLC)协议和媒体访问控制(MAC)协议。
1.1 逻辑链路控制协议
在逻辑链路控制子层,我们通过执行一个停止或等待自动重复检索(ARQ)协议来检测误差和请求重传错误帧。源节点A在发送下一帧数据之前等待一个来自目标节点B的回执(ACK)。如果在预置暂停时间内没接收到回执,A重传这帧数据。在数据帧来回传播的时间段内,信道保持空闲。在全双工通信链路,如果节点A在等待ACK时连续传送相同的数据帧,网络吞吐量可以增大。
当接收数据帧有错误时,需要重新发送数据帧,因此实际延时绝对大于Tt。
1.2 媒介访问控制子层
数据链路层最关键的技术就是媒体访问控制(MAC)。它的作用是平均分配存在竞争和高吞吐量节点之间的信道资源。带冲突避免的多址接入(MACA)协议利用两个叫做请求/发送(RTS)和清除/发送(CTS)的信号帧来检测冲突。它是MAC子层的常用协议。当源节点A想要发送信息到目标节点B时,它会首先发出一个RTS命令。如果节点B收到RTS,它则会发送回一个CTS命令。如果节点A没有在预定时间内接收到CTS,它将重新发送RTS。只要节点A一收到CTS,它就立刻开始传输数据帧[2]。任何监听到CTS的其他节点将会延迟一个数据包长度的时间来避免冲突。
MACAW协议是MACA协议的改良版,它提高了UAN的性能和可靠性。
1.2.1 退避计数器的改进
源节点发送携带退避计数器的数据帧,接收数据帧的目标节点复制退避计数器的值。在数据帧传输完成后,所有退避计数器的值都还原成最小值。同时,MACAW协议用乘法增加线性减少(MILD)算法来代替二进制指数算法。在MILD算法中,当数据帧每次发生冲突时,退避计数器将会线性增加1.5倍从x到Bomax,在传输成功后,退避计数器将会从1秒衰减到最小的Bomax。
1.2.2 监控帧和ACK帧的增加
在MACAW协议中,作为信道握手的两个节点之间发生交换,利用RTS-CTS-DS-DATA-ACK帧替代。
DS帧用来确定暴露节点和RTS-CTS握手成功与否。在单个信道中,暴露节点不能发送数据。当RTS-CTS在节点A和目标节点B之间成功处理时,源节点A首先发送DS帧,然后节点A发送数据帧到B。除了B之外接收到DS帧的其他节点是暴露节点,它们将延迟数据帧传输。如果暴露节点监听到RTS帧而没有监听到DS帧,那么RTS或者CTS将发生冲突,它将立刻发送数据,从而提高信道的利用率。
如果节点A没有收到节点B发送的CTS,它将在超时后转播RTS。如果节点A一直没有收到数据,则退避计数器值增加。如果节点A收到ACK,则退避计数器值减少。如果节点A收到CTS,则退避计数器值不变。
MACAW协议的主要优势是通过添加DS帧部分解决隐藏节点和暴露节点问题并且减少了数据帧之间的冲突。在信道误码率较高的情况下,加入ACK帧可以增加网络吞吐量。MILD退避算法提升了节点共享信道资源的公平性。在高负载情况下,MACAW协议将会增加吞吐量并提高资源分配的公平性。
2 UAN设计
我们研究的浅海水声通信网络大约在100m左右深度。通过网络传播的水声数据一般是经过多信道反射的传播。
水声网络机构包括一个主网点和多个子网点。两个网点之间的直线距离增大到750m。每个网点都有4个功能:收集水下数据;接收数据;发送数据和处理数据。主网点可以通过海上中继器或者岸上基点来上载数据。子网点可以和其他网点在海底进行通信,但只能通过主网点上载重要数据。
在离散网点对之间的UAN是异步半双工通信,可用带宽是8kHz~15kHz。在网络中,每个网点的理想数据传输率是100bit/s。在最远距离情况下,最小信噪比SNR是20dB。
每个网点处理数据的平均时间满足7s泊松分布。
3 仿真结果
在UAN的仿真过程中,衡量网络性能的统计量主要有平均吞吐量和终端对终端时延。平均吞吐量的定义是每单位时间内成功传输数据包的数量。终端对终端的时延是在数据到达源网点之后完成一个MACAW协议的时间间隔。这里忽略数据在网点的排队时间。
平均吞吐量定义的是每单位时间内成功传输数据包的数量。流量负荷是指每秒钟被提供到网络中传输的数据包的数量。在流量负荷到达每秒105个数据包之前,吞吐量逐渐地增大。当系统达到饱和状态时,系统吞吐量保持恒定。此时如果继续增加流量负荷,系统的吞吐量则开始减少。
终端对终端时延随着流量负荷的增加而迅速增加。当网络任务完成,时延保持不变。当主网络附近的其他网点发生拥塞时,网络吞吐量减少,系统也将减少时延。这主要是因为网络节点的高度拥塞,导致没有足够的时间完成传输任务,从而发送数据包丢失。
4 结论
本文讨论了数据链路层协议和UAN网络设计。这些协议只能部分解决隐藏节点和暴露节点的问题。通过仿真,本文认为通过增加系统的流量负荷可以改变平均吞吐量和终端对终端的时延。同时,在水下信道中,它们还会受低速率、高延时、能量受限等因素的影响。
参考文献
[1]John G.Proakis et al,“Shallow Water Acoutis Networks”,IEEE Communications
[2]Magazine.Vol.39,November,2001:114-119.endprint