实现在AP间切换的方法、设备及系统与流程

文档序号:16203511发布日期:2018-12-08 06:50阅读:1261来源:国知局
实现在AP间切换的方法、设备及系统与流程

本申请实施例涉及无线网络接入技术领域,特别涉及一种实现在接入点(accesspoint)间切换的方法、设备及系统。

背景技术

基于ieee(instituteofelectricalandelectronicsengineers,电器和电子工程师协会)802.11的无线网络也称为无线保真(wi-fi,wirelessfidelity),是无线接入技术的主流标准。wi-fi是为中短距离无线通信所设计的,其通信距离一般在100米以下。所以,为了覆盖一个相对较大的区域,需要布设大量的ap。因为一个客户应该被允许在同一wi-fi网络覆盖范围内自由漫游,所以组成wi-fi的所有ap必须通力合作,保证向用户提供一种无缝的接入服务。当用户逐渐脱离某一ap的覆盖范围的时候,其移动终端应该在很短的时间内挂靠到另一个ap上去。我们把这种和ap连接关系的转换叫做切换。

如果无法完成切换或者切换时延过长,用户的通信,特别是一些实时性较强的会话,就很有可能受到影响,甚至被完全中断。所以,解决切换时延问题对于wi-fi网络实时通信有着巨大的意义。

为避免干扰,相邻的ap一般工作在不同信道上,这意味着,移动终端在相邻ap间切换时,需要先断开和旧ap的连接,然后转换到新ap工作的信道上,再与新ap建立连接。图1示出了现有的802.11标准提供的连接建立的过程。该过程主要包括如下3个阶段:扫描(scanning)、认证(authentication)和关联(association)。其中,扫描阶段需要移动终端依次在每个信道发出proberequest(探测请求)帧,然后等待,直至超时或者收到proberesponse(探测响应)帧,然后再切换到下一个信道继续该过程,直到扫描完所有信道。根据相关研究,扫描阶段占了整个切换过程90%的时间,而整个过程的切换时延会达到300ms~500ms,甚至更高。很明显,上述切换时延无法满足时延敏感(如语音、视频、关键信令)的业务需求。

因此,现有技术提供的移动终端在ap间切换的方法,存在切换时延过高的问题。



技术实现要素:

本申请实施例提供了一种实现在ap间切换的方法、设备及系统,用以解决现有技术所存在的切换时延过高的问题。

一方面,本申请实施例提供一种实现在接入点ap间切换的方法。在本申请实施例中,移动终端包括第一无线网卡和第二无线网卡,移动终端通过第一无线网卡与当前ap之间建立有数据连接。该方法包括:

移动终端在确定切换ap的情况下,通过第二无线网卡在多个信道上广播探测请求帧,其中,探测请求帧中携带有第一无线网卡所配置的第一介质访问控制(mediaaccesscontrol,mac)地址,第二无线网卡配置有第二mac地址,且第二mac地址和第一mac地址不同;ap向移动终端发送探测响应帧;移动终端通过第二无线网卡接收至少一个ap发送的探测响应帧并从上述至少一个ap中确定出切换至的目标ap;移动终端在与目标ap之间完成认证和关联过程之后,将第一无线网卡的工作信道由当前ap对应的第一信道切换至目标ap对应的第二信道,与目标ap建立数据连接。

本申请实施例提供的方案中,提供了一种采用双无线网卡(networkinterfacecard,nic)实现在ap间切换的技术方案。在切换过程中,保持nic1与当前ap之间的数据连接,使用nic2代替nic1完成扫描过程,相较于现有的802.11标准提供的方法,避免了因扫描过程而产生的时延,从而缩短了整个切换过程所需的时延。

在一个可能的设计中,移动终端确定出切换至的目标ap之后,还包括:移动终端通过第二无线网卡向目标ap发送认证请求帧,认证请求帧中携带有第一mac地址;目标ap向移动终端发送认证响应帧;移动终端在通过第二无线网卡接收到目标ap发送的认证响应帧之后,通过第二无线网卡向目标ap发送关联请求帧,关联请求帧中携带有第一mac地址;目标ap向移动终端发送关联响应帧;移动终端在通过第二无线网卡接收到目标ap发送的关联响应帧之后,将第一无线网卡的工作信道由当前ap对应的第一信道切换至目标ap对应的第二信道,与目标ap建立数据连接。

本申请实施例提供的方案中,将nic1的mac地址携带在nic2发出的请求帧中,用nic2代替nic1完成扫描、认证和关联过程,在关联过程完成之后,nic1直接切换至目标ap的工作信道即可与目标ap建立新的数据连接。因此,产生切换时延的因素仅为信道切换,信道切换过程通常仅为约2~3ms,充分缩短了切换时延。

在一个可能的设计中,探测请求帧的framecontrol字段中的type字段的值为11,探测请求帧的address4字段的值为第一mac地址,探测请求帧的address1字段的值为广播地址,探测请求帧的address2字段的值为第二mac地址。认证请求帧和关联请求帧的framecontrol字段中的type字段的值为11,认证请求帧和关联请求帧的address4字段的值为第一mac地址,认证请求帧和关联请求帧的address1字段的值为目标ap的mac地址,认证请求帧和关联请求帧的address2字段的值为第二mac地址。探测响应帧、认证响应帧和关联响应帧的framecontrol字段中的type字段的值为11,探测响应帧、认证响应帧和关联响应帧的address1字段的值为第二mac地址,探测响应帧、认证响应帧和关联响应帧的address2字段的值为ap的mac地址。

本申请实施例提供的方案中,利用现有的802.11标准所定义的帧格式,在不影响现有定义的基础上,给type字段定义新的含义,使得nic2发送的request帧中携带有nic1的mac地址,ap可以通过识别该type字段来得知将nic1的mac地址作为移动终端的标识。

在一个可能的设计中,探测请求帧、认证请求帧和关联请求帧的address2字段的值为第一mac地址。

本申请实施例提供的方案中,通过修改移动终端的内核配置,实现采用nic2发送以nic1的mac地址为源地址的request帧,并且采用nic2在混杂模式接收以nic1的mac地址为目的地址的response帧。ap端无需修改,仍然按照传统的处理方式即可。

另一方面,本申请实施例提供一种移动终端,该移动终端具有实现上述方法示例中移动终端侧行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块或者单元。

在一个可能的设计中,移动终端的结构中包括处理器、第一无线网卡和第二无线网卡,所述处理器被配置为支持移动终端执行上述方法中相应的功能。所述第一无线网卡和第二无线网卡用于支持移动终端与其它设备之间的通信。进一步的,移动终端还可以包括存储器,所述存储器用于与处理器耦合,其保存移动终端必要的程序指令和数据。

又一方面,本申请实施例提供一种ap,该ap具有实现上述方法示例中ap侧行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块或者单元。

在一个可能的设计中,ap的结构中包括处理器和无线网卡,所述处理器被配置为支持ap执行上述方法中相应的功能。所述无线网卡用于支持ap与其它设备之间的通信。进一步的,ap还可以包括存储器,所述存储器用于与处理器耦合,其保存ap必要的程序指令和数据。

又一方面,本申请实施例提供一种实现在ap间切换的系统,该系统包括上述方面所述的移动终端和ap。

再一方面,本申请实施例提供一种计算机存储介质,用于储存为上述移动终端所用的计算机软件指令,其包含用于执行上述方面所设计的程序。

再一方面,本申请实施例提供一种计算机存储介质,用于储存为上述ap所用的计算机软件指令,其包含用于执行上述方面所设计的程序。

还一方面,本申请实施例提供一种计算机程序产品,当该计算机程序产品被执行时,其用于执行上述方面所述的移动终端侧的方法。

还一方面,本申请实施例提供一种计算机程序产品,当该计算机程序产品被执行时,其用于执行上述方面所述的ap侧的方法。

相较于现有技术,本申请实施例提供的方案中,提供了一种采用双nic实现在ap间切换的技术方案。在切换过程中,保持nic1与当前ap之间的数据连接,使用nic2代替nic1完成扫描过程,相较于现有的802.11标准提供的方法,避免了因扫描过程而产生的切换时延,缩短了切换时延。

附图说明

图1是802.11标准提供的连接建立过程的示意图;

图2是本申请一个实施例提供的应用场景的示意图;

图3是本申请一个实施例提供的实现在ap间切换的方法的流程图;

图4是本申请另一个实施例提供的实现在ap间切换的方法的流程图;

图5是本申请一个实施例提供的在ap间切换的示意图;

图6是802.11标准所定义的管理帧的帧格式的示意图;

图7是本申请一个实施例提供的移动终端或ap的示意性框图;

图8是本申请一个实施例提供的移动终端的结构示意图;

图9是本申请一个实施例提供的ap的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图,对本申请实施例中的技术方案进行描述。

本申请实施例描述的系统架构以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

请参考图2,其示出了本申请实施例提供的一种可能的应用场景的示意图。该应用场景可以包括:路由器21、交换机22、多个ap23以及移动终端24。

路由器21与交换机22之间具有通信连接,交换机22与多个ap23之间分别具有通信连接。

一个ap23提供一个基本服务集(basicserviceset,bss)网络,同一路由器21下的多个ap23所提供的bss网络构成一个扩展网络,称为扩展服务集(extendedserviceset,ess)网络。当移动终端24的位置从一个ap23的覆盖范围移动至另一个ap23的覆盖范围时,需要进行ap切换。移动终端24在同一ess内的不同ap23之间的切换称为二层切换,二层切换的情况下移动终端24的互联网协议(internetprotocol,ip)地址不会发生改变。

在本申请实施例中,移动终端24可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备,以及各种形式的用户设备(userequipment,ue),移动台(mobilestation,ms),终端设备(terminaldevice)等等。为方便描述,上面提到的设备统称为移动终端。

在一个例子中,提供一种实现在ap间切换的方法。移动终端配置有两个无线网卡(networkinterfacecard,nic),记为第一无线网卡(nic1)和第二无线网卡(nic2)。nic1配置有第一mac地址,nic2配置有第二mac地址,第一mac地址和第二mac地址不同。在初始状态下,移动终端通过nic1与当前ap之间建立有数据连接,nic1配置有ip地址,而nic2处于空闲状态且未配置ip地址。在切换过程中,保持nic1与当前ap之间的数据连接,使用nic2代替nic1完成扫描、认证和关联的过程。具体来讲,保持nic1与当前ap之间的数据连接,使用nic2对周围ap进行扫描,根据扫描结果确定切换至的目标ap,而后由nic2完成对目标ap的认证和关联过程。目标ap将nic2所配置的第二mac地址作为移动终端的标识,完成必要的信息注册工作。在关联过程完成之后,移动终端将nic1的ip地址配置到nic2上,并断开nic1和当前ap的数据连接,然后使用nic2和目标ap建立新的数据连接。

在上述例子中,在nic1保持数据连接的同时,使用nic2代替nic1完成扫描、认证和关联的过程,在关联过程完成之后再断开原来的数据连接并建立新的数据连接,相较于现有的802.11标准提供的方法,切换时延会得到改善。

但是,在上述例子中,由于需要将nic1的ip地址配置到nic2上,该配置过程仍然需要消耗较多时间。具体来讲,在将nic1的ip地址配置到nic2的过程中,移动终端需要执行如下一系列操作:更新自身的内核路由表、重新在nic2上注册ip层的各种回调函数、在ip层和socket层做相应改动,并断开socket连接、解除nic与ip地址之间的绑定关系等,上述各步操作都需要消耗一定时间,从而导致仍然存在较大的切换时延。

在本申请实施例中,提供了一种采用双nic实现在ap间切换的技术方案。将nic1的mac地址携带在nic2发出的请求帧中,用nic2代替nic1完成扫描过程(可选还包括认证和关联过程),在关联过程完成之后,nic1直接切换至目标ap的工作信道即可与目标ap建立新的数据连接。因此,产生切换时延的因素仅为信道切换,信道切换过程通常仅为约2~3ms,充分缩短了切换时延。

下面将基于上面所述的本申请实施例涉及的共性方面,对本申请实施例进一步详细说明。

请参考图3,其示出了本申请一个实施例提供的实现在ap间切换的方法的流程图。该方法适用于图2所示的应用场景,用于实现移动终端在同一ess的不同ap间的切换(也即二层切换)。

在本申请实施例中,移动终端包括第一无线网卡(nic1)和第二无线网卡(nic2)。在初始状态下,移动终端通过nic1与当前ap之间建立有数据连接。nic1配置有第一ip地址(记为ip_1)、第一mac地址(记为mac_1),且工作在当前ap对应的第一信道。nic2处于空闲状态,配置有第二mac地址(记为mac_2),且mac_2和mac_1不同。另外,nic2可以配置有不同于ip_1的第二ip地址(记为ip_2),也可以不配置ip地址。

之后,通过如下步骤完成切换:

步骤301,在确定切换ap的情况下,移动终端通过nic2在多个信道上广播探测请求帧。

当移动终端将要移动出当前ap的覆盖范围时,移动终端会通过信号监测发现当前ap的信号低于预设阈值,此时移动终端触发切换ap的流程。在本申请实施例中,由nic2代替nic1完成扫描过程,nic1保持与当前ap的数据连接,移动终端通过nic2在各个信道上依次广播探测请求(proberequest)帧。与上述例子所不同的是,在本申请实施例中,探测请求帧用于探测移动终端周围能够与nic1建立数据连接的ap。探测请求帧中携带有nic1的标识信息,例如探测请求帧中携带有nic1所配置的第一mac地址(也即mac_1)。

移动终端依次在每个信道发出proberequest帧,然后等待,直至超时或者收到探测响应(proberesponse)帧,然后再切换到下一个信道继续该过程,直到扫描完所有信道。

步骤302,ap向移动终端发送探测响应帧。

ap接收到移动终端广播的proberequest帧之后,读取proberequest帧中携带的第一mac地址,并将该第一mac地址作为移动终端的标识。另外,ap生成对应于proberequest帧的proberesponse帧,并以第二mac地址作为目的地址,向移动终端发送proberesponse帧以告知自己的存在。

移动终端通过nic2接收到来自与当前ap属于同一ess的至少一个ap发送的proberesponse帧。

步骤303,移动终端确定出切换至的目标ap。

可选地,移动终端根据各个ap的proberesponse帧的接收信号强度,选择一个最优的ap作为切换至的目标ap。例如,选择接收信号强度最大的ap作为目标ap。

步骤304,在与目标ap之间完成认证和关联过程之后,移动终端将nic1的工作信道由当前ap对应的第一信道切换至目标ap对应的第二信道,与目标ap建立数据连接。

移动终端在确定出切换至的目标ap之后,与该目标ap之间完成认证和关联的过程。在完成认证和关联过程之后,移动终端将nic1的工作信道由当前ap对应的第一信道切换至目标ap对应的第二信道,与目标ap建立数据连接。此外,在切换过程中,目标ap会以第一mac地址作为移动终端的标识,完成必要的信息注册工作,有关信息注册的具体过程可参见802.11标准,本申请实施例对此不作赘述。

其中,认证过程和关联过程可以由nic2代替nic1执行,也可以由nic1执行,还可以由nic2代替nic1执行认证过程并由nic1执行关联过程,本申请实施例对此不作限定。在下述图4实施例中,主要以由nic2代替nic1执行认证过程和关联过程为例进行介绍说明,这样可以使得切换时延降至最低。

本申请实施例提供的方案中,提供了一种采用双nic实现在ap间切换的技术方案。在切换过程中,保持nic1与当前ap之间的数据连接,使用nic2代替nic1完成扫描过程,相较于现有的802.11标准提供的方法,避免了因扫描过程而产生的时延,从而缩短了整个切换过程所需的时延。

请参考图4,其示出了本申请另一个实施例提供的实现在ap间切换的方法的流程图。该方法适用于图2所示的应用场景,用于实现移动终端在同一ess的不同ap间的切换(也即二层切换)。

在本申请实施例中,移动终端包括nic1和nic2。在初始状态下,移动终端通过nic1与当前ap之间建立有数据连接。nic1配置有第一ip地址(记为ip_1)、第一mac地址(记为mac_1),且工作在当前ap对应的第一信道。nic2处于空闲状态,配置有第二mac地址(记为mac_2),且mac_2和mac_1不同。另外,nic2可以配置有不同于ip_1的第二ip地址(记为ip_2),也可以不配置ip地址。

之后,通过如下步骤完成切换:

步骤401,在确定切换ap的情况下,移动终端通过nic2在多个信道上广播探测请求帧。

在本申请实施例中,proberequest帧中携带有nic1所配置的第一mac地址(也即mac_1)。

步骤402,ap向移动终端发送探测响应帧。

步骤403,移动终端确定出切换至的目标ap。

上述步骤401-403与图3实施例中的步骤301-303相同,参见图3实施例中的介绍说明,本实施例对此不再赘述。

步骤404,移动终端通过nic2向目标ap发送认证请求帧。

移动终端在确定出切换至的目标ap之后,通过nic2向目标ap发送认证请求(authenticationrequest)帧,authenticationrequest帧中携带有nic1的标识信息,例如携带有nic1所配置的第一mac地址(也即mac_1)。之后,移动终端等待目标ap反馈与上述authenticationrequest帧对应的认证响应(authenticationresponse)帧。

步骤405,目标ap向移动终端发送认证响应帧。

目标ap接收到移动终端发送的authenticationrequest帧之后,生成对应于authenticationrequest帧的authenticationresponse帧,并以第二mac地址作为目的地址,向移动终端发送authenticationresponse帧。相应地,移动终端通过nic2接收目标ap发送的authenticationresponse帧。

上述步骤404-405实现了由nic2代替nic1完成认证过程。

步骤406,移动终端通过nic2向目标ap发送关联请求帧。

移动终端在接收到authenticationresponse帧之后,通过nic2向目标ap发送关联请求(associationrequest)帧,associationrequest帧中携带有nic1的标识信息,例如携带有nic1所配置的第一mac地址(也即mac_1)。之后,移动终端等待目标ap反馈与上述associationrequest帧对应的关联响应(associationresponse)帧。

步骤407,目标ap向移动终端发送关联响应帧。

目标ap接收到移动终端发送的associationrequest帧之后,生成对应于associationrequest帧的associationresponse帧,并以第二mac地址作为目的地址,向移动终端发送associationresponse帧。相应地,移动终端通过nic2接收目标ap发送的associationresponse帧。

上述步骤406-407实现了由nic2代替nic1完成关联过程。

至此,移动终端已经通过nic2与目标ap完成了二层切换的全部过程,由于之前的request帧中均携带有nic1所配置的第一mac地址(也即mac_1),所以目标ap仍然是以第一mac地址作为移动终端的标识,完成必要的信息注册工作,有关信息注册的具体过程可参见802.11标准,本申请实施例对此不作赘述。

步骤408,移动终端将nic1的工作信道由当前ap对应的第一信道切换至目标ap对应的第二信道,与目标ap建立数据连接。

移动终端在接收到associationresponse帧之后,将nic1的工作信道由当前ap对应的第一信道切换至目标ap对应的第二信道,与目标ap建立数据连接。

结合参考图5,其示出了移动终端在ap间切换的示意图,图5中的步骤1-8分别对应上述步骤401-408。图5中各个标号所表示的设备参见图2实施例中介绍说明。

本申请实施例提供的方案中,将nic1的mac地址携带在nic2发出的请求帧中,用nic2代替nic1完成扫描、认证和关联过程,在关联过程完成之后,nic1直接切换至目标ap的工作信道即可与目标ap建立新的数据连接。因此,产生切换时延的因素仅为信道切换,信道切换过程通常仅为约2~3ms,充分缩短了切换时延。

相较于上述例子,本申请实施例提供的方案仍然由nic1与目标ap建立数据连接,无需将nic1的ip地址配置到nic2上,避免了因上述配置过程而产生额外的切换时延。

在本申请实施例中,提供了如下两种可能的实现方式,以在nic2发送的request帧中携带nic1所配置的第一mac地址。

在第一种可能的实现方式中,利用现有的802.11标准所定义的帧格式,在不影响现有定义的基础上,给type字段定义新的含义,使得nic2发送的request帧中携带有nic1的mac地址,ap可以通过识别该type字段来得知将nic1的mac地址作为移动终端的标识。

在802.11标准中,将数据包分为如下3种:数据帧、管理帧和控制帧。其中,管理(management)帧主要用于站(sta)与ap之间协商、关系的控制,如关联、认证、同步等。ap切换过程中涉及的各个request帧和response帧均属于管理帧。如图6所示,其示出了现有的802.11标准所定义的管理帧的帧格式。有关现有的802.11标准所定义的管理帧中各个字段的含义,可参见802.11标准中的介绍说明,本申请实施例对此不再赘述。

在本申请实施例中,在不影响现有定义的基础上,对类型字段和发送端地址字段定义了新的含义。

在802.11标准中,类型字段为type字段,用于表示帧类型。其中,00表示管理帧,01表示控制帧,10表示数据帧。在本申请实施例中,使用11表示该管理帧是使用nic2代为连接所发送的管理帧。由于在现有的802.11标准中,仅定义了type字段的值为00、01、10时的含义,并没有定义11,因此不会和现有的协议发生冲突。

在802.11标准中,发送端地址字段为address4字段,用于表示将帧传送至无线媒介的无线接口。在本申请实施例中,在基于上述定义的新的帧类型的情况下(也即在type字段的值为11的情况下),定义address4字段表示与ap建立数据连接的移动终端的标识。其它字段含义不变。例如,目的地址字段(也即address1字段)用于表示目的地址(destinationaddress),源地址字段(也即address2字段)用于表示源地址(sourceaddress)。

在上述定义的基础上,切换流程如下:

1、在确定切换ap的情况下,移动终端通过nic2在各个信道上依次广播proberequest帧;其中,proberequest帧的framecontrol字段中的type字段的值为11,address1字段的值为广播地址,address2字段的值为mac_2,address4字段的值为mac_1,其它字段仍然按照802.11标准的定义;

2、ap接收到移动终端广播的proberequest帧之后,如果发现type字段的值不是11,则将该proberequest帧按照传统方式处理;如果发现type字段的值为11,则以address4字段中的mac地址(也即mac_1)作为移动终端的标识,并向移动终端发送proberesponse帧;其中,proberesponse帧的framecontrol字段中的type字段的值为11,address1字段的值为mac_2,address2字段的值为ap的mac地址;

3、移动终端通过nic2接收到至少一个ap发送的proberesponse帧,并从各个ap中选择一个ap作为切换至的目标ap,通过nic2向目标ap发送authenticationrequest帧;其中,authenticationrequest帧的framecontrol字段中的type字段的值为11,address1字段的值为目标ap的mac地址,address2字段的值为mac_2,address4字段的值为mac_1,其它字段仍然按照802.11标准的定义;

4、目标ap接收到移动终端发送的authenticationrequest帧之后,生成对应于authenticationrequest帧的authenticationresponse帧,并发送给移动终端;其中,authenticationresponse帧的framecontrol字段中的type字段的值为11,address1字段的值为mac_2,address2字段的值为ap的mac地址;

5、移动终端通过nic2接收到目标ap发送的authenticationresponse帧之后,通过nic2向目标ap发送associationrequest帧;其中,associationrequest帧的framecontrol字段中的type字段的值为11,address1字段的值为目标ap的mac地址,address2字段的值为mac_2,address4字段的值为mac_1,其它字段仍然按照802.11标准的定义;

6、目标ap接收到移动终端发送的associationrequest帧之后,生成对应于associationrequest帧的associationresponse帧,并发送给移动终端;其中,associationresponse帧的framecontrol字段中的type字段的值为11,address1字段的值为mac_2,address2字段的值为ap的mac地址;

7、移动终端通过nic2接收到目标ap发送的associationresponse帧之后,将nic1的工作信道由当前ap对应的第一信道切换至目标ap对应的第二信道,与目标ap建立数据连接。

在第二种可能的实现方式中,通过修改移动终端的内核(也即cpu内核)配置,实现采用nic2发送以nic1的mac地址为源地址的request帧,并且采用nic2在混杂模式接收以nic1的mac地址为目的地址的response帧。ap端无需修改,仍然按照传统的处理方式即可。

具体来讲,通过对移动终端内核中的相关函数进行修改,以使得移动终端在采用nic2发送request帧时,将request帧中的address2字段的值填入mac_1。另外,通过调整nic2的工作模式(例如在接收response帧时将nic2的工作模式设置为混杂模式),使得nic2不再丢弃目的地址非nic2的自身mac地址的response帧。nic2接收到上述response帧之后,将response帧上传至内核,由内核对response帧进行过滤,保留目的地址为mac_1的管理帧,并做后续处理。

另外,所需修改的内核中的相关函数包括用于实现数据发送和接收的函数。在本申请实施例中,对修改内核中的相关函数的方式不作限定。例如,对于先生成以太帧再将以太帧转换成802.11帧的移动终端,可以在以太帧封装的时候指定相关参数即可。又例如,对于直接生成802.11帧的移动终端,在网卡驱动启动过程中,会通过ieee80211_register_hw()函数将ieee80211_dataif_ops这一组函数指针被注册到设备中。发送时,ieee802.11协议在linux内核中实现时,数据发送模块的执行依靠的是函数ieee80211_xmit(),通过调用ieee80211_tx()来实现发送,可以在调用ieee80211_tx()之前通过调用ieee80211_dataif_ops这组函数中ndo_set_mac_address,即对应的ieee80211_change_mac函数来重新设置源mac地址。另外,也可以通过类似beacaon帧的tasklet机制来实现,稍作修改即可,都是可行的。

在本申请实施例中,提供了上述两种实现方式,以在nic2发送的request帧中携带nic1所配置的第一mac地址。

需要补充说明的一点是,在本申请实施例中,nic2可以配置有不同于第一ip地址的第二ip地址,也可以不配置ip地址。如果为nic2配置第二ip地址,则在不需要切换时,移动终端可以通过nic2与其它ap建立另一数据连接,以实现通过两个nic分别进行上网。

还需要补充说明的一点是,在本申请实施例中,移动终端包括两个无线网卡(nic1和nic2)。上述两个无线网卡可以是两个独立的,且具备无线网卡的全部功能的硬件。或者,上述两个网卡可以共用用于实现部分功能的硬件,而用于实现另一部分功能的硬件(例如用于实现数据收发功能的天线)互相独立,从而节约成本。

在上述方法实施例中,仅从移动终端和ap的交互角度对本申请提供的技术方案进行介绍说明。上述有关移动终端侧的步骤可以单独实现成为移动终端侧的实现在ap间切换的方法,有关ap侧的步骤可以单独实现成为ap侧的实现在ap间切换的方法。

可以理解的是,设备(例如移动终端、ap)为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块(或单元)。结合本申请中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的技术方案的范围。

本申请实施例可以根据上述方法示例对设备(例如移动终端、ap)进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

在采用集成的单元的情况下,图7示出了上述实施例中所涉及的设备(移动终端或者ap)的一种可能的结构示意图。设备700包括:处理单元702和通信单元703。处理单元702用于对设备700的动作进行控制管理。例如,当设备700为移动终端时,处理单元702用于支持设备700执行图3中的步骤301、303和304,以及图4中的步骤401、403、404、406和408,和/或用于执行本文所描述的技术的其它步骤。当设备700为ap时,处理单元702用于支持设备700执行图3中的步骤302,以及图4中的步骤402、405和407,和/或用于执行本文所描述的技术的其它步骤。通信单元703用于支持设备700与其它设备的通信。设备700还可以包括存储单元701,用于存储设备700的程序代码和数据。

其中,处理单元702可以是处理器或控制器,例如可以是中央处理器(centralprocessingunit,cpu),通用处理器,数字信号处理器(digitalsignalprocessor,dsp),专用集成电路(application-specificintegratedcircuit,asic),现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。通信单元703可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口,例如移动终端与ap之间的接口。存储单元701可以是存储器。

当处理单元702为处理器,通信单元703为通信接口,存储单元701为存储器时,本申请实施例所涉及的移动终端可以是图8所示的移动终端。参阅图8所示,该移动终端800包括:处理器802、第一无线网卡803、第二无线网卡804和存储器801。可选地,移动终端800还可以包括总线805。其中,第一无线网卡803、第二无线网卡804、处理器802以及存储器801可以通过总线805相互连接。

当处理单元702为处理器,通信单元703为通信接口,存储单元701为存储器时,本申请实施例所涉及的ap可以是图9所示的ap。参阅图9所示,该ap900包括:处理器902、无线网卡903和存储器901。可选地,ap900还可以包括有线网卡904。可选地,ap900还可以包括总线905。其中,无线网卡903、有线网卡904、处理器902以及存储器901可以通过总线905相互连接。

上述总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8和图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

结合本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件(也称为程序)模块(或单元)组成,软件模块(或单元)可以被存放于随机存取存储器(randomaccessmemory,ram)、闪存、只读存储器(readonlymemory,rom)、可擦除可编程只读存储器(erasableprogrammablerom,eprom)、电可擦可编程只读存储器(electricallyeprom,eeprom)、寄存器、硬盘、移动硬盘、只读光盘(cd-rom)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于设备中。当然,处理器和存储介质也可以作为分立组件存在于设备中。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。本申请实施例还提供了计算机程序产品,当该计算机程序产品被执行时,其用于实现上述功能。另外,可以将上述计算机程序存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。

以上所述的具体实施方式,对本申请实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请实施例的具体实施方式而已,并不用于限定本申请实施例的保护范围,凡在本申请实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请实施例的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1