专利名称:一种解决异类点Ad Hoc网络隐藏终端的方法
技术领域:
本发明属于异类点无线移动自组织网络(AdHoc网络),特别涉及异类 点Ad Hoc网络中MAC层隐藏终端问题和CTS/ACK无法返回问题的一种跨 层(路由层和MAC层)解决方法。
背景技术:
异类点隐藏终端问题是指异类点Ad Hoc网络中,由于发射功率不同, 大功率节点在MAC层(媒介接入层)发送RTS (Request to Send)给小功率 节点预约信道时,小功率节点的CTS (Clear to Send)无法阻塞部分能够干 扰到本次通信的B节点而造成数据包冲突的问题。异类点隐藏终端问题会导 致MAC层帧的大量重传、丢弃,降低了信道的利用率及吞吐量。
CTS/ACK无法返回问题是指由于发射功率不同,欲相互通信的一对B-G 节点,B节点能够一跳到达G节点,而G节点却无法一跳直接返回B节点 而在MAC层造成的控制包无法交互问题。
目前存在的解决异类点隐藏终端问题的技术方案主要有以下两种
第一种是采用大小功率节点分时接入信道的方法解决异类点Ad Hoc网 络隐藏终端问题,这种严格划分时隙的方法不能充分利用无线带宽,造成了 严重的浪费;并且该方法仅仅具有理论上的可行性,然而实际中的Ad Hoc 网络节点自由移动,协议分布式控制的特点,导致分时同步机制很难实现, 不具有现实可操作性。
第二种方法是采用洪泛一种特殊帧的技术来阻塞异类点隐藏终端接入信道,然而洪泛该特殊帧给网络带来极大的负载,加剧了冲突,降低了 MAC 的吞吐量。
对于CTS/ACK无法返回问题的解决目前一种解决方法是在MAC层使用 路由层建立的路由来返回CTS/ACK帧,然而这种方法中路由建立的算法低 效,造成了巨大的负载,另外在MAC协议的设计上既没有合理的握手机制, 没有详细时序设计时序。
发明内容
本发明的目的在于克服上述现有技术不足,提供一种解决异类点Ad Hoc 网络隐藏终端的方法。该方法利用路由层提供的地理位置信息,在信道划分 的基础上,通过小功率节点多播CTS包, 一方面向大功率节点回复CTS包, 另一方面通知隐藏终端退避。在正确接收到DATA后,通过路由返回ACK, 从而彻底解决异类点隐藏终端问题和CTS/ACK无法返回问题,提高了 MAC 层的吞吐量。
本发明的技术方案是这样实现的
一种解决异类点AdHoc网络隐藏终端的方法,包括以下步骤
^印7网络中存在两类节点, 一类是通信速率、计算速度、发射功率性能
较好的节点,称为B节点,数量较少;另外一类是普通节点,称为G节点,
数量较多;
^印2每个节点装备两个发射接口,分别工作在两个互不交叠的信道1 和2。信道1上发射接口的发射半径为RG,信道2上发射接口的发射半径为 RB, RB>RG。 B节点之间通过信道2通信。G节点之间以及B-G节点之间 通过信道1通信,G节点不在信道2上发送任何信息,但是可以接收B节点在信道2上的广播信息;
5fej^以B节点为簇首在网络层组织成一种松散的簇结构,簇成员向簇 首注册自己的位置信息,簇首将自己的保存的成员信息广播给发射半径内的
所有节点;
Ste/^/G节点收到的来自簇首的信息形成一张可感知节点拓扑信息表 (AG表);
5fe/;5B节点接入信道前,首先侦听信道2,若空闲则向G节点发送RTS;
5"哗6目的G节点通过信道2接收到B节点的RTS帧,根据自己AG表 中地理位置信息采用最短路径算法(SPA)计算出到源节点B和隐藏终端的 路由,然后以多播方式向源B节点回复CTS,向隐藏终端发送CTS阻塞其 接入信道;
^印7B节点接收到CTS后等待一个冲突避免时间AIFS,然后接入信道
向G节点发送DATA;
^印S G节点接收到B节点的DATA后,向B节点路由返回ACK。 本发明通过对网络层和MAC层的联合研究,利用路由层感知到的周围
节点位置信息,充分发挥大功率节点的优势,最终在MAC层彻底解决了异
类点Ad Hoc网络隐藏终端问题和CTS/ACK无法返回的问题。
图1为本发明的G-B链路握手机制; 图2为本发明的MAC时序示意图; 下面结合附图对本发明的技术方案作进一步详细说明。
具体实施方式
参照图1所示,这里详细说明本发明的工作流程。以下步骤1到步骤4 是路由层的准备工作;步骤5到步骤8为MAC层的握手机制。
^印7网络中存在两类节点, 一类是通信速率、计算速度、发射功率性能 较好的节点,称为B节点,数量较少;另外一类是普通节点,称为G节点, 数量较多。
5fe/;2每个节点装备两个发射接口,分别工作在两个互不交叠的信道1 和2。信道1上发射接口的发射半径为RG,信道2上发射接口的发射半径为 RB, RB>RG。 B节点之间通过信道2通信。G节点之间以及B-G节点之间 通过信道1通信,G节点不在信道2上发送任何信息,但是可以接收B节点 在信道2上的广播信息。
S/印3每个B节点构造一个包含本节点位置信息的初始化CPI包,并通 过信道2在RB范围内广播。
&印4 G节点接收侦听到的所有初始化CPI包,并选择一个到本节点欧 几里德距离最小的B节点作为簇首节点。然后G节点构造一个包含本节点位 置信息的GPI包,并通过信道1以k跳洪泛方式(k的取值根据RB与RG 的比值确定)发送到簇首B节点。
&印5 B节点将收到的GPI包中的信息(源G节点的标识符和位置)保 存到一张"簇成员信息表"中,该表包含簇成员标识符和相应位置信息两项 内容。
Ste/;6B节点周期性地构造新的CPI包并通过信道2广播,包中包含整个 "簇成员信息表"的内容以及本节点的位置信息。
S鄉7 G节点收到CPI包B寸,将其中的内容全部添加到本地的一个称为"可感知区域拓扑信息表"的表(AG表)中,该表包含节点标识符和相应 位置信息两项内容。
Ste/;S每个G节点周期性地根据收到的CPI包重新选择一个与本G节点 有最小欧几里德距离的B节点作为新的簇首,构造GPI包,将自己的位置信 息通过信道1以贪婪方式发送到簇首节点。
^印9 B节点接入信道前,首先侦听信道2,若空闲则向G节点发送RTS;
S哗20目的G节点通过信道2接收到B节点的RTS包,根据自己AG 表中地理位置信息计算出到源节点B和隐藏终端的路由,然后以多播方式向 源B节点回复CTS,向隐藏终端发送CTS阻塞其接入信道;
Ste/;WB节点接收到CTS后等待一个AIFS的时间,然后接入信道向G 节点发送DATA;
S/印"G节点接收到B节点的DATA后,向B节点路由返回ACK。 参照图2所示,本发明采用物理载波侦听和虚拟载波侦听结合的机制有 效的完成了预约信道的功能。本发明专门为其定义了冲突避免时隙(Avoid Collision IFS, AIFS)来处理B节点接入信道时的时间问题。图中欲接入信 道的B节点transmitter侦听到信道空闲时间达到一个分布式控制时隙DIFS 之后发送一个RTS帧来预约信道,目的G节点receiver收到RTS之后等待一 个最小SIFS之后向源B节点和隐藏终端发送CTS帧,由于G节点发射半径 较小,CTS可能需要多跳转发来到达源B节点和隐藏终端,于是中间节点在 收到CTS之后根据AG表内容利用最短路径算法计算出下一跳节点,等待一 个SIFS时隙之后将CTS发出,源B节点在接收到CTS之后等待一个冲突避 免时隙AIFS,接着将数据帧发出,目的节点收到数据之后返回应答帧ACK的机制与返回CTS相同。
Areal中的节点能够收到源B节点的RTS,但是并不需要做出任何的退 避,即退避时间NAV=0, area2中的节点收到RTS时候需要一直退避到源B 节点数据发送结束,即NAV(RTS),由于目的G节点返回ACK不会对area2 中的其它B节点造成影响,因此在此阶段不需要退避。隐藏终端在接收到 CTS之后为了不影响目的G节点对数据的接收也需要一直退避到数据发送结 束,即NAV (CTS)。
权利要求
1、异类点Ad Hoc网络的一种局部拓扑感知方法,其特征在于,包括以下步骤Step1网络中存在两类节点,一类是通信速率、计算速度、发射功率性能较好的节点,称为B节点,数量较少;另外一类是普通节点,称为G节点,数量较多;Step2每个节点装备两个发射接口,分别工作在两个互不交叠的信道1和2;信道1上发射接口的发射半径为RG,信道2上发射接口的发射半径为RB,RB>RG,B节点之间通过信道2通信,G节点之间以及B-G节点之间通过信道1通信,G节点不在信道2上发送任何信息,但是可以接收B节点在信道2上的广播信息;Step3以B节点为簇首在网络层组织成一种松散的簇结构,簇成员向簇首注册自己的位置信息,簇首将自己的保存的成员信息广播给发射半径内的所有节点;Step4G节点收到的来自簇首的拓扑信息形成一张可感知节点拓扑信息表AG表;Step5B节点接入信道前,首先侦听信道2,若空闲则向G节点发送RTS;Step6目的G节点通过信道2接收到B节点的RTS包,根据自己AG表中地理位置信息采用最短路径算法计算出到源节点B和隐藏终端的路由,然后以多播方式向源B节点回复CTS,向隐藏终端发送CTS阻塞其接入信道;Step7B节点接收到CTS后等待一个冲突避免时间AIFS,然后接入信道向G节点发送DATA;Step8G节点接收到B节点的DATA后,向B节点路由返回ACK。
全文摘要
本发明公开了一种解决异类点Ad Hoc网络隐藏终端的方法。本发明在网络层为每个节点都配备两个发射接口,工作在互不干扰的两个信道,通过利用高性能节点的优势使每个节点形成一个较大的感知区域,在MAC层采用跨层设计的方法,应用网络层中感知到的周围节点的拓扑信息,采用最短路径算法求取多跳返回CTS与ACK的路由,并将CTS多播到隐藏终端来阻止其接入信道。本发明设计了严格的时序最终在MAC层彻底解决了异类点的隐藏终端和CTS/ACK无法返回的问题。
文档编号H04L1/16GK101321122SQ20081001828
公开日2008年12月10日 申请日期2008年5月23日 优先权日2008年5月23日
发明者杨慧杰, 杨新宇, 杨树森, 鹏 赵, 黄钺峰 申请人:西安交通大学