802.11无线局域网中主动AP扫描的方法 【技术领域】
本发明涉及的是一种通信技术领域的方法,特别是一种802.11无线局域网中主动AP扫描的方法。
背景技术
802.11无线局域网中AP的通信半径一般在100米以下。为了覆盖一个相对较大的区域,就必须布设大量的AP。在很多情况下,因为一个无线连接客户有移动的需要,当用户逐渐脱离某一AP的范围的时候,他(她)的移动终端(MS)应该在很短的时间内切换到另一个AP上去。切换直接决定着用户的通信服务质量(QoS),因为如果无法完成切换或者切换延时过长,用户的通信,特别是一些实时性较强的会话,就会受到影响,甚至被完全中断。现实中的MAC切换会引入一个秒级延时,而该延时主要是由准备切换时进行的全频率AP扫描所造成的,所以在802.11无线局域网中,缩短AP扫描时间对于降低切换延时、保障QoS具有非常重要的意义。
经对现有技术文献的检索发现,作者为G.Singh,A.P.S.Atwal,B.S.Sohi的“A Signalling Technique for Disseminating Neighbouring AP ChannelInformation to Mobile Stations”,ICDCN 2006,LNCS 4308,pp.594-599,Springer-Veriag Berlin Heidelbeg,2006(向移动用户站传播邻近AP信息的一种信令技术)提出建立一条专用的用于切换信息交换的通道来消除AP扫描时间,从而大大降低MAC层延时。但是该方法要求全面修改802.11协议,撤换掉现有的几乎全部802.11基础设施或者对其进行升级,这是很不经济的,因而不具实用价值。另外在AP密集的802.11网络中,该方法引入了额外的网络负担,让切换问题更加复杂。作者为I.Ramani and S.Savage的“SyncScan:Practical Fast Handoff for 802.11Infrastructure Networks”,INFOCOM’05,March 2005(同步扫描:实用的802.11基础设施网络中的快速切换)提出了让MS在背景动作中时刻关注AP发出的信标数据包,因为信标是严格周期性的,所以可以精确计算信标的到达时间。到了指定的时刻就要求MS跳到指定的频道上接受响应的信标。这样在基本保持前台通信不受影响的情况下做到了实时的AP扫描,从而降低了切换时的AP扫描时间。该方法虽然将AP扫描时间平摊到平时的操作中,但是当需要切换却尚未完成扫描的情况出现时,该方法无法快速的选择合适的AP进行切换,等待尚未完成的扫描依然会造成较大的切换延时,这是该方法的缺陷。
【发明内容】
本发明的目的在于克服现有技术中的不足,提供一种802.11无线局域网中主动AP扫描的方法。本发明解决现有的802.11无线局域网协议中MAC切换时AP扫描时间过长的问题克服了现有的快速AP扫描方法需要改变网络协议等的缺陷,仅需修改客户端程序,充分利用MS的非切换时间和信道上各种有用的MAC帧,实现了快速、有效地AP扫描。
本发明是通过以下技术方案实现的:
本发明包括以下步骤:
包括如下步骤:
第一步:发出探测请求MAC帧;在收到AP的探测响应之前,进行嗅探扫描以获得其它有用的MAC帧,通过分析这些MAC帧头信息获取邻近AP的相关信息;
第二步:进行探测响应优选,截取前30ms内的数据作为有效数据;
第三步:用第二步中获取地数据更新MS的AP数据库;如果此时没有探测到适于切换的AP,则重复上述步骤继续扫描,否则扫描结束。
本发明充分利用MS的非切换时间和信道上各种有用的MAC帧,实现了快速、有效地AP扫描,和现有的快速AP扫描方法相比有以下优点:
1.不需要改变网络架构或协议,只要修改客户端程序。
2.充分利用了MS未进行数据收发的空闲时间,提高了MS的运行效率同时对正常的数据收发不造成任何影响。
3.从信道上各种MAC帧中获取AP信息,变废为宝,实现资源利用的最大化。
【附图说明】
图1本发明中使用的MAC帧头信息。
【具体实施方式】
以下结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和过程,但本发明的保护范围不限于下述的实施例。
本实施例包括如下步骤:
第一步:发出探测请求MAC帧;在收到AP的探测响应之前,进行嗅探扫描以获得其它有用的MAC帧,通过分析这些MAC帧头信息获取邻近AP的相关信息。
所述的嗅探扫描,是MS在收发数据的空闲时间,监听并截取无线信道上的各种MAC帧。
所述的有用的MAC帧,是信标、探测请求、探测响应、连接请求、连接响应、认证响应、AP发给其它MS的ACK、其它MS发至AP的ACK、AP发给其它MS的数据、其它MS发至AP的数据。
所述的MAC帧头信息,是目的MAC、源MAC、基本服务集标识、来自/发往分发系统标识、是否加密、服务集标识和IP/子网。其中服务集标识和IP/子网是特定数据包才有的字段,其它字段在所有数据包中都存在,如图1所示。
所述的获取AP的相关信息,是AP是否存在、AP的MAC、AP是否加密、AP的服务集标识(SSID)以及AP的信号强度(RSSI)。表1总结了可以从各种802.11MAC帧中提取出来的关于AP的信息。带括号的√表示无法直接得到该信息,但是可以通过无线通信上下文推知该信息。
表1通过不同802.11MAC帧中获得的AP相关信息
第二步:进行探测响应优选,截取前30ms内的数据作为有效数据;
所述的探测响应优选,是MS发出探测请求后不等待扫描完全部的AP,在找到足够多个信号良好的AP后就停止扫描。通过截取前30ms内的数据就可以获得信号良好的AP信息,丢弃信号较差的AP信息,从而缩短扫描时间。这样做的依据是一般来说AP的信号强度越高,说明其与MS的距离就越近,返回探测响应的时间就越短。
第三步:用第二步中获取的数据更新MS的AP数据库;如果此时没有探测到适于切换的AP,则重复上述步骤继续扫描,否则扫描结束。
所述的更新MS的AP数据库,是在第二步获取AP信息之后,MS先在自己的数据库中查找这些AP。对于数据库中没有记录的AP,MS将关于此AP的信息添加到数据库中;对于数据库中已经记录的AP,MS更新它们的相关信息。MS维护该AP信息数据库,为随时可能发生的切换做准备。
结合具体实施方式给出以下2个具体实施例:
以下2个实施例在某大学教学楼中进行。
实施例1
本实施例中,先发送一个探测请求,然后MS监听信道,嗅探扫描指定的时间,截取所有听到的MAC帧进行分析,获取邻近AP的相关信息记录到MS的AP信息数据库,同时完成主动扫描。本实施例给出了不同的扫描时长下,传统主动扫描和按照本方法扫描到的AP数量,我们在每个扫描时长下分别进行了10次,取其平均,列于表2中。
表2不同扫描时长下平均捕捉到的AP个数
表2说明本按照本方法扫描到的AP数量接近传统主动扫描的两倍,有非常大的优势。
实施例2
本实施例中,选择的最大扫描时间为30ms、15ms和6ms。在实施过程中,首先发送一个探测请求,然后开始嗅探扫描200ms,对所有监听到的MAC帧进行分析,获取邻近AP的相关信息,但是只截取前Nms(N=30,15或6)的响应作为有效数据,记录入本机的数据库。然后和所有接收到的响应比较得到表3第一行的比例。第二行指示找到最强信号AP的概率。每个时长实施三次,取平均后结果列于表3。
表3不同时常的优选探测嗅探的性能
表3说明,进行探测响应优选时,将截取时间分别设为30ms、15ms和6ms的情况下,都可以扫描到足够多个信号良好的AP。