一种增强型无线局域网中隐藏节点对的检测方法
技术领域
本发明涉及一种增强型无线局域网中隐藏节点对的检测方法,属于无线局域网技术领域。
背景技术
无线局域网(Wireless Local Area Networks,WLAN)是以无线信道作为传输媒介的计算机局域网络,包括接入点(Access Point,AP)和站点(Station,STA)。
WLAN采用802.11协议进行空口的无线数据传输。如果多路发送的同频无线信号同时传输到同一接收方,就会出现干扰和冲突,导致接收方接收失败。为了避免冲突,802.11协议引入了载波侦听多路访问/碰撞检测(Carrier Sense Multiple Access withCollision Avoidance,CSMA/CA)机制,该机制要求发送方对介质进行监听,确认介质中没有其他发送方在发送信号的情况下,才能发送自己的信号。一般情况下,该机制可以很好地避免无线信号之间的冲突,但是在发生隐藏节点情况下该机制将失效。如果AP在两个STA通信范围的重叠区域,两个STA因相隔距离较远或存在遮挡,均无法收到对方的无线信号,STA1、STA2均与AP正常关联并进行通信。当STA1向其关联的AP发送数据时,STA2也可能与其关联的AP进行通信,由于无法收到STA1发送的无线信号,STA2将无法通过CSMA/CA机制避免与STA1发送的WLAN报文发生冲突,导致大量STA1和/或STA2发送给AP的无线报文无法被AP正常接收。这种情况下,STA1与STA2互为隐藏节点。
如果STA1、STA2、STA3和STA4均属于在AP的基本服务集(Basic Service Set,BSS)内,与AP正常关联。STA1和STA2处于通信范围内,可正常通信;STA3和STA4处于通信范围内,可正常通信。当STA1和STA2、STA3和STA4两对站点同时通信时,因相隔距离较远或存在遮挡,均无法收到对方通信链路的无线信号,不影响双方节点对的通信。这种情况下,STA1和STA2、STA3和STA4互为隐藏节点对。
在隐藏节点对的场景中,由于STA1和STA2的通信链路、STA3和STA4的通信链路均无法收到对方通信链路的无线信号,可由AP安排两对隐藏节点对同时通信,提高AP所在BSS的传输效率。因此,AP如何发现和判断BSS中是否存在隐藏节点对的问题就显得尤为重要。
目前,802.11协议中有多种方法检测BSS内的隐藏节点,一种是STA1只能扫描到STA2发出的单向数据帧,那么单向数据帧的接收站点STA3就是STA1的隐藏节点,该方法仅可针对某一STA检测其隐藏节点;第二种是AP向BSS内部所有STA发送管理帧,使其检测隐藏节点,STA将其周边检测结果上报AP,该方法需要在AP发送检测管理帧的前提下进行隐藏节点的判断,且对于如何判断隐藏节点没有详述;第三种是AP自带检测结构,在一定周期内检测某STA发生数据碰撞的概率,当概率大于阈值时,则认为该STA存在隐藏节点,该方法不增加额外的管理帧,但不能提前预防隐藏节点发生碰撞事件,而是在隐藏节点发生碰撞达到一定概率之后才确定的,一定程度上降低了BSS的传输效率。在802.11协议中也并没有提出完整的方案解决BSS内的隐藏节点对的检测问题。
发明内容
发明目的:针对现有技术中存在的问题与不足,本发明一种增强型无线局域网中隐藏节点对的检测方法。通过此方法,AP可以快速检测出BSS内存在的隐藏节点对。本发明的方法具有实现简单、可操作性强等特点。
技术方案:为方便本发明的描述,对BSS内所有关联AP的STA以任意顺序依次编号为STA1、STA2、STA3、STA4……STA N,这里的STA1、STA2、STA3、STA4……STA N可以是BSS内的任一STA。
一种增强型无线局域网中隐藏节点对的检测方法,包括如下步骤:
步骤1:AP拥有关联到自身的STA位置分布信息和可以使用的最大发送功率,AP保存该信息。当STA发生位置移动时,AP将定期更新STA的位置信息。
步骤2:AP根据位置分布信息和最大发送功率,判断当前BSS内哪些节点对互相成为隐藏节点对。
步骤2.1:判断STA3是否为STA1的隐藏节点。
如果D1,3>R1,则STA3是STA1的隐藏节点,其中,D1,3表示STA1和STA3之间的物理距离,R1表示通过STA1使用最大发送功率且接收方满足一定接收需求的最小接收功率的前提下计算得到的覆盖半径,其可以通过路径损失模型计算得出。
路径损失模型一般使用大尺度衰落模型,其公式为
其中,d表示发射机和接收机之间的距离(单位:m),即本发明中所需的STA覆盖半径;
Pt为发射功率(单位:W),其最大值为STA的最大发送功率;
Pr(d)为距离为d的接收信号功率(单位:W),其最小值为可检测到有效的物理层协议数据单元(PPDU)传输的敏感度(CCA threshold);
λ为发射波长(单位:m);
Gt为发射天线的增益,Gr为接收天线的增益;
L为与传播环境无关的***损耗系数,表示实际硬件***中的总体衰减或损耗。
公式(1)中的d即同时满足在最大发射功率Pt max和物理层可正确检测到PPDU且有效解包的最小接收功率Pr min(Pr min≥CCA threshold)的条件下得到的STA最大覆盖半径R。因此,由公式(1)可得STA的最大覆盖半径Rmax为
因此,在步骤2.1中,R1表示STA1使用最大发送功率且接收方满足一定接收需求的最小接收功率的前提下,由公式(2)计算得到的覆盖半径。
步骤2.2:判断STA3是否为STA2的隐藏节点。
如果D2,3>R2,则STA3是STA2的隐藏节点,其中,D2,3表示STA2和STA3之间的物理距离,R2表示STA2使用最大发送功率且接收方满足一定接收需求的最小接收功率的前提下由公式(2)计算得到的覆盖半径。
步骤2.3:判断STA3是否为STA1和STA2的共同隐藏节点。
如果STA3同时是STA1和STA2的隐藏节点且D1,2<R1和D1,2<R2,则STA3是STA1和STA2的共同隐藏节点,其中,D1,2表示STA1和STA2之间的物理距离;否则,AP判断STA3不是STA1和STA2的共同隐藏节点。
步骤2.4:判断STA4是否为STA1和STA2的共同隐藏节点。
如果同时满足D1,4>R1且D2,4>R2,则STA4是STA1和STA2的共同隐藏节点,D1,4表示STA1和STA4之间的物理距离,D2,4表示STA2和STA4之间的物理距离;否则,AP判断STA4不是STA1和STA2的共同隐藏节点。
步骤2.5:判断STA3和STA4是否为STA1和STA2的隐藏节点对。
如果STA3和STA4同时是STA1和STA2的共同隐藏节点且D3,4<R3和D3,4<R4,则STA3和STA4是STA1和STA2的隐藏节点对,其中D3,4表示STA3和STA4之间的物理距离,R3表示STA3使用最大发送功率且接收方满足一定接收需求的最小接收功率的前提下由公式(2)计算得到的覆盖半径,R4表示STA4使用最大发送功率且接收方满足一定接收需求的最小接收功率的前提下由公式(2)计算得到的覆盖半径;否则,AP判断STA3和STA4不是STA1和STA2的隐藏节点对。
步骤3:重复步骤2.1~2.5,判断STA1和STA2是否为STA3和STA4的隐藏节点对。
如果D1,3>R3,则STA1是STA3的隐藏节点;
如果D1,4>R4,则STA1是STA4的隐藏节点;
如果STA1同时是STA3和STA4的隐藏节点且D3,4<R3和D3,4<R4,则STA1是STA3和STA4的共同隐藏节点;
进一步判断,如果D2,3>R3且D2,4>R4,则STA2是STA3和STA4的共同隐藏节点;
进一步判断,如果STA1和STA2同时是STA3和STA4的共同隐藏节点且D1,2<R1和D1,2<R2,则STA1和STA2是STA3和STA4的隐藏节点对;否则,AP判断STA1和STA2不是STA3和STA4的隐藏节点对。
当同时满足STA1和STA2、STA3和STA4分别是对方的隐藏节点对时,AP认为这两对节点互为隐藏节点对。
对于隐藏节点对的判断结果,AP可记录成表。在数据传输过程中,如果遇到互为隐藏节点对的STA的数据传输请求,AP不需要重复判断。如果STA的位置分布信息发生变化,隐藏节点对需要重新判断。
有益效果:与现有技术相比,本发明提供的增强型无线局域网中隐藏节点对的检测方法,应用于无线局域网技术领域。通过此方法,AP可及时发现存在于BSS内的隐藏节点对,提高了BSS内STA的传输效率和整体吞吐量。该发明具有可操作性强、实现简单等特点。
附图说明
图1为本发明的一对隐藏节点的场景图;
图2为本发明的***模型图;
图3为本发明的隐藏节点的判断方法原理示意图;
图4为本发明的隐藏节点对的判断流程图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
在本实施例中,我们考虑当前BSS内有N个STA与AP正常关联,为了方便本发明的描述,为AP关联的所有STA以任意顺序依次编号为STA1、STA2、STA3、STA4……STA N。如图2所示,我们仅给出了判断隐藏节点对的4个STA,编号为STA1、STA2、STA3和STA4。当STA1和STA2、STA3和STA4两对站点同时通信时,因相隔距离较远或存在遮挡,均无法收到对方通信链路的无线信号,不影响双方节点对的通信。这种情况下,STA1和STA2、STA3和STA4互为隐藏节点对。
针对BSS内的隐藏节点对的判断,AP可以使用本发明提供的增强型无线局域网中隐藏节点对的检测方法,如图4所示,具体包括以下步骤:
步骤1:AP拥有关联到自身的STA位置分布信息和可以使用的最大发送功率,AP保存该信息。当STA发生位置移动时,AP将定期更新STA的位置信息。
步骤2:AP根据位置分布信息和最大发送功率,判断当前BSS内哪些节点对互相成为隐藏节点对。
步骤2.1:判断STA3是否为STA1的隐藏节点。
如图3所示,如果D1,3>R1,则STA3是STA1的隐藏节点,其中D1,3表示STA1和STA3之间的物理距离,R1表示通过STA1使用最大发送功率且接收方满足一定接收需求的最小接收功率的前提下计算出来的覆盖半径,其可以通过路径损失模型计算得出。
计算STA覆盖半径的路径损失模型一般使用大尺度衰落模型,其公式为
其中,d表示发射机和接收机之间的距离(单位:m),即本发明中所需的STA覆盖半径;
Pt为发射功率(单位:W),其最大值为STA的最大发送功率;
Pr(d)为距离为d的接收信号功率(单位:W),其最小值为可检测到有效的物理层协议数据单元(PPDU)传输的敏感度(CCA threshold);
λ为发射波长(单位:m);
Gt为发射天线的增益,Gr为接收天线的增益;
L为与传播环境无关的***损耗系数,表示实际硬件***中的总体衰减或损耗。
公式(1)中的d即同时满足在最大发射功率Pt max和物理层可正确检测到PPDU且有效解包的最小接收功率Pr min(Pr min≥CCA threshold)的条件下得到的STA最大覆盖半径R。因此,由公式(1)可得STA的最大覆盖半径Rmax为
因此,在步骤2.1中,R1表示STA1使用最大发送功率且接收方(本实施例中指STA2)满足一定接收需求的最小接收功率的前提下,由公式(2)计算得到的覆盖半径。
步骤2.2:判断STA3是否为STA2的隐藏节点。
如果D2,3>R2,则STA3是STA2的隐藏节点,其中D2,3表示STA2和STA3之间的物理距离,R2表示STA2使用最大发送功率且接收方(本实施例中指STA1)满足一定接收需求的最小接收功率的前提下由公式(2)计算得到的覆盖半径。
步骤2.3:判断STA3是否为STA1和STA2的共同隐藏节点。
如果STA3同时是STA1和STA2的隐藏节点且D1,2<R1和D1,2<R2,则STA3是STA1和STA2的共同隐藏节点,D1,2表示STA1和STA2之间的物理距离;否则,AP判断STA3不是STA1和STA2的共同隐藏节点。
步骤2.4:判断STA4是否为STA1和STA2的共同隐藏节点。
如果同时满足D1,4>R1且D2,4>R2,则STA4是STA1和STA2的共同隐藏节点,D1,4表示STA1和STA4之间的物理距离,D2,4表示STA2和STA4之间的物理距离;否则,AP判断STA4不是STA1和STA2的共同隐藏节点。
步骤2.5:判断STA3和STA4是否为STA1和STA2的隐藏节点对。
如果STA3和STA4同时是STA1和STA2的共同隐藏节点且D3,4<R3和D3,4<R4,则STA3和STA4是STA1和STA2的隐藏节点对,D3,4表示STA3和STA4之间的物理距离,R3表示STA3使用最大发送功率且接收方(本实施例中指STA4)满足一定接收需求的最小接收功率的前提下由公式(2)计算得到的覆盖半径,R4表示STA4使用最大发送功率且接收方(本实施例中指STA3)满足一定接收需求的最小接收功率的前提下由公式(2)计算得到的覆盖半径;否则,AP判断STA3和STA4不是STA1和STA2的隐藏节点对。
步骤3:重复步骤2.1~2.5,判断STA1和STA2是否为STA3和STA4的隐藏节点对。
如果D1,3>R3,则STA1是STA3的隐藏节点;
如果D1,4>R4,则STA1是STA4的隐藏节点;
如果STA1同时是STA3和STA4的隐藏节点且D3,4<R3和D3,4<R4,则STA1是STA3和STA4的共同隐藏节点;
进一步判断,如果D2,3>R3且D2,4>R4,则STA2是STA3和STA4的共同隐藏节点;
进一步判断,如果STA1和STA2同时是STA3和STA4的共同隐藏节点且D1,2<R1和D1,2<R2,则STA1和STA2是STA3和STA4的隐藏节点对;否则,AP判断STA1和STA2不是STA3和STA4的隐藏节点对。
当同时满足STA1和STA2、STA3和STA4分别是对方的隐藏节点对时,AP认为这两对节点互为隐藏节点对。
对于隐藏节点对的判断结果,AP可记录成表,即隐藏节点对记录表,见表1。
表1中每个STA可由MAC地址、PAID等标识,由AP自行配置。在数据传输过程中,如果遇到互为隐藏节点对的STA的数据传输请求,AP不需要重复判断。如果STA的位置分布信息发生变化,隐藏节点对需要重新判断。