一种无线漫游认证状态的预同步方法和装置与流程

文档序号:14061179阅读:251来源:国知局
一种无线漫游认证状态的预同步方法和装置与流程
本申请涉及通信领域,特别是涉及一种无线漫游认证状态的预同步方法和装置。
背景技术
:无线局域网一般包含ac和ap两种设备,ac作为无线控制器管理,通过capwap协议控制ap。用户连接ap发射出来的无线信号接入网络。现在使用较多的无线认证准入方式为portal及802.1x认证,在学校、商场、写字楼等多ap场景中,无线漫游是一种较为常见的情况,参见附图1,无线漫游即sta在同属于一个ssid内的ap之间移动,如sta从ap1向移动ap2,当移动至ap2的覆盖区域时,sta发生漫游,参考图1,ap1和ap2的ssid相同。在多ap协同工作中,某一sta在ap1上完成认证后,ap1便记住了sta的认证状态,sta可以通过ap1连接网络。但sta漫游至ap2后,由于ap2并不知道sta已经经过认证,ap2便需要从ap1同步认证状态,故如何保障认证状态快速同步成为了一个必须要考虑的问题。现有技术中的无线漫游认证方式通常为:sta从ap1漫游至ap2后,ap2上报sta信息给ac,ac从认证服务器查询认证状态,认证服务器将已认证信息返回ac,ac将已认证信息下发至ap2,最终由ap2将sta放行。现有技术从认证服务器端查询认证状态之后再进行决策,虽然可以保证认证状态正确。但是由于查询需要报文的传送,受网络状态影响查询时间,很可能导致用户在此期间被要求重新认证或中断上网业务,用户体验较差。技术实现要素:为解决上述技术问题,本申请提供了无线漫游认证状态的预同步方法和装置,技术方案如下:一种无线漫游认证状态的预同步方法,所述方法包括:目标ap接收到sta的接入请求后,在预存的本地认证列表中查询sta的认证状态信息,所述本地认证列表中存有多组sta标识信息与认证状态信息的对应关系,所述sta标识信息为可唯一标识sta的信息;若目标ap的本地认证列表不存在所述sta的认证状态信息,则将所述sta的标识信息上报至认证设备进行查询或认证,直到认证设备返回认证结果;目标ap将所述sta的标识信息与认证状态信息的对应关系加入本地认证列表,并将本地认证列表中的认证信息同步给邻居ap,其中,邻居ap为与目标ap同属于一个ssid,且与目标ap的距离在特定范围内的ap。一种无线漫游认证状态的预同步装置,所述装置包括:查询模块:用于使目标ap接收到sta的接入请求后,在预存的本地认证列表中查询sta的认证状态信息,所述本地认证列表中存有多组sta标识信息与认证状态信息的对应关系,所述sta标识信息为可唯一标识sta的信息;认证模块:用于当目标ap的本地认证列表不存在所述sta的认证状态信息时,将所述sta的标识信息上报至认证设备进行查询或认证,直到认证设备返回认证结果;同步模块:用于使目标ap将所述sta的标识信息与认证状态信息的对应关系加入本地认证列表,并将本地认证列表中的认证信息同步给邻居ap,其中,邻居ap为与目标ap同属于一个ssid,且与目标ap的距离在特定范围内的ap。本申请中使ap在sta的认证通过后,将该sta的标识信息与认证状态信息的对应关系保存在本地的认证关系列表中,并将此认证关系列表同步给周围的邻居ap。可以视为此sta周围存在“认证同步云”,每当sta在一个ap上存在认证信息后,其认证信息会被该ap即时同步扩散到周围的邻居ap上。sta从ap1漫游至ap2后,ap2上已经被同步了sta的认证信息,可以即时连接ap2进而连接互联网,不需要ap2再次上报认证服务器查询sta的认证信息。本申请在范围内预同步sta认证信息状态的方式可以使sta在无线漫游期间无延时上网,提升用户体验。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1为本申请现有技术中sta在不同ap间进行漫游的示意图;图2为本申请现有技术中sta在不同ap间进行漫游认证的示意图;图3为本申请实施例无线漫游认证状态的预同步方法的一种流程图;图4为本申请实施例无线漫游认证状态的预同步方法中多级同步的一种流程图;图5为本申请实施例无线漫游认证状态的预同步方法中多级同步的另一种流程图;图6为本申请实施例无线漫游认证状态的预同步装置的一种示意图;图7为本申请实施例无线漫游认证中的“sta同步云”的一种示意图;图8为应用了“sta同步云”的漫游认证方法在具体应用场景下的一种示意图;图9为本申请实施例一种计算机设备的结构示意图。具体实施方式现有技术中的无线漫游认证方式,以图2举例说明,当一个sta设备首次连入一个ssid内的ap时,完整的漫游认证步骤通常为:(1)sta连入ap1;(2)ap1上报给ac该sta信息,查询sta的认证状态;(3)认证服务器将未认证状态信息返回ac,ac将信息下发至ap1;(4)ap1决定给予sta未认证重定向;(5)sta弹出portal认证页面,用户输入用户名密码进行认证;(6)认证服务器将已认证信息返回ac,ac将认证结果下发至ap;(7)sta认证通过,ap1给予放行,sta成功访问网络;(8)sta漫游至ap2;(9)ap2上报给ac该sta信息,查询认证状态;(10)认证服务器将已认证信息返回ac,ac下发至ap;(11)ap2决定给予sta放行。综上,sta从ap1漫游至ap2后,ap2上报sta信息给ac,ac从认证服务器查询认证状态,认证服务器将已认证信息返回ac,ac将已认证信息下发至ap2,最终由ap2将sta放行。现有技术从认证服务器端查询认证状态之后再进行决策,虽然可以保证认证状态正确。但是由于查询需要报文的传送,受网络状态影响查询时间,很可能导致用户在此期间被要求重新认证或中断上网业务,用户体验较差。有鉴于此,本申请实施例提供了一种无线漫游认证状态的预同步方法和装置,为了使本领域技术人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细地描述。参考附图3,为本申请实施例无线漫游认证状态的预同步方法的一种流程图,该同步方法在ap上执行,其可以包括以下基本步骤:s301,接收到sta的接入请求后,在预存的本地认证列表中查询sta的认证状态信息;其中,如下表所示,本地认证列表中存有多组sta标识信息与认证状态信息的对应关系,所述sta标识信息为可唯一标识sta的信息,sta标识信息可使用sta的ip、mac地址等其中任意一种可唯一标识sta的信息;ap本地认证列表示意图标识信息认证状态sta标识信息一已认证sta标识信息二未认证…………s302,所述sta是否在本地存在认证信息?若在本地存在认证信息,则不操作,若在本地不存在认证信息,执行步骤s303;s303,将所述sta的标识信息上报至认证设备进行查询或认证,直到认证设备返回认证结果;s304,将所述sta的标识信息与认证状态信息的对应关系加入本地认证列表,并将本地认证列表中的认证信息同步给邻居ap;在sta认证通过后,ap通过无线协议,如802.11协议或蓝牙等其他无线协议将认证信息同步至邻居ap。举例说明:使用802.11协议时,利用beacon帧中的扩展字段或者自定义802.11消息进行对认证信息进行同步。同步的认证信息至少包括包括前述的sta标识信息与对应的sta认证状态信息,ap需要将认证信息广播给周围的邻居ap。作为一个实施例,步骤s303中将所述sta的标识信息上报至认证设备进行查询或认证可包括:将所述sta的标识信息上报至认证设备,其中,认证设备中存有所述本地认证列表;在认证设备的本地认证列表中进行查询,若不存在所述sta的认证状态信息,则对所述sta进行认证。作为一个实施例,步骤s304中ap将所述sta的标识信息与认证状态信息的对应关系加入本地认证列表,并将本地认证列表同步给邻居ap后,还包括:所述邻居ap接收到目标ap同步的认证信息后,将所述认证信息再次同步给自己的邻居ap,并以此类推,进行多级同步。为保证认证状态同步的效果,我们必须扩大同步的范围,如果ap1仅仅将认证状态同步至邻居ap,那么当sta移动的速度非常快时(如用户持sta设备奔跑),有可能会出现同步速度跟不上的问题,故本申请实施例同时介绍一种多级同步技术,即ap2收到ap1的同步效果后,会再次进行同步,将同步信息同步至ap2的邻居ap。这样就扩大了同步的范围。至此,完成图3所示的流程。在进行多级同步的同时,为了避免造成广播风暴(同步信息是通过无线协议传送的,无线协议均是通过广播形式发送),本申请实施例同时介绍一种止停技术,即在使用多级同步技术时,并不会无限制同步下去,同步到一定界限便会止停,具体有附图4与附图5,为本申请实施例提供的两种多级同步方法。参考附图4,为本申请实施例无线漫游认证状态的预同步方法中多级同步的一种流程图,其可以包括以下基本步骤:s401,ap接收到其他ap同步的认证信息后,将所述认证信息再次同步给自己的邻居ap;s402,被同步的ap接收到认证信息后,检测本地是否已经存有所述认证信息?若本地已经存有所述认证信息,执行步骤s404,本地未存有所述认证信息,执行步骤s403;s403,将所述认证信息再次同步给自己的邻居ap,并以此类推,进行多级同步;s404,停止同步。至此,完成图4所示的流程。参考附图5,为本申请实施例无线漫游认证状态的预同步方法中多级同步的另一种流程图,其可以包括以下基本步骤:s501,ap接收到其他ap同步的认证信息后,将所述认证信息再次同步给自己的邻居ap;s502,被同步的ap接收到认证信息后,将认证信息的计数字段减1s503,判断认证信息的计数字段是否为0?若计数字段为0,执行步骤s505,若计数字段不为0,执行步骤s504;根据tcp/ip协议,探测报文的数据包需要封装相应信息,包括接入设备的ip地址信息,接入设备对应的tcp端口号信息和一些其他信息。s504,将所述认证信息再次同步给自己的邻居ap,并以此类推,进行多级同步;s505,停止同步;至此,完成图5所示的流程。参考附图6,为本申请实施例无线漫游认证状态的预同步装置的一种示意图。包括:查询模块610,认证模块620,同步模块630。查询模块610:用于使目标ap接收到sta的接入请求后,在预存的本地认证列表中查询sta的认证状态信息,所述本地认证列表中存有多组sta标识信息与认证状态信息的对应关系,所述sta标识信息为可唯一标识sta的信息;认证模块620:用于使当目标ap的本地认证列表不存在所述sta的认证状态信息时,将所述sta的标识信息上报至认证设备进行查询或认证,直到认证设备返回认证结果;同步模块630:用于使目标ap将所述sta的标识信息与认证状态信息的对应关系加入本地认证列表,并将本地认证列表中的认证信息同步给邻居ap,其中,邻居ap为与目标ap同属于一个ssid,且与目标ap的距离在特定范围内的ap。在本申请的一种具体实施方式中,所述认证模块,具体用于:将所述sta的标识信息上报至认证设备,其中,认证设备中存有所述本地认证列表;在认证设备的本地认证列表中进行查询,若不存在所述sta的认证状态信息,则对所述sta进行认证。在本申请的一种具体实施方式中,所述同步模块,具体还用于:所述邻居ap接收到目标ap同步的认证信息后,将所述认证信息再次同步给自己的邻居ap,并以此类推,进行多级同步。在本申请的一种具体实施方式中,所述同步模块,具体用于:所述邻居ap接收到目标ap同步的认证信息后,检测本地是否存有所述认证信息;若本地未存有所述认证信息,则将所述认证信息再次同步给自己的邻居ap,并以此类推,进行多级同步。在本申请的一种具体实施方式中,所述同步模块,具体用于:将所述认证信息再次同步给自己的邻居ap,并在同步后将认证信息的计数字段减1,依次类推,进行多级同步,直到计数字段为0,则停止同步。至此,完成图6所示的装置结构描述。综合上述实施例,本申请的漫游预同步方法可以视为一个环绕着sta的“同步云”,以附图7为例进行说明:当sta连接着ap2时,同步云笼罩着ap1、ap2、ap3,此时sta的认证状态会在ap1、ap2、ap3间相互同步,即:当sta在ap2认证后,ap2会将sta的认证状态同步到ap1和ap3,使得ap1和ap3上也有sta的认证状态,即使此刻sta并没有连接ap1和ap3。随后当sta不断移动至ap5时,同步云会跟着sta一起移动。移动后,同步云笼罩着ap3、ap4、ap5,此时认证状态会在ap3、ap4、ap5、ap6间移动。具体步骤如下:(1).sta接入ap2,并在ap2上完成认证,随后ap2将sta的认证状态同步至ap1和ap3(2).sta漫游至ap3,由于ap3上已经有了sta的认证状态,sta漫游后可无延时连接网络。随后ap3将sta的认证状态同步至ap2和ap4(3).sta漫游至ap4,由于ap4上已经有了sta的认证状态,sta漫游后可无延时连接网络。随后ap4将sta的认证状态同步至ap3和ap5(4).sta漫游至ap5,由于ap5上已经有了sta的认证状态,sta漫游后可无延时连接网络。随后ap5将sta的认证状态同步至ap3和ap4。综上所述,由于同步云时刻在其范围内预同步sta状态,故sta无论如何漫游,都能立刻无延时连接网络。参见附图8,以sta第一次连接ap1,并在ap1和ap2之间漫游为例,将应用了“sta同步云”的漫游认证方法结合一种具体应用场景进行说明,步骤如下:(1).sta连接ap1(2).ap1查询本地认证状态。本例中ap1发现有sta接入后,查询本地认证列表。本地认证列表为一张缓存于ap本地的认证信息记录,记录sta的标识与认证状态的对应关系。此处需要本地认证列表的目的是为了在有sta接入时可以快速查找到sta的认证状态。sta标识包括ip、mac等一些可唯一标识sta的信息。由于本地是该sta首次接入该无线网络,所以ap1的本地认证列表必然没有该sta的信息,执行下一步。(3).若ap1本地查找不到认证状态,则ap从认证网关处查询认证状态。本例中,ap1将sta的信息上报至认证网关继续查询。信息上报中必须包含sta的标识,如sta的mac等。信息上报的方式、格式可以多种多样:如使用标准的capwap协议中的wtpeventrequest消息上报addstation消息。此处认证网关是指任何可以做认证的服务器,如802.1x认证服务器或者portal认证服务器等;(4).认证网关在接收到某一ap的认证状态查询请求后查询本地认证状态。本例中,由于sta是首次连接无线,认证网关上必然无该sta的认证状态;(5).认证网关会将查询到的认证状态下发。本例中,由于无该sta的认证状态,则会回复ap1未认证信息;(6).若ap收到认证网关发来的未认证信息,则需要要求sta认证。通常情况下使用portal认证,ap阻断sta的数据流量,对该sta进行重定向认证。(7).sta根据ap发起的认证要求则进行认证。举例说明:portal认证需要在sta端输入对应的账号密码进行认证;(8).认证网关向认证服务器请求认证。认证服务器是指存储认证信息(如账号密码等)并能够校验认证信息的服务器,如radius服务器、ldap服务器,认证服务器和认证网关也可以是同一个设备;(9).认证服务器将认证结果返回认证网关;(10).认证网关再将认证结果返回ap。本例中,认证网关将结果返回ap1。本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述无线漫游认证状态的预同步方法。该方法包括:目标ap接收到sta的接入请求后,在预存的本地认证列表中查询sta的认证状态信息,所述本地认证列表中存有多组sta标识信息与认证状态信息的对应关系,所述sta标识信息为可唯一标识sta的信息;若目标ap的本地认证列表不存在所述sta的认证状态信息,则将所述sta的标识信息上报至认证设备进行查询或认证,直到认证设备返回认证结果;目标ap将所述sta的标识信息与认证状态信息的对应关系加入本地认证列表,并将本地认证列表中的认证信息同步给邻居ap,其中,邻居ap为与目标ap同属于一个ssid,且与目标ap的距离在特定范围内的ap。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。本申请实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述无线漫游认证状态的预同步方法。该方法至少包括:目标ap接收到sta的接入请求后,在预存的本地认证列表中查询sta的认证状态信息,所述本地认证列表中存有多组sta标识信息与认证状态信息的对应关系,所述sta标识信息为可唯一标识sta的信息;若目标ap的本地认证列表不存在所述sta的认证状态信息,则将所述sta的标识信息上报至认证设备进行查询或认证,直到认证设备返回认证结果;目标ap将所述sta的标识信息与认证状态信息的对应关系加入本地认证列表,并将本地认证列表中的认证信息同步给邻居ap,其中,邻居ap为与目标ap同属于一个ssid,且与目标ap的距离在特定范围内的ap。图9示出了本申请实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。处理器1010可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案。存储器1020可以采用rom(readonlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本申请实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请实施例方案所必需的组件,而不必包含图中所示的全部组件。本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1