技术领域
本发明属于水下无线传感器网络通信技术领域,涉及一种竞争性的MAC协议。
背景技术
近年来,随着水下无线传感器网络应用的领域越来越多,关于它的研究也原来越受到研究人员的重视。作为无线传感器网络的一个分支,从诞生之初起它就有许多与传统无线传感器网络相似的地方,但是与传统无线传感器网络不同,水下无线传感器网络的应用场景在水下,这导致水下无线传感器网络的设计面临着巨大的困难。MAC协议设计是网络协议设计中特别重要的一部分,它允许多个节点在同一个信道传输数据而不发生碰撞,在网络的吞吐量、端到端延迟、丢包率等方面有着重要的影响。传统的MAC协议可以大致分为两类:竞争性MAC协议和无竞争性MAC协议。无竞争性MAC协议主要有三种:FDMA、CDMA和TDMA。竞争性MAC协议还可以继续分成两种:基于握手的MAC协议和随机性MAC协议。在传统的竞争性MAC协议中,多个节点通过握手机制竞争信道,一次成功的握手只允许一个节点发送数据,这导致信道不能够完全的被利用,且由于水下无线传感器网络的长时延特性,握手机制需要更大的代价。虽然长时延特性严重降低了水下无线传感器网络的性能,但是它同时也带来了一种机遇,节点可以利用水下的长时延特性达到并行传输的目的,这样可以大大提高网络的吞吐量和信道的利用率。针对这一问题,本发明提出了一种带有并行传输机制的竞争性MAC协议,在本发明中,各个有数据要发送的节点在信道保留阶段通过握手机制竞争信道,与传统的MAC机制不同,当接收节点收到多个节点的竞争信息后,它会为各个发送节点计算出一个发送顺序表,各个节点根据发送顺序表进行数据的传输,本发明提出的协议可以实现多个节点的并行传输,并且消除了数据的碰撞。
发明内容
为了解决水下场景中一次握手只允许一对节点传输数据的低发送效率问题以及长传播时延带来的较大的端到端延迟问题,本发明提供了一种带有并行传输机制的竞争性MAC协议的设计,当接收节点收到多个节点的竞争信息后,它会为各个发送节点计算出一个发送顺序表,各个节点根据发送顺序表进行数据的传输,实现节点的并发传输,提高网络的性能。技术方案如下:
带有并行传输机制的竞争性MAC协议的设计,包括下列步骤:
(1)建立系统模型:在同一深度的水深中水,网络由多个子网组成,每个子网中都有多个普通节点和一个或者多个sink节点SN,子网一共有三种拓扑结构,各个子网的时间均被分割成大小相等的时隙T
(2)在sink节点A的传输范围与其它sink节点的传输范围重合的区域里不存在普通节点的拓扑下,节点A根据成功接收的RTS控制包的信息以及与发送节点的传播时延信息,计算出各个发送节点发送数据包的时刻
(3)在sink节点C的传输范围与sink节点D的传输范围重合的区域里存在普通节点的拓扑下,普通节点被分为三类,相应的RTS控制包也有三种,以节点C为传输目标的RTS控制包,RTS
(4)在sink节点E的传输范围与sink节点F的传输范围内存在普通节点,sink节点G的传输范围与sink节点F的传输范围内存在普通节点,同时,不存在普通节点同时在节点E和节点G的传输范围内的拓扑下,普通节点被分为五类,RTS控制包也分为五种,只在节点E的传输范围内的节点发送的控制包,RTS
附图说明
图1是本发明的三种网络拓扑结构示意图。
具体实施方案
本发明提供了一种带有并行传输机制的竞争性MAC协议,在特定的网络拓扑下,当接收节点收到多个节点的竞争信息后,它会为各个发送节点计算出一个发送顺序表,各个节点根据发送顺序表进行数据的传输,实现节点的并发传输,提高了网络的吞吐量,降低了网络的端到端延迟。
提出的竞争性MAC协议是针对三种特定拓扑下的水无线传感器网络通信场景,网络由多个子网组成,每个子网中都有多个普通节点和一个或者多个sink节点SN,普通节点负责收集海洋中的如温度、深度、盐度等信息,并将采集到的信息发送到SN,SN再将信息转发到水面网关。网络中所有子网的拓扑结构分为三种情况,具体的操作流程针对每一种具体的拓扑结构。
本发明的具体操作流程如下:
(1)建立系统模型:在同一深度的水深中水,网络由多个子网组成,每个子网中都有多个普通节点和一个或者多个sink节点SN,子网一共有三种拓扑结构,各个子网的时间均被分割成大小相等的时隙T
(2)在sink节点A的传输范围与其它sink节点的传输范围重合的区域里不存在普通节点的拓扑下:
1、在一轮通信第一个时隙的开始,所有有数据要发送的节点向节点A发送RTS控制包竞争信道的使用权,控制包里含有要发送的数据包个数;
2、节点A接收到来自各个节点的RTS控制包,跟传统的MAC协议不同,节点A在成功收到多个RTS控制包之后,不会只回应其中一个节点的发送请求,相反,节点A根据成功接收的RTS控制包的信息以及与发送节点的传播时延信息,会计算出各个发送节点发送数据包的时刻,并将其加入到CTS控制包中,在下一个时隙(第二个时隙)的开始广播给各个发送节点,根据节点A成功接收到的RTS控制包的个数,可分为三种情况:
a、在第一个时隙结束,节点A成功接收到
b、在第一个时隙结束,节点A成功接收到1个发送节N点的RTS控制包,相应的传播时延为T,数据包个数为l,发送节点N在第三个时隙开始时刻t
c、在第一个时隙结束后,节点A没有成功收到任何一个RTS控制包,则其不进行回应;
3、所有发送RTS控制包的节点根据接收到的CTS控制包里的发送时刻发送数据,若在第二个时隙若没有收到CTS控制包,则不回应;
4、预定的接收时间点过后,在下一个时隙的开始,接收节点A向发送节点广播ACK控制包告知数据接收的情况:
a、节点A成功接收到
b、节点A成功接收到1个发送节点N的RTS控制包情况下,接收节点计算得到发送数据所需要的时隙数为
c、节点A没有成功收到任何一个RTS控制包,则其不进行回应;
(3)在sink节点C的传输范围与sink节点D的传输范围重合的区域里存在普通节点的拓扑下:
1、在第一个时隙的开始,节点C和节点D分别产生一个随机数R
2、节点C和节点D接收来自发送节点的RTS控制包,根据成功接收的RTS控制包的信息以及与发送节点的传播时延信息,计算出各个发送节点发送数据包的时刻,并将其加入到CTS控制包中,在下一个时隙的开始广播给各个发送节点:
a、节点C根据成功接收到的RTS
b、节点D根据成功接收到的RTS
3、所有发送RTS控制包的节点接收来自接收节点的CTS控制包,并根据CTS控制包里的发送时刻表发送数据:
在第一个时隙发送RTS
4、在预定的接收时间点过后,在下一个时隙的开始,接收节点向发送节点广播ACK控制包告知数据接收的情况;
(4)在sink节点E的传输范围与sink节点F的传输范围内存在普通节点,sink节点G的传输范围与sink节点F的传输范围内存在普通节点,同时,不存在普通节点同时在节点E和节点G的传输范围内的拓扑下:
1、在时隙的开始,所有有数据要发送的节点向节点E、F、G发送RTS控制包,控制包里含有要发送的数据包个数。RTS控制包一共分为五类:I RTS
2、节点E、F、G接收来自发送节点的RTS控制包,根据成功接收的RTS控制包的信息以及与发送节点的传播时延信息,计算出各个发送节点发送数据包的时刻,并将其加入到CTS控制包中,在下一个时隙的开始广播给各个发送节点:
a、节点F根据成功收到的控制包RTS
3、所有发送RTS控制包的节点接收来自接收节点A的CTS控制包,并根据CTS控制包里的发送时刻表发送数据;
4、在预定的接收时间点过后,在下一个时隙的开始,接收节点A向发送节点广播ACK控制包告知数据接收的情况。
机译: 无线网络异构MAC协议中的临时切换机制
机译: 无线网络的异构MAC协议中的临时切换机制。
机译: 无线网络的异构MAC协议中的临时切换机制。