一种BSS网络内STA的管理方法和设备
技术领域
本发明涉及通信技术领域,尤其涉及一种BSS(Basic Service Set,基本服务集)网络内STA(Station,客户端)的管理方法和设备。
背景技术
802.11是基于共享介质的网络,采用的是CSMA/CA(Carrier SenseMultiple Access with Collision Avoidance,载波侦听多路访问/冲突避免)的信道抢占方式,其原理如图1所示。
如果BSS范围较小,此时STA间距离也比较小,同一个BSS内的STA可以通过NAV机制(Network Allocation Vector,网络分配向量)互相感知到对方的存在,从而实现冲突避免,NAV维护流程如图2所示,其中Source表示报文的发送方STA,Destination表示报文的接收方STA,Other表示BSS内的其他STA。具体的,对于如图3所示的BSS范围较小时的情况,每个STA在发送报文之前都需要等待DIFS(Distributed Cooperation Function Inter-frameSpace,DCF帧间间隔)的信道空闲时间,DIFS时间内信道没有被占用的话,启动随机退避,随机退避结束后就可以发送报文了。每个STA还维护一个NAV计数器,用来标识信道逻辑状况,STA每收到一个报文都会检测报文中的NAV字段,如果报文中的NAV的值大于自己的NAV计数器,则更新NAV计数器到报文中的NAV的值,只有在NAV计数器为0并且信道空闲时,STA才会进入信道抢占流程。
如果BSS范围比较大,STA间距离也比较大,STA之间因距离关系而不能通过载波检测到彼此的存在,802.11协议通过RTS(Request To Send,发送请求)/CTS(Clear To Send,发送准许)机制来实现冲突避免。任何STA根据自己RTS/CTS的门限,在发送报文之前,都可以向接收方发送RTS报文,只有在接收方回应正确的CTS后,发送方才能发送报文;对于STA而言,所有的数据必须首先发给AP(Access Point,接入点),而AP回应的CTS会覆盖整个BSS,这样BSS内的其他STA也可以检测到信道的使用情况,从而实现BSS内的STA的冲突避免。
当WLAN设备应用在分布式天线环境中时,例如如图4所示的组网环境,802.11的冲突避免机制不能在很好的工作。在这种环境中,STA间距离较远,不能通过无线信号感知到彼此的存在,从而产生冲突,STA个数越多,冲突越严重,网路质量也越差。
在802.11协议中,RTS/CTS机制由单个STA控制,STA根据自己RTS/CTS的门限来决定每个报文是否使用这个机制,而这个门限可以通过驱动程序的高级选项或者网卡厂商发布的控制程序来修改。但是并没有机制保证所有的STA都使用RTS/CTS保护功能,首先,并不是所有的网卡驱动程序都提供这个设置的功能;其次,这个功能属于高级选项,在普通配置程序中不会显示;再次,没有机制保证所有STA的这个门限都设置成较低的值,以减少网络冲突。因此,虽然RTS/CTS交互机制解决了冲突问题,但控制其生效的RTS门限值却是分散控制的,无法在实际使用中保证BSS内所有STA都启用此机制,也就无法实现网络冲突的避免。
发明内容
本发明提供一种BSS网络内STA的管理方法和设备,用于对BSS范围较大的分布式环境中STA之间发送的报文进行管理。
为达到上述目的,本发明提供了一种BSS网络内STA的管理方法,包括以下步骤:
接入点AP将进行发送请求RTS协商的报文长度阈值添加在向STA发送的帧中;
所述AP将所述携带报文长度阈值的帧向STA发送,用于对所述STA发送的报文进行控制。
其中,所述报文长度阈值为0至2347中的任一数值。
其中,所述携带报文长度阈值的帧为信标Beacon帧、关联响应AssociationResponse帧、或重关联响应Reassociation Response帧中的一种或多种。
本发明还提供一种BSS网络内客户端STA的管理方法,包括以下步骤:
STA接收AP发送的携带RTS协商的报文长度阈值的帧;
所述STA根据所述报文长度阈值处理待发送的报文。
其中,所述STA根据所述报文长度阈值处理待发送的报文具体为:
对于待发送的长度不大于所述报文长度阈值的报文,直接进行发送;
对于待发送的长度大于所述报文长度阈值的报文,向所述AP发送RTS帧,用于预先对所述报文的发送进行协商。
本发明还提供一种接入点AP,用于BSS网络内客户端STA的管理,包括:
帧生成单元,用于将进行发送请求RTS协商的报文长度阈值添加在向STA发送的帧中;
帧发送单元,用于将所述帧生成单元生成的携带报文长度阈值的帧向STA发送,用于对所述STA发送的报文进行控制。
其中,还包括:
报文长度阈值设置单元,用于设置报文长度阈值,所述报文长度阈值为0至2347中的任一数值。
本发明还提供一种客户端STA,用于接受BSS网络内接入点AP的管理,其特征在于,包括:
帧接收单元,用于STA接收AP发送的携带RTS协商的报文长度阈值的帧;
报文处理单元,用于根据所述帧接收单元接收的帧中携带的报文长度阈值,处理待发送的报文。
其中,所述报文处理单元进一步包括:
比较子单元,用于比较所述报文长度阈值与待发送报文的长度,将待发送的长度不大于所述报文长度阈值的报文发送到第一处理子单元,将待发送的长度大于所述报文长度阈值的报文发送到第二处理子单元;
第一处理子单元,用于对待发送的长度不大于所述报文长度阈值的报文,直接进行发送;
第二处理子单元,用于对待发送的长度大于所述报文长度阈值的报文,向所述AP发送RTS帧,以预先对所述报文的发送进行协商。
与现有技术相比,本发明具有以下优点:
由AP决定RTS/CTS机制的报文长度阈值,并将该阈值通知STA,以实现对STA发送报文的管理,解决了BSS范围较大(如分布式环境)时不同STA间发送报文引起的冲突,提高网络的稳定性。
附图说明
图1是现有技术中CSMA/CA信道抢占方式的示意图;
图2是现有技术中NAV维护流程的示意图;
图3是现有技术中BSS范围较小时的STA组网示意图;
图4是现有技术中BSS范围较大时的STA组网示意图;
图5是本发明中BSS网络内STA的管理方法的流程图;
图6是本发明中AP向STA发送进行RTS协商的报文长度阈值的示意图;
图7是本发明中BSS网络内STA的管理系统示意图。
具体实施方式
本发明的核心思想在于:由AP统一决定RTS/CTS机制的报文长度阈值,并将该阈值通知STA,取代现有的STA对RTS门限值的分散控制,以实现对STA发送报文的统一管理,解决BSS范围较大(如分布式环境)时不同STA发送报文引起的冲突。
本发明中一种BSS网络内STA的管理方法如图5所示,包括以下步骤:
步骤s501、AP将进行RTS协商的报文长度阈值添加在向STA发送的帧中。
具体的,该报文长度阈值可以由AP根据BSS网络内STA的分布、网络是否为分布式环境以及网络流量特点等因素进行设定。对于STA间距离较远或者在分布式环境的网络中,可以将该报文长度阈值设置的较小,保证STA在发送大多数报文时都按照RTS/CTS机制处理,解决报文冲突。
步骤s502、AP将该携带报文长度阈值的帧向STA发送,用于对STA发送的报文进行控制。
步骤s503、STA接收AP发送的携带RTS协商的报文长度阈值的帧。
具体的,携带RTS协商的报文长度阈值的帧可以为信标Beacon帧、关联响应Association Response帧、或重关联响应Reassociation Response帧中的一种或多种。
步骤s504、STA根据报文长度阈值处理待发送的报文。
具体的,STA对待发送的报文的处理包括以下步骤:
步骤s505、STA比较报文长度阈值与待发送报文的长度,对于待发送的长度不大于该报文长度阈值的报文,进行步骤s506;对于待发送的长度大于该报文长度阈值的报文,进行步骤s507。
步骤s506、STA对于待发送的长度不大于该报文长度阈值的报文,直接进行发送并结束。
步骤s507、STA对于待发送的长度大于该报文长度阈值的报文,向AP发送RTS帧并结束,用于预先对该报文的发送进行协商。
本发明中,为了实现报文长度阈值的下发,AP在向STA发送的帧中定义信息元素RTS Threshold(RTS阈值)
RTS Threshold字段表示RTS/CTS阈值,长度为2个字节。STA在发送长度超过这个阈值的管理和数据报文前,都必须使用RTS/CTS机制向AP申请信道。其中,RTS Threshold的取值范围可以为0-2347,该2347为802.11协议中定义的最大报文长度:取值为0表示任何报文都使用RTS/CTS机制,因为任何报文长度都大于0;取值为2347表示对任何报文都不使用RTS/CTS,因为报文长度都小于2347。
该RTS Threshold可以添加在以下由AP向STA发送的帧中:
(1)beacon帧。
AP在发送的每一个beacon帧中都必须包含这个字段,任何关联到AP的STA从beacon中解析出RTS Threshold后,都必须将帧中的RTS Threshold更新到本地。
其中,目前beacon帧为AP按照一定的时间间隔向BSS内所有STA广播的帧,该beacon帧中携带了AP的能力信息。
(2)Association Response和/或Reassociation Response帧。
如果STA关联成功,则AP在发送的Association Response和ReassociationResponse帧中都可以添加RTS Threshold信息元素。STA在接收到Status Code为successful的Association Response和Reassociation Response后,都必须将帧中的RTS Threshold更新到本地。
其中,目前STA与AP的关联过程如下:
STA发送一个Association Request(关联请求)帧到AP,该AP是接受STA认证的AP。AP收到来自验证过的STA的Association Request帧时,应该发送一个带有status code(状态代码)的Association Response(关联响应)帧到STA,如果status是″successful(成功)″,分配给STA的Association ID(关联ID)应该包含在这个Response帧中。STA收到一个Association Response帧且其中状态值为″successful″时,STA关联上了AP。
其中,目前STA与AP的重关联过程如下:
STA发送一个Reassociation Request(重关联请求)帧到AP,该AP是接受STA认证的AP。AP收到来自验证过的STA的Reassociation Request帧时,应该发送带有status value(状态值)的Reassociation Response(重关联响应)到STA。如果status value是″successful″,分配给STA的联结的ID应该包含在Response中。STA收到状态值为″successful″的Reassociation Response帧时,表明STA现在是和AP关联的。
上述发送RTS Threshold的流程的示意图如图6所示。STA获得该RTSThreshold值后,更新RTS Threshold至本地,并根据该RTS Threshold以及上述步骤s504~步骤507所描述的步骤对待发送的报文进行控制。
通过使用本发明提供的上述方法,由AP决定RTS/CTS机制的报文长度阈值,并将该阈值通知STA,以实现对STA发送报文的管理,取代了现有的STA对RTS门限值的分散控制,解决BSS范围较大(如分布式环境)时不同STA发送报文引起的冲突。
本发明还提供一种BSS网络内STA的管理系统,其结构如图7所示,包括接入点AP 10和若干个客户端STA 20。
其中,接入点AP 10,用于BSS网络内客户端STA的管理;客户端STA 20,用于接受BSS网络内接入点AP 10的管理。
具体的,接入点AP 10进一步包括:
帧生成单元11,用于将进行发送请求RTS协商的报文长度阈值添加在向STA发送的帧中。
帧发送单元12,用于将帧生成单元11生成的携带报文长度阈值的帧向STA发送,用于对STA20发送的报文进行控制。
报文长度阈值设置单元13,用于设置报文长度阈值并提供给帧生成单元11,该报文长度阈值为0至2347中的任一数值。
具体的,客户端STA 20进一步包括:
帧接收单元21,用于接收AP 10发送的携带RTS协商的报文长度阈值的帧。
报文处理单元22,用于根据帧接收单元21接收的帧中携带的报文长度阈值,处理待发送的报文。其进一步包括:
比较子单元221,用于比较报文长度阈值与待发送报文的长度,将待发送的长度不大于报文长度阈值的报文发送到第一处理子单元222,将待发送的长度大于报文长度阈值的报文发送到第二处理子单元223。
第一处理子单元222,用于对待发送的长度不大于该报文长度阈值的报文,直接进行发送。
第二处理子单元223,用于对待发送的长度大于该报文长度阈值的报文,向AP 10发送RTS帧,以预先对该报文的发送进行协商。
通过使用本发明提供的上述设备,由AP决定RTS/CTS机制的报文长度阈值,并将该阈值通知STA,以实现对STA发送报文的管理,取代了现有的STA对RTS门限值的分散控制,解决BSS范围较大(如分布式环境)时不同STA发送报文引起的冲突。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台网络设备执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。