一种无线漫游方法和接入控制器

申请号 CN201210288396.5 申请日 2012-08-14 公开(公告)号 CN103596161B 公开(公告)日 2016-06-08
申请人 杭州华三通信技术有限公司; 发明人 聂树伟;
摘要 本 申请 公开了一种无线漫游方法,包括:预先将所有参与无线客户端STA漫游的接入 控制器 AC分在不同的平行漫游组;同一漫游组的AC均配置包含有该漫游组名字的漫游组信息;每个AC将其所属的漫游组信息通知接入该AC的STA;发生漫游时,上述任一AC接收到来自STA的携带了漫游组信息的重认证或重关联消息,该AC根据配置的漫游组信息和所述接收到的重认证或重关联消息,判断STA为组间漫游时,启动扩展认证协议EAP重认证流程;判断STA为组内漫游时,采用密钥缓存方式。本申请还公开了一种接入控制器AC。本申请可实现任何多个AC之间的快速漫游以及跨网段的快速漫游,并可提升AC设备的性能。
权利要求

1.一种无线漫游方法,其特征在于,包括以下步骤:
预先将所有参与无线客户端STA漫游的接入控制器AC分在不同的平行漫游组;同一漫游组的AC均配置包含有该漫游组名字的漫游组信息;每个AC将其所属的漫游组信息通知接入该AC的STA;
发生漫游时,上述任一AC接收到来自STA的携带了漫游组信息的重认证或重关联消息,该AC根据自身配置的漫游组信息和所述接收到的重认证或重关联消息,判断STA为组间漫游时,启动扩展认证协议EAP重认证流程;判断STA为组内漫游时,采用密钥缓存方式。
2.根据权利要求1所述的方法,其特征在于,所述AC根据自身配置的漫游组信息和所述接收到的重认证或重关联消息,判断STA为组间漫游时,启动扩展认证协议EAP重认证流程;
判断STA为组内漫游时,采用密钥缓存方式,包括:
所述AC检查所述重认证或重关联消息携带的漫游组信息中的漫游组名字与所述AC自身配置的漫游组名字是否一致:
如果不一致,则判断STA为组间漫游,启动EAP重认证流程;
如果一致,则所述AC检查其密钥缓存信息中是否存在STA的密钥表项,如果是,则判断STA为组内漫游,采用密钥缓存方式;如果不是,则判断STA为初次接入,启动EAP完整认证流程。
3.根据权利要求2所述的方法,其特征在于,所述AC检查所述重认证或重关联消息携带的漫游组信息中的漫游组名字与所述AC自身配置的漫游组名字是否一致之前进一步包括:
所述AC检查所述接收到的重认证或重关联消息中是否存在漫游组信息:
若不存在,则判断STA为初次接入,启动EAP完整认证流程;
若存在,则检查所述漫游组信息中的漫游组名字与所述AC自身配置的漫游组名字是否一致。
4.根据权利要求1所述的方法,其特征在于,所述将所有参与STA漫游的AC分在不同的平行漫游组的方法为:
记AC`为当前没有加入漫游组的任一AC,AC`周期发送广播消息,在预设的时间内若有其它AC应答,执行:
步骤S、所述应答的AC与AC`进行消息交互,若AC`获取到K个处于可分组状态的AC各自允许接入STA的数量信息,则将所述K个AC和AC`按照各AC允许接入的STA数量排序组成链表,K为≥1的正整数;
如果(K+1)除以2得到的余数等于0,则依次组合链表的头和尾元素,直至出现AC`,AC`向与其组合的AC发送单播确认消息,组成一个漫游组;
如果(K+1)除以2得到的余数等于1,且排序后AC`不是第K+1个元素时,排除第K+1个元素,其余的元素组成链表,依次组合链表的头和尾元素,直至出现AC`,AC`向与其组合的AC发送单播确认消息,组成一个漫游组;若排序后AC`是第K+1个元素,则组合链表的头和尾元素,AC`向与其组合的AC发送单播确认消息,组成一个漫游组;
AC`在预设的时间内若没有收到其他AC的应答消息,则AC`成为一个单独的漫游组,每隔预设的时间广播一次请求消息,直至接收到其它AC的应答,执行步骤S。
5.根据权利要求4所述的方法,其特征在于,所述应答的AC与AC`进行消息交互的交互信息格式包括:目的MAC地址、源MAC地址、类型、协议号、标志位g和标志位s、STA数量、校验和;其中:
标志位g表示是否已经分组,g=1为未分组,g=0为已分组;
标志位s表示是否携带了AC允许接入的STA数量,s=1为已携带,s=0为未携带;
STA数量表示AC允许接入的STA数量;
AC`获取K个处于可分组状态的AC各自允许接入STA的数量信息,包括:
AC`与任一应答AC交互,当获知该应答AC的交互消息中标志位g、s均为1时,确定此应答AC处于可分组状态;若有K个AC处于可分组状态,则获取所述K个AC各自允许接入STA的数量信息。
6.根据权利要求1所述的方法,其特征在于,所述漫游组信息格式包括:信息类型、信息长度、自定义的漫游组名字;
所述启动EAP重认证流程时,交互过程中EAP报文的数据内容Type-Data域携带所述漫游组信息中的漫游组名字;所述启动EAP重认证流程后,如果EAP重认证流程失败,则启动EAP完整认证流程;
所述发生漫游之前进一步包括:所有参与STA漫游的AC上设置密钥老化定时器
当STA从一个漫游组内的任一AC离开时,触发该AC上的密钥老化定时器同时开始计时,待老化超时后,该AC删除所述STA对应的密钥缓存表项;
所述老化超时之前,若该AC接收到相同MAC地址的STA重认证或重关联消息的次数超过预定次数,则该AC不再接受此STA的重认证或重关联消息。
7.一种接入控制器AC,其特征在于,所有参与无线客户端STA漫游的AC被分在不同的平行漫游组,所述AC包括:配置模、信息交互模块、信息处理模块,其中:
配置模块,用于为本AC配置包含有本AC所属漫游组名字的漫游组信息,同一漫游组的AC均配置包含有该漫游组名字的漫游组信息;
信息交互模块,用于将所述漫游组信息通知接入本AC的STA;还用于在发生漫游时,接收来自STA的携带了漫游组信息的重认证或重关联消息;
信息处理模块,用于根据配置的所述漫游组信息和所述接收到的重认证或重关联消息,判断STA为组间漫游时,启动扩展认证协议EAP重认证流程;判断STA为组内漫游时,采用密钥缓存方式。
8.根据权利要求7所述的接入控制器,其特征在于,
所述信息处理模块检查所述重认证或重关联消息携带的漫游组信息中的漫游组名字与本AC配置的漫游组名字是否一致:
如果不一致,则判断STA为组间漫游,启动EAP重认证流程;
如果一致,则检查本AC的密钥缓存信息中是否存在STA的密钥表项,如果是,则判断STA为组内漫游,采用密钥缓存方式;如果不是,则判断STA为初次接入,启动EAP完整认证流程。
9.根据权利要求8所述的接入控制器,其特征在于,
在检查所述重认证或重关联消息携带的漫游组信息中的漫游组名字与本AC配置的漫游组名字是否一致之前,所述信息处理模块,还用于检查所述接收到的重认证或重关联消息中是否存在漫游组信息:
若不存在,则判断STA为初次接入,启动EAP完整认证流程;
若存在,则检查所述漫游组信息中的漫游组名字与所述AC自身配置的漫游组名字是否一致。
10.根据权利要求7所述的接入控制器,其特征在于,所述配置模块为本AC配置的漫游组信息的格式包括:信息类型、信息长度、自定义的漫游组名字;
所述信息处理模块在启动EAP重认证流程时,交互过程中EAP报文的数据内容Type-Data域携带所述漫游组信息中的漫游组名字;所述信息处理模块,还用于在启动EAP重认证流程后,如果EAP重认证流程失败,则启动EAP完整认证流程。
11.根据权利要求7所述的接入控制器,其特征在于,所述接入控制器进一步包括:密钥老化模块,用于设置密钥老化定时器;当STA从本AC离开时,触发所述密钥老化定时器同时开始计时,待老化超时后,删除所述STA对应的密钥缓存表项;
所述信息交互模块,还用于在所述老化超时之前,若接收到相同MAC地址的STA重认证或重关联消息的次数超过预定次数,则不再接受此STA的重认证或重关联消息。

说明书全文

一种无线漫游方法和接入控制器

技术领域

[0001] 本申请涉及无线局域网的漫游技术,尤其涉及一种无线漫游方法和接入控制器。

背景技术

[0002] 漫游,是无线局域网络WLAN的一个关键技术,是实现无线终端可移动性的重要基础。目前WLAN组网的主流方式是接入控制器(AC)+瘦AP(FIP AP)组网模型,在此组网条件下,如何实现无线客户端(STA)的无缝漫游,特别是如何实现STA在不同AC间的漫游,是衡量无线设备性能的一个重要指标。
[0003] 目前,主要采用密钥缓存(Key Cache)方式实现STA在不同AC间的漫游,如图1所示,所有可能参与移动终端漫游的AC组成一个漫游组,漫游组的建立和维护均由接入控制器间隧道协议(IACTP)完成,任何一个AC有STA关联,需要在漫游组内的所有成员AC同步此STA的密钥信息。
[0004] 当STA发生漫游行为时,将直接进行密钥协商,以实现快速漫游。例如,如图1所示,AC1与AC2在STA初次接入漫游组时均已同步此STA的密钥信息,当STA从AC1的接入点AP1上漫游到AC2的AP2上时,直接进行密钥协商,就可以实现快速漫游。
[0005] 采用上述现有技术,在AC上仅能配置一个漫游组,组外AC无法参与漫游;并且每个漫游组内可以最大存在8个漫游成员,即8个AC之间的漫游,无法实现更多AC内的漫游;漫游组必须手动配置,比较繁琐;采用密钥缓存方式实现快速漫游时,漫游组内所有AC需要同步连接到任何一个成员的STA的密钥信息,例如,一个漫游组有6个成员,那么每个AC都必须同步其余5个AC的STA的密钥信息,当存在一定数量的在线STA时,消息交互过多以及密钥存储表项过大,影响AC设备的性能;也无法实现跨网段的快速漫游。发明内容
[0006] 有鉴于此,本申请提出一种无线漫游方法,可以实现任何多个AC之间的快速漫游以及跨网段的快速漫游,并且可以提升AC设备的性能。
[0007] 本申请还提出一种接入控制器(AC),可以实现任何多个AC之间的快速漫游以及跨网段的快速漫游,并且可以提升AC设备的性能。
[0008] 为达到上述目的,本申请实施例的技术方案是这样实现的:
[0009] 一种无线漫游方法,包括以下步骤:
[0010] 预先将所有参与无线客户端STA漫游的接入控制器AC分在不同的平行漫游组;同一漫游组的AC均配置包含有该漫游组名字的漫游组信息;每个AC将其所属的漫游组信息通知接入该AC的STA;
[0011] 发生漫游时,上述任一AC接收到来自STA的携带了漫游组信息的重认证或重关联消息,该AC根据自身配置的漫游组信息和所述接收到的重认证或重关联消息,判断STA为组间漫游时,启动扩展认证协议EAP重认证流程;判断STA为组内漫游时,采用密钥缓存方式。
[0012] 一种接入控制器AC,所有参与无线客户端STA漫游的AC被分在不同的平行漫游组,所述AC包括:配置模、信息交互模块、信息处理模块,其中:
[0013] 配置模块,用于为本AC配置包含有本AC所属漫游组名字的漫游组信息,同一漫游组的AC均配置包含有该漫游组名字的漫游组信息;
[0014] 信息交互模块,用于将所述漫游组信息通知接入本AC的STA;还用于在发生漫游时,接收来自STA的携带了漫游组信息的重认证或重关联消息;
[0015] 信息处理模块,用于根据配置的所述漫游组信息和所述接收到的重认证或重关联消息,判断STA为组间漫游时,启动扩展认证协议EAP重认证流程;判断STA为组内漫游时,采用密钥缓存方式。
[0016] 本申请的有益效果为,通过将AC划分在不同的平行漫游组并配置漫游组信息,当STA漫游时,对STA携带的漫游组信息和STA将要漫游到的目的AC配置的漫游组信息进行比较判断,根据判断结果启动EAP完整认证或EAP重认证或直接进行密钥协商,可以实现任何多个AC之间的快速漫游以及跨网段的快速漫游,增加漫游STA可通过漫游接入AC的数量,扩大STA可漫游的范围,实现STA在任意网络之间的漫游,提高了无线网络布局的能,屏蔽了目前AC设备在此方面的局限性。
[0017] 此外,通过控制单个漫游组内AC的数量,可减小漫游组内AC的密钥表项的规模,减少漫游组内AC间的消息交互,减轻AC设备的压力。
[0018] 同时,通过自动生成漫游组,可以减轻管理人员的工作量,排除可能的配置错误。附图说明
[0019] 图1为现有技术的通过密钥缓存方式实现组内快速漫游的系统示意图;
[0020] 图2为本申请实现快速漫游的原理示意图;
[0021] 图3为本申请实施例的方法流程图
[0022] 图4为本申请实施例的AC之间交互的信息格式示意图;
[0023] 图5为本申请实施例的漫游组信息格式示意图;
[0024] 图6为现有技术的EAP完整认证信息交互流程示意图;
[0025] 图7为现有技术的EAP重认证信息交互具体流程示意图;
[0026] 图8为现有技术的EAP报文格式示意图;
[0027] 图9为本申请实施例的装置结构图。

具体实施方式

[0028] 为了使本发明的目的、技术方案及优点更加清楚明白,以下通过具体实施例并参见附图,对本发明进行详细说明。
[0029] 本申请中,所有AC根据需要都加入到相应的平行漫游组中,在每个漫游组中AC间的漫游使用Key Cache(密钥缓存)方式,在平行漫游组之间AC间的漫游启动EAP重认证流程。可实现所有的AC都能参与到移动终端的漫游行为中来,并且没有过多的消息交互、不会占用系统太多的资源。
[0030] 如图2所示,所有的无线控制器AC将分别加入到n个漫游组SystemGroup_par_xx中,每个漫游组内的成员AC数量根据需要配置,没有固定的数量,根据实验推荐不多于3个,平行的漫游组也没有数量限制,根据需要配置,只要包含所有可能参与终端漫游行为的AC即可。
[0031] 在每个漫游组SystemGroup_par_xx中,STA如果要进行AC间的漫游,采用Key Cache(密钥缓存)方式,即每个SystemGroup_par_xx中,任何一个成员AC必须同步本漫游组内连接在其他所有成员AC的STA的Key信息,并且进行缓存,以此实现漫游组内AC间的快速漫游。
[0032] 但是平行漫游组SystemGroup_par_01和SystemGroup_par_02之间不需要同步,即平行漫游组之间不需要同步STA的密钥信息。在平行漫游组之间,如图2所示,例如,STA想要从AC1的AP1上漫游到AC5的AP5上,即要进行漫游的两个AC并不在相同的漫游组中,此时需要进行EAP重认证,以此来实现漫游组之间的快速漫游。
[0033] 本申请实施例的方法流程如图3所示,一种无线漫游方法,包括以下步骤:
[0034] 步骤301:预先将所有参与无线客户端(STA)漫游的接入控制器(AC)分在不同的平行漫游组。
[0035] 关于平行漫游组的划分,可以根据实际需求手动配置,这样可以完全按照用户的要求来实现,应该遵守以下原则:
[0036] A、处于相同网段的AC,一定在同一个漫游组内;
[0037] B、每个漫游组的所有AC允许接入的STA数量之和相等或者接近;
[0038] C、每个漫游组的所有AC管理的AP数量之和相等或者接近;
[0039] D、每个AC只能配置在一个漫游组内;
[0040] 另外,也可以自动实现分组,如果是自动实现分组,需要在每个AC上启动自动漫游分组功能,实现具体如下:
[0041] 记AC`为当前没有加入漫游组的任一AC,AC`判断自己并不在任何一个漫游组内,即AC`没有配置漫游组的名字时,周期发送广播消息,请求其他AC的应答,直到加入一个漫游组为止,在预设的时间内若接收到了其它AC的应答,所述应答的AC与AC`彼此进行消息交互,交互消息格式自定义如图4所示,包括字段:目的MAC地址(DMAC)、源MAC地址(SMAC)、类型、协议号、标志位g和标志位s以及标志位a、STA数量、AP数量、校验和,其中,标志位g、标志位s以及标志位a为:
[0042] g表示是否已经分组,g=1为未分组,g=0为已分组;
[0043] s表示是否携带了AC允许接入的STA的数量,s=1为已携带,s=0为未携带;
[0044] a表示是否携带了AC接入的AP的数量,a=1为已携带,a=0为未携带;
[0045] 其余为保留位,均为0。
[0046] g为0时表示该AC已分组,s或a为0时,表示该AC处于非正常工作状态,因此,g、s、a任一位为0时,AC`不将该AC作为处于可分组状态的AC进行下面的分组。
[0047] STA数量为AC允许接入的STA的数量;
[0048] AP数量为AC接入的AP的数量;
[0049] 一般情况下,应答AC若携带了允许接入的STA数量,获取各应答AC允许接入的STA的数量,就可以实现分组了,因此,一般情况下,所述交互信息格式只需包含字段:目的MAC地址(DMAC)、源MAC地址(SMAC)、帧类型、协议号、标志位g|s|、STA数量、校验和即可,标志位中只需g和s即可。
[0050] AC`与任一应答AC交互,当获知该应答AC的交互消息中标志位g、s均为1时,确定此应答AC处于可分组状态,获取此AC允许接入的STA数量信息,若有K个AC处于可分组状态,则获取所述K个AC各自允许接入STA的数量信息,其中,K为≥1的正整数。
[0051] 通过上述消息交互,若AC`获取了K个处于可分组状态的AC各自允许接入STA的数量,则将所述K个处于可分组状态的AC和AC`按照各自允许接入的STA数量排序组成链表;
[0052] 如果(K+1)除以2得到的余数=0,则依次组合链表的头和尾元素,直至出现AC`,AC`向与其组合的AC发送单播确认消息,组成一个漫游组。依次组合链表的头和尾元素,例如,链表AC排列顺序为AC1、AC`、AC2、AC3、AC4、AC5,则依次组合链表的头和尾元素,即组合AC1AC5,AC`AC4,当出现AC`时,就停止组合了,AC4就是与AC`组合的AC,分在一组。
[0053] 如果(K+1)除以2得到的余数=1,且排序后AC`不是第K+1个元素时,排除第K+1个元素,其余的元素组成链表,依次组合链表的头和尾元素,直至出现AC`,AC`向与其组合的AC发送单播确认消息,组成一个漫游组;若排序后AC`是第K+1个元素,则组合链表的头和尾元素,AC`向与其组合的AC发送单播确认消息,组成一个漫游组。
[0054] 例如:AC`周期(周期为T)发送广播消息,在N×T的时间之内有多个AC应答,但只有K个AC处于可分组状态,则共K+1个AC按照允许接入的STA数量从少到多或从多到少排序组成链表,如果(K+1)%2=0,则依次组合链表的头和尾元素(即[a,k+2-a]),直至出现AC`为止,与其组合的AC即是选中同一漫游组的AC。
[0055] 一般情况下,比较各AC允许接入的STA数量,就可以实现分组了;特殊地,若AC`与K个AC允许接入的STA数量都是一样的,则比较各个AC管理的AP数量,即将所述K个AC和AC`按照各自管理的AP数量排序组成链表,后续步骤相同。
[0056] 若AC`与K个AC管理的AP数量也都是一样的,则从K个AC中随机选择一个与AC`组成一个漫游组。
[0057] 每个平行漫游组内有两个成员AC;特殊的,如果最后剩余一个AC,会单独分在一个分组内。当然,每个平行漫游组内成员AC的数量也可根据实际需要进行调整。
[0058] 上述漫游组划分时将AC是否划分为一个漫游组考虑的因素的优先级顺序为:相同网段→允许接入的STA数量→管理的AP数量→随机。由于AC`发送的是广播请求,所以应答的AC与AC`一定在相同网段内。
[0059] 所述AC周期发送广播消息之后,在预设的时间内若没有收到其他AC的应答消息,则所述AC自己成为一个单独的漫游组,每隔预设的时间广播一次请求消息,直至接收到其它AC的应答,按照上述自动实现分组的方法进行分组。
[0060] 如果一个漫游组内只有一个AC,则此AC会每隔T1时间就广播一次请求消息,以此来确认是否还有单独的AC分组,这里T1的值可以根据实际需要设置,设置为0则不会启用此功能。
[0061] 如果取消AC的自动漫游分组功能,则相应AC会删除自动创建的分组。
[0062] 通过自动生成平行漫游组,可以减轻管理人员的工作量,同时排除了可能的配置错误。通过平行漫游组的存在,增加漫游STA可通过漫游接入AC的数量,扩大STA可漫游的范围。通过STA在平行漫游组之间的漫游行为,可以实现STA在任意网络之间的漫游,提高了无线网络布局的能力,屏蔽了目前AC设备在此方面的局限性。
[0063] 步骤302:同一漫游组的AC均配置包含有该漫游组名字的漫游组信息。
[0064] 所述漫游组信息格式根据802.11-2007如图5所示,包括:信息类型(Ele-ID,即Element ID)、信息长度(Length)、自定义的漫游组名字。
[0065] 漫游组的名字可自定义,如图5所示,例如,每个AC上的平行漫游组的名字可自动生成为SystemGroup_par_Mac_addr,其中Mac_addr比较漫游组内两个成员AC用于通信的以太网接口的mac地址,较小的当选,漫游组名字长度也是自定义。
[0066] 步骤303:每个AC将其所属的漫游组信息通知接入该AC的STA。
[0067] 当所述STA初始连接到任一AC时,通过关联响应消息,该AC将其所属的漫游组信息通知STA,STA存储所述漫游组信息,在进行漫游行为的时候携带;
[0068] 当已添加了漫游组信息的STA连接到任一AC时,该AC将其所属的漫游组信息通知STA,则STA更新漫游组信息为STA当前连接的AC所属的漫游组信息。
[0069] 步骤304:发生漫游时,上述任一AC接收到来自STA的携带了漫游组信息的重认证或重关联消息。
[0070] STA漫游时发送可能重认证消息(Authentication消息),也可能发送重关联消息(Re-associate消息),由STA的生产厂家决定。漫游组信息只在STA发送的重认证或者重关联消息中携带(即STA发生漫游行为的初始消息)。
[0071] 如果是通过重新发送认证请求的STA,在认证消息中携带漫游组信息;如果是直接发送重关联消息进行漫游的STA,在重关联请求消息中携带漫游组信息;如果是通过发送重认证请求进行漫游的STA在关联消息中也携带了此漫游组信息,则关联消息中的这个漫游组信息被忽略处理。
[0072] 发生漫游之前,可在所有参与STA漫游的AC上设置密钥老化定时器
[0073] 当STA从一个漫游组内的任一AC离开时,触发该AC上的密钥老化定时器同时开始计时,待老化超时后,该AC删除所述STA对应的密钥缓存表项;
[0074] 另外,为了防止STA在两个AC间的反复漫游行为(反复漫游说明STA处于非正常工作状态),老化超时之前,在设定时间内,例如,密钥老化定时器十分之一老化时间内,若所述AC接收到相同MAC地址的STA漫游连接请求(也就是重认证或重关联消息)的次数超过预定次数,例如,超过3次,则所述AC后续不会继续接受此STA的漫游连接请求。此时,STA无法进行漫游。
[0075] 步骤305:所述AC根据自身配置的漫游组信息和所述接收到的重认证或重关联消息,判断STA为组间漫游时,启动扩展认证协议(EAP)重认证流程;判断STA为组内漫游时,采用密钥缓存方式;进一步地,若判断STA为初次接入,则启动EAP完整认证流程。
[0076] 所述AC检查所述接收到的重认证或重关联消息中是否存在漫游组信息:
[0077] 若不存在,则判断STA为初次接入,启动EAP完整认证流程;
[0078] 若存在,则检查所述漫游组信息中的漫游组名字与所述AC自身配置的漫游组名字是否一致:
[0079] 如果不一致,则判断STA为组间漫游,启动EAP重认证流程;启动EAP重认证流程时,交互过程中EAP报文的数据内容(Type-Data)域(如图8所示)携带所述漫游组信息中的漫游组名字,认证服务器会通过此域来判断STA的组间漫游行为;启动EAP重认证流程后,若EAP重认证流程失败,则启动EAP完整认证流程;
[0080] 如果一致,则所述AC检查其密钥缓存信息中是否存在STA的密钥表项,如果是,则判断STA为组内漫游,采用密钥缓存方式;如果不是,则判断STA为初次接入,启动EAP完整认证流程。之所以要检查密钥表项信息,是因为漫游组的成员AC之间同步STA密钥表项时,有可能同步失败,这时虽然漫游组名字一致,但却从AC的密钥缓存表项中找不到STA的密钥表项,只有同步成功了才可找到。
[0081] 所述AC检查所述接收到的重认证或重关联消息中是否存在漫游组信息的方法为:
[0082] 所述AC检查所述重认证或重关联消息中是否存在预先设置的漫游组共同关键字,如果是,则存在漫游组信息;否则,不存在漫游组信息。
[0083] 所述漫游组共同关键字可自定义,例如,如图5所示,可以取各个漫游组名字的共同字符SystemGroup_par作为漫游组共同关键字。
[0084] 上述EAP完整认证流程、EAP重认证流程及密钥缓存方式均属于现有技术,为了更方便理解本申请,在此简要介绍一下:
[0085] EAP完整认证流程,如图6所示,其中:
[0086] 过程(1)为STA接入WLAN过程,包含WLAN的认证、关联过程。
[0087] 过程(2)为STA通过802.1x认证的过程。
[0088] 过程(3)为4-way-handshake:即WLAN的四步握手(密钥协商)过程。
[0089] EAP重认证流程详见协议RFC5296,就是简化的过程(2)加上过程(3),即STA通过802.1x认证的过程,最好的情况只需要一次EAP的交互(对应一次Request和Response的交互)就可以完成STA的用户接入认证,而完整的过程(2)需要大量的消息交互,但EAP重认证流程中简化的过程(2)省略了其中的一些消息交互,只需要进行少量的消息交互,大大节省了认证(指802.1x认证)的时间。
[0090] 如图7所示,此过程在EAP流程开始之后,STA和认证服务器SERVER之间最少通过一次消息交互完成STA的用户认证过程,从而直接进行密钥协商。见图7,详细过程如下:
[0091] EAP重认证开始,AC给STA发送EAP-Initiate和EAP-Request消息;STA返回Response给AC;
[0092] EAP重认证过程,STA通过AC透传EAP-Initiate给SERVER,SERVER通过AC透传返回EAP-Finish给STA。
[0093] 连接到任何一个平行漫游组的STA都必须到相同的认证服务器进行认证。
[0094] 组内AC间漫游采用密钥缓存(Key Cache)方式,对照图6的EAP完整认证流程来看,密钥缓存(Key Cache)方式就是图6中的过程(1)加上过程(3),省略了过程(2),即802.1x的认证过程,前提是FA已经同步了此STA在首次接入AC时协商的密钥信息,此处漫游即可直接进行密钥协商。
[0095] 一个STA首次与漫游组内的某个AC进行关联,该AC即为该STA的HA(Home-AC);一个STA与某个不是HA的AC进行关联,该AC即为该STA的FA。
[0096] 特殊的,在正常流程中,过程(1)包含了STA接入WLAN的认证和关联过程,如果STA在漫游过程中直接发送重关联消息,若判断出FA已经同步了此STA在首次接入AC时协商的密钥信息,也可以省略STA接入WLAN的认证过程。
[0097] 本申请中虽然采用Key Cache方式,但是在合理配置了组内AC数量之后,实现起来不会对系统形成压力。
[0098] 例如,可以将4个AC放入两个漫游组中,这样每个漫游组内只会有两个AC相互同步漫游终端的信息;而如果4个AC都放入同一个漫游组内,则每个AC都需要同步其他3个AC的接入STA的密钥缓存表项信息,致使每个AC存储大量的STA密钥信息,并且所有AC之间互相交互的消息过多。如果是自动生成的平行漫游组,则每个组内最多有两个成员AC,更不会存在此问题。
[0099] 通过控制单个漫游组内AC的数量,可以减小漫游组内AC的Key Cache表项的规模,减少漫游组内AC间的消息交互,减轻AC设备的压力。
[0100] 本申请实施例的装置结构如图9所示,一种接入控制器AC,所有参与无线客户端STA漫游的AC被分在不同的平行漫游组,所述AC包括:配置模块、信息交互模块、信息处理模块,其中:
[0101] 配置模块,用于为本AC配置包含有本AC所属漫游组名字的漫游组信息,同一漫游组的AC均配置包含有该漫游组名字的漫游组信息;
[0102] 信息交互模块,用于将所述漫游组信息通知接入本AC的STA;还用于在发生漫游时,接收来自STA的携带了漫游组信息的重认证或重关联消息;
[0103] 信息处理模块,用于根据配置的所述漫游组信息和所述接收到的重认证或重关联消息,判断STA为组间漫游时,启动扩展认证协议EAP重认证流程;判断STA为组内漫游时,采用密钥缓存方式。
[0104] 较佳地,所述信息处理模块,还用于检查所述重认证或重关联消息携带的漫游组信息中的漫游组名字与本AC配置的漫游组名字是否一致:
[0105] 如果不一致,则判断STA为组间漫游,启动EAP重认证流程;
[0106] 如果一致,则检查本AC的密钥缓存信息中是否存在STA的密钥表项,如果是,则判断STA为组内漫游,采用密钥缓存方式;如果不是,则判断STA为初次接入,启动EAP完整认证流程。
[0107] 进一步地,在检查所述重认证或重关联消息携带的漫游组信息中的漫游组名字与本AC配置的漫游组名字是否一致之前,所述信息处理模块,还用于检查所述接收到的重认证或重关联消息中是否存在漫游组信息:
[0108] 若不存在,则判断STA为初次接入,启动EAP完整认证流程;
[0109] 若存在,则检查所述漫游组信息中的漫游组名字与所述AC自身配置的漫游组名字是否一致。
[0110] 较佳地,所述配置模块为本AC配置的漫游组信息的格式包括:信息类型、信息长度、自定义的漫游组名字。
[0111] 所述信息处理模块在启动EAP重认证流程时,交互过程中EAP报文的数据内容(Type-Data)域携带所述漫游组信息中的漫游组名字;所述信息处理模块,还用于在启动EAP重认证流程后,如果EAP重认证流程失败,则启动EAP完整认证流程。
[0112] 较佳地,所述接入控制器进一步包括:密钥老化模块,用于设置密钥老化定时器;当STA从本AC离开时,触发所述密钥老化定时器同时开始计时,待老化超时后,删除所述STA对应的密钥缓存表项;
[0113] 所述信息交互模块,还用于在所述老化超时之前,若接收到相同MAC地址的STA重认证或重关联消息的次数超过预定次数,则不再接受此STA的重认证或重关联消息。
[0114] 本申请中,如果判断STA为初次接入,则启动EAP完整认证流程;如果判断STA为组内漫游,采用Key Cache(密钥缓存)快速漫游方式;如果判断STA为组间漫游,则启动EAP重认证流程,协商了密钥之后再在漫游组内采用Key Cache方式在所有成员AC之间进行密钥同步。
[0115] 也就是通过密钥缓存与重认证相结合可以实现终端在任何AC间的快速漫游。
[0116] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
QQ群二维码
意见反馈