一种解决水声通信网隐藏终端与暴露终端的方法转让专利

申请号 : CN201310134142.2

文献号 : CN103248436B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 乔钢章佳荣张禹周锋马雪飞孙宗鑫刘淞佐尹艳玲聂东虎于洋

申请人 : 哈尔滨工程大学

摘要 :

本发明涉及水声通信领域,特别是涉及一种水声通信网络隐藏终端与暴露终端解决方法。本发明包括:将信道分为控制信道与数据信道,控制信道进行控制报文的传输,数据信道进行数据报文的传输;发送节点进行信道预约,通过控制信道发送RTS报文,接收节点在收到CTS报文之后,判断当前信道状态,如果空闲,则发送CTS报文,发送节点信道预约成功,传输数据,数据传输完成后,接收节点回复ACK报文;如果当前信道忙碌,接收节点发送DTS报文,当预约失败,发送节点则进行退避,到达退避时间后重新预约信道。本发明将信道划分为双信道,避免了控制报文与数据报文的冲突。控制报文与数据报文独立编解码同时进行传输,节约了通信时间。

权利要求 :

1.一种解决水声通信网隐藏终端与暴露终端的方法,其特征在于,包括如下步骤:

(1)将信道分为控制信道与数据信道,控制信道进行控制报文的传输,数据信道进行数据报文的传输;

(2)发送节点进行信道预约,通过控制信道发送RTS报文,接收节点在收到CTS报文之后,判断当前信道状态,如果空闲,则发送CTS报文,发送节点信道预约成功,传输数据,数据传输完成后,接收节点回复ACK报文;如果当前信道忙碌,接收节点发送DTS报文,当预约失败,发送节点则进行退避,到达退避时间后重新预约信道;

利用双信道技术与全双工通信技术解决隐藏发送终端引起的数据冲突,数据接收节点收到隐藏发送终端发送的RTS控制报文后,回复DTS控制报文,拒绝隐藏发送终端的通信请求;利用双信道技术与全双工通信技术解决隐藏接收终端引起的时延问题,数据接收节点收到隐藏发送终端发送的CTS控制报文后,不作任何处理,同意隐藏接收终端与其它节点建立通信连接;数据接收节点收到暴露发送终端发送给自己的RTS控制报文后,回复DTS控制报文拒绝暴露发送终端的通信请求;数据接收节点收到暴露终端发送给其它节点的RTS,则不作任何处理,同意暴露发送终端与其它节点建立通信连接;暴露接收终端收到其它节点发送的RTS控制报文后,发送DTS控制报文,拒绝此次通信连接请求。

2.根据权利要求1所述的一种解决水声通信网隐藏终端与暴露终端的方法,其特征在于:所述的RTS报文、DTS报文中包括要发送的数据段编号、数据段长度信息;DTS报文中还包括退避时间信息,ACK报文中还包括需要重新发送的数据段编号信息。

说明书 :

一种解决水声通信网隐藏终端与暴露终端的方法

技术领域

[0001] 本发明涉及水声通信领域,特别是涉及一种水声通信网络隐藏终端与暴露终端解决方法。

背景技术

[0002] 近年来,随着水声通信技术的发展,水声通信网络逐渐成为国内外研究的热点。由于水声信道传播延时长、可用带宽窄、发送速率低、时变多径复杂,许多在陆上无线通信网络中的成熟协议无法直接应用于水声通信网络。水下通信网络协议设计中一个非常严峻的问题就是隐藏终端与暴露终端。隐藏终端的存在,会引起接收节点数据的冲突,从而产生数据包丢失,重新传输冲突的数据包势必会增加额外的能量消耗,这对能量有限的水声通信网络来说,会缩短网络的生存周期。暴露终端的存在,会引起发送节点对信道状态的错误判断,从而进行不必要的退避,这样势必会增加数据发送的端到端时延。传统的基于单信道的水声通信网络协议都无法避免这个问题。
[0003] 专利申请号为CN200710031832.X的发明专利公开了一种解决多跳无线自组网隐藏终端和暴露终端问题的方法,它将发送节点与接收节点分成几种不同的状态,通过控制发送节点和接收节点在这些状态之间的转换,避免冲突的发生。与本发明所提出的方法不同。专利申请号为CN200810018282.2的发明专利公开了一种解决异类点Ad Hoc网络隐藏终端的方法,它设计了严格的时序最终在MAC层彻底解决了异类点的隐藏终端和CTS/ACK无法返回的问题。它是应用于陆上无线电的方法,并且需要严格的时序,不适合应用于水声通信网络。专利申请号为CN200680025803.6的发明专利提出了在无线局域网中防止发生隐藏节点问题的方法、装置和计算机程序产品。从源节点接收传输请求(CC-RST62),CC-RTS62包括指示传输预约所需时间长度的预约持续时间值。调整定时器,使得其他节点必须制止在信道上传输的周期(NAV)等于传输请求/传输响应(CC-TRS/CC-CTS68)握手的时间。它是一种应用于无线局域网中的方法,它复杂的技术不适合应用于水声通信网络。

发明内容

[0004] 本发明的目的在于提供一种节约通信时间避免报文冲突的基于握手机制的水声通信网络隐藏终端与暴露终端解决方法。
[0005] 本发明的目的是这样实现的:
[0006] 本发明包括如下步骤:
[0007] (1)将信道分为控制信道与数据信道,控制信道进行控制报文的传输,数据信道进行数据报文的传输;
[0008] (2)发送节点进行信道预约,通过控制信道发送RTS报文,接收节点在收到CTS报文之后,判断当前信道状态,如果空闲,则发送CTS报文,发送节点信道预约成功,传输数据,数据传输完成后,接收节点回复ACK报文;如果当前信道忙碌,接收节点发送DTS报文,当预约失败,发送节点则进行退避,到达退避时间后重新预约信道。
[0009] RTS报文、DTS报文中包括要发送的数据段编号、数据段长度信息;DTS报文中还包括退避时间信息,ACK报文中还包括需要重新发送的数据段编号信息。
[0010] 本发明的有益效果在于:
[0011] (1)将信道划分为双信道:控制信道与数据信道,分配不同的频带进行控制报文与数据报文的传输,避免了控制报文与数据报文的冲突。
[0012] (2)采用全双工通信机制,控制报文与数据报文独立编解码,并可以同时进行传输,节约了通信时间。
[0013] (3)在双信道、全双工通信技术的基础上,采用握手机制进行节点间通信,有效解决了在单信道条件下由于隐藏终端与暴露终端引起的数据冲突与不必要等待问题。

附图说明

[0014] 图1为握手协议工作流程图;
[0015] 图2为隐藏终端示意图;
[0016] 图3为暴露终端示意图。

具体实施方式

[0017] 下面结合附图对本发明做进一步描述。
[0018] 本发明基于RTS-CTS握手协议,采用双信道技术与全双工通信技术。将水声信道划分为控制信道与数据信道,分配不同的频带,用于控制报文与数据报文的传输。采用全双工通信技术,节点在通过数据信道接收数据时,可以同时通过控制信道接收与发送控制报文。利用双信道技术与全双工通信技术解决隐藏发送终端引起的数据冲突,数据接收节点收到隐藏发送终端发送的RTS控制报文后,回复DTS控制报文,拒绝隐藏发送终端的通信请求。利用双信道技术与全双工通信技术解决隐藏接收终端引起的时延问题,数据接收节点收到隐藏发送终端发送的CTS控制报文后,不作任何处理,同意隐藏接收终端与其它节点建立通信连接。利用双信道技术与全双工通信技术解决暴露发送终端引起的数据冲突与时延问题。数据接收节点收到暴露发送终端发送给自己的RTS控制报文后,回复DTS控制报文拒绝暴露发送终端的通信请求。数据接收节点收到暴露终端发送给其它节点的RTS,则不作任何处理,同意暴露发送终端与其它节点建立通信连接。利用双信道技术与全双工通信技术解决暴露接收终端引起的数据冲突问题。暴露接收终端收到其它节点发送的RTS控制报文后,发送DTS控制报文,拒绝此次通信连接请求。
[0019] 本发明将信道分为控制信道与数据信道,分别用不同的频段进行控制报文与数据报文的传输,节点采用全双工通信技术,在接收数据报文的同时,可以在控制信道上进行控制报文的接收与发送。在进行通信之前,先在控制信道上发送控制报文进行信道预约,节点根据控制报文信息,安排退避与数据信道上的数据传输。
[0020] 本发明采用的技术方案是:
[0021] 1、将水声信道划分为控制信道与数据信道,分配不同的频带,分别用于传输控制报文与数据报文。
[0022] 2、节点采用全双工通信技术,在接收数据报文的同时,可以进行控制报文的收发。
[0023] 3、在开始传输数据之前,先进行信道预约,当信道预约成功时,才开始数据传输,如果预约失败,则进行退避,到达指定退避时间后再重新预约信道。
[0024] 4、信道预约采用RTS-CTS的握手协议,发送节点要发送数据时,先通过控制信道发送RTS报文,接收节点在收到CTS报文之后,判断当前信道状态,如果空闲,则发送CTS报文,发送节点可以开始数据传输,数据传输完成后,接收节点回复ACK报文。如果信道忙碌,则发送DTS报文,发送节点进入退避。
[0025] 5、RTS、DTS报文中包括要发送的数据段编号、数据段长度等信息,DTS报文中包括退避时间等信息,ACK报文中包括需要重新发送的数据段编号。
[0026] 下面结合附图举例对本发明做更详细的描述:
[0027] 结合图1。图1表示基于全双工通信的握手协议的工作流程,图中A、B、C、D表示4个通信节点,现在以B向C发送数据为例说明整个协议的工作流程。
[0028] B在发送数据之前,先通过控制信道向C发送RTS控制报文,请求与C建立连接进行通信,C在接收到B的RTS后,如果信道空闲,则通过控制信道向B回复CTS控制报文,通知B可以进行数据传输,B在收到CTS报文后,即开始通过数据信道向C发送数据报文,数据报文发送完毕后,C通过控制信道向B回复ACK确认信号,B根据ACK信号判断数据传输是否成功,如果有需要重新传输的数据帧,则重新发送这些数据帧,如果所有数据接收正确,则结束本次数据传输。
[0029] 在B向C发送RTS报文时,由于A也在B的覆盖范围内,所以A也会收到B发送的RTS报文,此时A进入退避状态。在C向B发送CTS报文时,由于D也在C的覆盖范围内,所以D也会收到C发送的CTS报文,此时D进入退避状态。在B和C开始进行通信时,如果A向B发送RTS报文,则B会向A发送DTS报文,拒绝A发起的通信请求,A收到DTS后进入退避。对于此时由D发起的对C的通信请求,处理方法类似。
[0030] 结合图2。图中A、B、C、D表示4个通信节点,虚线圆圈表示每个节点的通信覆盖范围。当A向B发送报文进行通信时,C为隐藏终端,如果C要发送数据,则C为隐藏发送终端,如果C要接收数据,则C为隐藏接收终端。下面对这两种情况的解决方案分别进行说明。
[0031] 对于隐藏发送终端的情况。假设B已经开始接收A的发送数据,如果C通过控制信道发送RTS报文请求与B或者D进行通信,由于C在B的覆盖范围内,C发送的数据与A发送的数据会在B处发生碰撞,B在控制信道上解码出RTS报文后,发送DTS给C,禁止C的此次发送请求,C根据DTS中包含的信息安排自己的退避时间。
[0032] 对于隐藏接收终端的情况。C在A的覆盖范围之外,B在D的覆盖范围之外,A向B发送的数据与D向C发送的数据不会发生冲突,在本发明提出的解决方案中,控制报文与数据报文也不会发生冲突。在A与B已经建立通信的情况下,当C接收到D的发送请求后,认为当前信道空闲,向D回复CTS,建立D与C的通信。
[0033] 结合图3。图中A、B、C、D表示4个通信节点,虚线圆圈表示每个节点的通信覆盖范围。当B向A发送报文进行通信时,C为暴露终端,如果C要发送数据,则C为暴露发送终端,如果C要接收数据,则C为暴露接收终端。下面对这两种情况的解决方案分别进行说明。
[0034] 对于暴露发送终端的情况。假设B已经开始向A发送数据,如果C通过控制信道向B发送RTS请求进行通信,则B通过控制信道发送DTS禁止C的通信请求,C进入退避。如果C是通过控制信道向D发送CTS,则B收到此控制报文后,认为不会影响当前本节点的通信,不做任何处理,C和D正常建立连接,进行通信。
[0035] 对于暴露接收终端的情况,如果C收到D发送的RTS,为避免D发送的数据报文与B发送的数据报文在C处发生冲突,C通过控制信道向D发送DTS,禁止D的通信请求。