发明内容
发明目的:本发明提供一种基于负载均衡的BSS通信方法,方便信道的选择和使用,可更大程度避免信道冲突。
技术方案:本发明所述的一种基于负载均衡的BSS通信方法,具体包括以下步骤:
(1)划分BSS信道:BSS以频分复用技术,将信道载波的频率区间划分为N个信道,按频率从低至高编号为0~N-1;其中0号信道为公共信道,用于不同BSS的AP之间通信;1~N-1号信道仅用于BSS内部AP与Station之间通信;
(2)创建BSS信道分配表,并对分配表进行更新;
(3)创建BSS信道占用表,并对占用表进行更新;
(4)对BSS独占信道进行分配;
(5)基于不同信道,选取不同的BSS信号发送方法。
进一步地,步骤(2)所述的BSS信道分配表包括BSSID、MAC、CID、FC、TTL五个字段;其中BSSID字段保存本AP能接收到的所有BSS的BSSID;MAC字段保存同一行记录中BSSID所对应的MAC地址;CID字段保存同一行记录中BSSID所对应BSS独占信道的编号;FC字段保存同一行记录中BSSID所对应BSS上一时间段T0的流量;TTL字段保存本记录生存时间,每次更新记录时,TTL值复位至初始值T1,且T1>T0,T1随时间递减,当T1为0时,删除该记录。
进一步地,步骤(2)所述的创建BSS信道分配表过程如下:
S1:AP启动后,按BSS信道分配表创建BSS信道分配表的空表;
S2:通过0信道向外广播信道请求包,信道请求包包括源AP的BSSID、MAC地址;信道请求包发送前先侦听0信道上是否有信号传输,如果有则延时随机时间后,再次侦听,如果没有则发送信道请求包;发送过程中,如果信号冲突,则延时随机时间后,重新执行S2;
S3:所有收到信道请求包的目的AP立刻回复信道公告包,信道公告包包括自身的BSSID、MAC地址、独占的信道编号、上一时间段T0的流量;信道公告包发送前先侦听0信道上是否有信号传输,如果有则延时随机时间后,再次侦听,如果没有则发送信道公告包,发送过程中,如果信号冲突,则延时随机时间后,重新执行S3;
S4:源AP将接收到的每个目的AP的信道公告包数据作为一条记录存储至BSS信道分配表中,并将该记录最后一项TTL的值置为T1。
进一步地,步骤(2)所述的BSS信道分配表更新过程如下:
BSS内AP每隔T0时间,通过0信道广播自身的信道公告包;BSS内AP持续接收其他BSS的AP通过0信道广播的信道公告包;如接收到的信道公告包中包含的BSSID和MAC已经存在于自身BSS信道分配表中,将接收到的信道公告包中数据替换BSS信道分配表中的源数据,并将该记录最后一项TTL的值置为T1,否则在自身BSS信道分配表中新建一条记录保存收到的信道公告包,并将该记录最后一项TTL的值置为T1;BSS信道分配表中每条记录的TTL值随时间减少,当TTL值减至0时,删除该记录。
进一步地,步骤(3)所述的创建BSS信道占用表是利用一串二进制位的值来反映信道的分配使用情况,其二进制位的数量等于信道载波按频率区间划分的信道数,BSS信道占用表中每位二进制位反映一个信道的占用情况,若BSS信道分配表中,某信道被任意BSS占用为独占信道,则BSS信道占用表中对应该信道的位置1,否则置0。
进一步地,所述步骤(4)实现过程如下:
AP首先通过公式
确定本BSS独占信道的数量n;其中,λ为独占信道分配常量,且λ∈(0,1),N为BSS频分复用技术的信道数,FC为本BSS上一时间段T0的流量,K为BSS信道分配表中记录数,FC
i表示BSS信道分配表中第i条记录上一时间段T0的流量,
表示向上取整;
通过BSS信道占用表查询最大连续空闲信道区,选择居中的连续n个信道作为本BSS的独占信道;每隔T0时间,通过0信道广播自身的信道公告包,其中信道公告包中独占的信道编号为此时本BSS的独占信道所对应的编号。
进一步地,步骤(5)实现过程如下:
BSS中所有信道均可独立传输,若AP使用多个信道发送信号,则各信道为并行关系,以信道轮转方式依次发出欲发送的帧;若AP使用本BSS独占信道发送信号,可直接发送,如果信号冲突,则持续发送,直至成功发送;若AP使用共享信道发送信号,需要先侦听共享信道上是否有信号正在传输,如果有信号正在传输,则转下一共享信道,如果共享信道上没有信号正在传输,则发送信号,若信号冲突,则取消此次发送,转下一共享信道;共享信道选取优先级为BSS信道占用表中与本BSS独占信道相邻距离越小,优先级越高。
有益效果:与现有技术相比,本发明的有益效果:本发明取消了信道及子信道的区分,各信道均可独立使用,不必组成子信道集,采用统一编址,更方便信道的选择和使用;设置最低频率信道作为BSS信息交互的专用信道,由于相同发射功率下,低频传输距离更远,可更大程度避免信道冲突;由于各BSS均有自身独占信道,所以不会出现因为信号碰撞导致网络完全无法传输的情况,最差的情况也是各BSS均降速,仅用自身独占信道进行通信;采用BSS信道分配表和BSS信道占用表为快速切换到空闲信道提供依据,配合BSS独占信道分配方法和BSS信号发送方法实现基于负载均衡的全局最优通信方案。
具体实施方式
下面结合附图对本发明作进一步详细说明。
本发明提供一种基于负载均衡的BSS(Basic Service Set)通信方法,提出不区分信道和子信道,即将所有子信道升级为信道,采用统一编址,并提出使用专有信道用于BSS之间信息交互,同时采用BSS信道分配表和BSS信道占用表为快速切换到空闲信道提供依据,配合BSS独占信道分配方法和BSS信号发送方法实现基于负载均衡的全局最优通信方案。如图1所示,具体包括以下步骤:
步骤1:对BSS信道进行划分。
BSS以频分复用技术,将信道载波的频率区间划分为N个信道,按频率从低至高编号为0~N-1;其中0号信道为公共信道,用于不同BSS的AP之间通信;1~N-1号信道仅用于BSS内部AP与Station之间通信。
步骤2:创建BSS信道分配表,并对分配表进行更新。
BSS信道分配表数据结构包含BSSID、MAC、CID、FC、TTL五个字段,其中BSSID字段保存本AP能接收到的所有BSS的BSSID,包括本AP所处BSS的BSSID;MAC(Media AccessControl)字段保存同一行记录中BSSID所对应的MAC地址;CID(Channel ID)字段保存同一行记录中BSSID所对应BSS独占信道的编号;FC(Flow Capacity)字段保存同一行记录中BSSID所对应BSS上一时间段T0的流量;TTL(Time To Live)字段保存本记录生存时间,每次更新记录时,TTL值复位至初始值T1,且T1>T0,T1随时间递减,当T1为0时,删除该记录。
BSS信道分配表创建方法如下:
(1)AP启动后,按BSS信道分配表数据结构创建BSS信道分配表的空表。
(2)通过0信道向外广播信道请求包,信道请求包包括源AP的BSSID、MAC地址;信道请求包发送前先侦听0信道上是否有信号传输,如果有则延时随机时间后,再次侦听,如果没有则发送信道请求包,发送过程中,如果信号冲突,则延时随机时间后,重新执行本步骤。
(3)所有收到信道请求包的目的AP立刻回复信道公告包,信道公告包包括自身的BSSID、MAC地址、独占的信道编号、上一时间段T0的流量;信道公告包发送前先侦听0信道上是否有信号传输,如果有则延时随机时间后,再次侦听,如果没有则发送信道公告包,发送过程中,如果信号冲突,则延时随机时间后,重新执行本步骤。
(4)源AP将接收到的每个目的AP的信道公告包数据作为一条记录存储至BSS信道分配表中,并将该记录最后一项TTL的值置为T1。
BSS信道分配表更新方法:
BSS内AP每隔T0时间,通过0信道广播自身的信道公告包;BSS内AP持续接收其他BSS的AP通过0信道广播的信道公告包,如接收到的信道公告包中包含的BSSID和MAC已经存在于自身BSS信道分配表中,将接收到的信道公告包中数据替换BSS信道分配表中的源数据,并将该记录最后一项TTL的值置为T1,否则在自身BSS信道分配表中新建一条记录保存收到的信道公告包,并将该记录最后一项TTL的值置为T1;BSS信道分配表中每条记录的TTL值随时间减少,当TTL值减至0时,删除该记录。
步骤3:创建BSS信道占用表,并对占用表进行更新。
BSS信道占用表是利用一串二进制位的值来反映信道的分配使用情况,其二进制位的数量等于信道载波按频率区间划分的信道数,BSS信道占用表中每位二进制位反映一个信道的占用情况,若BSS信道分配表中,某信道被任意BSS占用为独占信道,则BSS信道占用表中对应该信道的位置1,否则置0。
AP启动后,创建BSS信道占用表空表,每次BSS信道分配表变更后,根据BSS信道分配表的内容,重置BSS信道占用表。
步骤4:对BSS独占信道进行分配。
AP首先通过公式
确定本BSS独占信道的数量n,其中λ为独占信道分配常量,且λ∈(0,1),N为BSS频分复用技术的信道数,FC为本BSS上一时间段T0的流量,K为BSS信道分配表中记录数,FC
i表示BSS信道分配表中第i条记录上一时间段T0的流量,
表示向上取整。
再通过BSS信道占用表查询最大连续空闲信道区,选择居中的连续n个信道作为本BSS的独占信道;每隔T0时间,通过0信道广播自身的信道公告包,其中信道公告包中独占的信道编号为此时本BSS的独占信道所对应的编号。
步骤5:基于不同信道,选取不同的BSS信号发送方法。
BSS中所有信道均可独立传输,若AP使用多个信道发送信号,则各信道为并行关系,以信道轮转方式依次发出欲发送的帧;若AP使用本BSS独占信道发送信号,可直接发送,如果信号冲突,则持续发送,直至成功发送;若AP使用共享信道发送信号,需要先侦听共享信道上是否有信号正在传输,如果有信号正在传输,则转下一共享信道,如果共享信道上没有信号正在传输,则发送信号,若信号冲突,则取消此次发送,转下一共享信道;共享信道选取优先级为BSS信道占用表中与本BSS独占信道相邻距离越小,优先级越高。
本实施方式中BSS以频分复用技术,将信道载波的频率区间划分为N个信道,本案例设N=1024,按频率从低至高编号为0~1023;其中0号信道为公共信道,仅用于不同BSS的AP之间通信,不用于BSS内部AP与Station之间通信;1~1023号信道仅用于BSS内部AP与Station之间通信。
AP启动后,按BSS信道分配表数据结构创建BSS信道分配表的空表,通过0信道向外广播信道请求包,信道请求包包括源AP的BSSID、MAC地址;信道请求包发送前先侦听0信道上是否有信号传输,如果有则延时随机时间后,再次侦听,如果没有则发送信道请求包,发送过程中,如果信号冲突,则延时随机时间后,重新广播信道请求包,设本AP的名称为AP0,BSSID为BSSID0,MAC地址为MAC0。
所有收到信道请求包的目的AP立刻回复信道公告包,信道公告包包括自身的BSSID、MAC地址、独占的信道编号、上一时间段T0的流量;信道公告包发送前先侦听0信道上是否有信号传输,如果有则延时随机时间后,再次侦听,如果没有则发送信道公告包,发送过程中,如果信号冲突,则延时随机时间后,重新回复信道公告包。
所有BSS内的AP均持续接收其他BSS的AP通过0信道广播的信道公告包,如接收到的信道公告包中包含的BSSID和MAC已经存在于自身BSS信道分配表中,将接收到的信道公告包中数据替换BSS信道分配表中的源数据,并将该记录最后一项TTL的值置为T1,否则在自身BSS信道分配表中新建一条记录保存收到的信道公告包,并将该记录最后一项TTL的值置为T1;BSS信道分配表中每条记录的TTL值随时间减少,当TTL值减至0时,删除该记录,本案例设T0=600s、T1=1000s。
AP0通过发送信道请求包、接收信道公告包,按照BSS信道分配表创建方法创建BSS信道分配表如表1所示:
表1 BSS信道分配表
AP0根据BSS信道分配表构建BSS信道占用表如表2所示:
表2 BSS信道占用表
…… |
15 |
16 |
17 |
…… |
100 |
101 |
102 |
103 |
104 |
…… |
…… |
1 |
1 |
1 |
…… |
1 |
1 |
1 |
1 |
1 |
…… |
AP0根据公式
确定本BSS独占信道的数量n,若AP0之前T0时间流量为一个极小值100,BSS信道分配表中FC项之和为10
8,则AP0所占用的独占信道n=1,再根据BSS信道占用表分配AP0的独占信道,若AP0的BSS信道占用表当前连续0的最多的区间在17~100之间,则AP0的独占信道设置为
此时AP0通过0信道向外发送信道公告包内容如表3所示:
表3通过0信道向外发送信道公告包内容
其他BSS的AP接收到该信道公告包后,更新自身BSS信道分配表和BSS信道占用表。