一种通过云ac实现sta跨域漫游的方法

文档序号:10492939阅读:521来源:国知局
一种通过云ac实现sta跨域漫游的方法
【专利摘要】本发明提供了一种通过云AC实现STA跨域漫游的方法。其中包括:AP使用私有协议与云AC通过TCP长连接保持通信,按定义的报文格式将接入AP的STA的MAC地址发送给云AC;云AC接收AP发送的报文,经解析处理该报文后将STA的MAC地址保存到云AC漫游表;AP接收到STA认证请求时,将该STA的MAC地址发送给云AC进行漫游判断,如果云AC查询漫游表后确定该STA的MAC地址已经认证过且在有效期内,则云AC响应AP对该STA接入认证漫游成功报文,该AP使连接其的STA可以成功认证接入网络,完成漫游。本发明可以通过低成本有效的实现STA跨域漫游的问题,不依赖于硬件AC,便于部署运营。
【专利说明】
一种通过云AG实现STA跨域漫游的方法
技术领域
[0001]本发明涉及无线通信技术领域,特别是涉及一种通过云AC实现STA在AP之间切换时跨域漫游的方法。
【背景技术】
[0002]随着无线网络规模的扩大,尤其是跨地区、跨网段组网的需求,传统的无线局域网由于存在着局限性,难以满足用户不断扩展的需求。并且,随着虚拟化技术、云计算技术的越来越成熟,主流通信设备厂商、通信运营商开始研究将传统的网络业务功能进行重构在云端部署。在云端部署AC(Access Control Ier,接入控制器),简称云AC。漫游是WLAN(Wireless LAN,无线局域网)部署中的一个关键技术,指当STA(Stat1n,无线终端)切换AP(Access Point,接入点)时,需要做到STA业务不中断,用户无感知。
[0003]目前实现STA漫游的方式主要有AC+AP,AP自主协商等。使用AC+AP的方式时,AC通常以硬件的形式在网络拓扑结构中进行部署,AP与AC直连组网,多个AP连接在同一个VLAN(Virtual Local Area Network,虚拟局域网),AP与AC之间通过CAPWAP(Control AndProvis1ning of Wireless Access Points Protocol Specificat1n,无线接入点控制与配置协议)协议来实现STA漫游,STA在不同的AP间切换时,始终在同一个VLAN子网内。使用AP自主协商时,各个AP之间互相通信共享STA连接信息,既可以通过二层报文通信,也可以通过三层隧道(即IAPP隧道)通信。
[0004]上述STA漫游实现方式需要通过直连组网,或者需要在AP间配置并且维护IAPP隧道,总体来看,实现比较复杂,加大了维护成本和设备开销,且都存在无法跨网段漫游的情形,同时也不方便对大量AP进行远程管理。云AC与传统硬件AC部署是存在差异的,主要集中在AP需要跨网段与AC通信,如何确保STA在AP之间跨网段切换时可以做到无缝漫游。

【发明内容】

[0005]本发明提供了一种通过云AC实现STA在AP间跨域漫游的方法,以避免无法在大范围内跨区域实现STA漫游,提供更广阔的应用场景;同时,大量减少了硬件AC的使用,有效降低成本,也便于部署运营。
[0006]为了实现上述目的,本发明提供的技术方案包括:
一种通过云AC实现AP跨域漫游的方法,该方法包括:
AP上电启动之后通过其WAN 口向云AC发起TCP连接请求,AP使用私有协议与云AC通过TCP长连接保持通信;
STA连接所述AP进行接入网络请求时,所述AP向所述云AC发起漫游认证请求,所述云AC通过查询漫游表判断对所述STA接入网络请求处理结果;
所述云AC定期更新漫游表及通过漫游控制对所述STA漫游流程进行优化;
所述AP可以跨域分布,不限制于局域网;
所述STA通过云AC控制可以实现跨域漫游。
[0007]AP需要向所述云AC发送注册报文,上报所述AP信息;
所述AP信息包括AP分组信息、AP设备编号、AP MAC地址、AP IP地址;
AP定时向云AC发送心跳报文,用于检测通信链路是否正常。
[0008]所述私有协议报文格式为二进制,至少包括:包长、包类型、包标识符、时间戳、数据长度、数据及校验和;
包长描述整个数据报文长度;包类型描述报文的类型;包标识符描述报文唯一属性;时间戳描述报文发送的时间,UNIX时间戳;数据长度描述报文载荷(Payload)长度;数据描述具体的报文载荷实际内容;校验和是对报文除自身外的全部字段进行CRC16运算得到的结果O
[0009]STA连接所述AP之后,所述AP需要向所述云AC发送报文请求进行漫游认证,该报文包含所述STA的MAC地址;
所述云AC接收到所述AP的漫游认证请求数据报文之后,经过解析得到所述STA的MAC地址,通过查询缓存的漫游表判断该STA MAC地址是否已认证,从而判断该STA是否可漫游,并将结果通过报文响应给所述AP。
[00?0] 所述云AC响应给所述AP针对所述STA的漫游认证结果,如果为可漫游,则所述AP对所述STA接入网络请求放行,允许所述STA接入网络;如果为不可漫游,则所述AP对所述STA需要进行Portal认证,如果Portal认证通过,则所述STA可以接入网络;同时,所述AP需要将所述STA的MAC地址通过报文发送给所述云AC。
[0011 ] 所述云AC接收到所述AP上报的通过Portal认证的STA的MAC地址后,需要将该STA的MAC地址,结合有效时间形成漫游记录,默认的有效时间是一天,并将漫游记录新增到所述云AC漫游表。
[0012]所述漫游记录由STAMAC、有效期构成,所述漫游表以哈希表的方式缓存于云AC内存中,便于快速查询;所述漫游表需要持久化保存,可以通过关系型数据库或者是非关系型数据库的方式进行保存,当所述云AC每次启动时,需要从数据库中加载保存的漫游表到内存中进行缓存;所述云AC定期扫描漫游表,移除失效的漫游记录。
[0013]所述AP定期探测附近的STA,记录所探测到的全部STA信号信息,所述STA信号信息包括该AP设备编号、STA MAC、STA信号强度,并通过报文将所述全部STA信号信息发送给所述云AC;
所述云AC在内存中维护所述全部STA信号信息,形成STA信号信息表,以链表和哈希表的方式在内存中进行缓存;
所述云AC接收到所述AP上报的STA信号信息之后,需要更新内存中缓存的STA信号信息表。
[0014]所述AP需要通过报文向所述云AC定期发送接入该AP的全部STA在线信息,所述STA在线信息包括该AP设备编号、STA MAC0
[0015]所述云AC在内存中维护所述全部STA在线信息,形成STA在线信息表,以哈希表的方式在内存中进行缓存;
所述云AC接收到所述AP上报的STA在线信息之后,需要更新内存中缓存的STA在线信息表。
[0016]所述云AC通过如下方法对STA漫游进行控制,所述方法包括: 步骤1:所述云AC定期检查所缓存的STA在线信息表,从缓存表中获取一条STA在线记录,得到所选择的STA的MAC地址及其对应的AP设备编号;
步骤2:根据步骤I选择的STA的MAC地址,所述云AC从所缓存的STA信号信息表中查找该STA的MAC地址关联的全部AP设备及STA信号强度信息;
步骤3:根据步骤2获取的全部AP设备及STA信号强度信息,找出STA信号强度最大值所对应的AP设备编号;
步骤4:根据步骤I获取的AP设备编号及步骤3获取的AP设备编号,判断这两步所获取的AP设备编号是否相同;
步骤5:根据步骤4,如果相同,则不做处理;
步骤6:根据步骤4,如果不相同,则所述云AC通知步骤I获取的AP断开与该STA的连接。
[0017]步骤7:所述AP断开了所述STA的连接之后,所述STA会优先选择STA信号强度最大的AP进行连接,这样就实现了所述STA到信号最佳的AP连接。
[0018]所述STA在所述AP之间的切换可以跨越多个网段,不限制于同网段,漫游由所述云AC进行控制实现。
[0019]由以上技术方案可以看出,本发明中,通过部署云AC实现STA漫游,与传统的硬件AC实现漫游方式相比,成本更低,且支持跨域,易于部署维护,更加适用于多种无线网络应用场景;通过云AC也能有效的对AP、STA进行管理,简化配置,实现智能负载均衡,具有更好的扩展性。
【附图说明】
[0020]图1为本发明实施例提供的网络拓扑结构示意图;
图2为本发明实施例提供的通信协议报文结构示意图;
图3为本发明实施例提供的一种通过云AC实现STA跨域漫游流程示意图;
图4为本发明实施例提供的云AC漫游表更新流程示意图;
图5为本发明实施例提供的云AC漫游控制流程示意图;
图6为本发明实施例提供的云AC结构示意图。
【具体实施方式】
[0021]为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0022]针对目前无线网络通过硬件AC实现STA漫游存在的成本偏高、应用范围小的问题,本发明实施例提供一种通过云AC实现STA跨域漫游的方法,该方法应用于包括云AC、AP和STA的无线网络中,各个AP通过私有协议与云AC建立TCP长连接,STA接入AP之后,所述AP需要将所述STA的MAC地址发送给云AC进行漫游认证;所述云AC维护漫游表,并对漫游进行控制。
[0023]参见图1,图1为本发明实施例提供的网络拓扑结构示意图,如图1所示,云AC部署于可以通过公网访问的云服务器,提供通信服务,接受AP连接;AP与云AC之间不再受限于同一个局域网内,AP可以跨地域、跨网段分布,可以通过固定网络如有线网络,移动网络如3G、4G等方式连接到云AC,建立TCP长连接,按定义好的私有协议进行交互;各种支持WiFi功能的无线终端STA如手机,平板等连接到所述AP之后,通过云AC对STA连接AP进行接入认证,STA完成首次认证之后,云AC会保存该STA漫游信息,后续该STA在有效时间内可以在所述AP之间漫游,无需再次认证便可接入互联网。
[0024]本发明使用的私有协议参见图2,图2为本发明实施例提供的通信协议报文结构示意图,如图2所示,协议报文格式为二进制,包括:包长、包类型、包标识符、时间戳、数据长度、数据及校验和;
包长描述整个数据报文长度;
包类型描述报文的类型;
包标识符描述报文唯一属性,用一个整形表示,针对同一条TCP链路,该标识符从I开始一直自增,到整形可以表示的最大值之后再归I;
时间戳描述报文发送的时间,UNIX时间戳,是从1970年I月I日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒;
数据长度描述报文载荷(Payload)长度;
数据描述具体的报文载荷实际内容;
校验和是对报文除自身外的全部字段进行CRC16运算得到的结果,用于接收方校验报文正确与否,是否被篡改过。
[0025]为便于理解本发明所描述的方法,下面对本发明实施例提供的流程进行详细描述:
参见图3,图3为本发明实施例提供的流程示意图,如图3所示,该流程主要包括如下步骤:
步骤301,云AC启动服务,监听指定的TCP端口 ;
具体的,该TCP端口可以保存在配置文件中,云AC服务程序支持跨平台(如Linux和Windows),服务启动时读取配置文件,读取数据库加载已持久化保存的漫游表到内存中。
[0026]步骤302,AP上电启动,与云AC建立TCP长连接;
具体的,AP固件程序从配置文件读取云AC信息(如云AC域名、IP地址,监听端口),通过Socket与云AC建立TCP长连接;
AP按照本发明定义的私有协议向云AC发送注册报文,向云AC上报该AP信息,包括AP分组、AP设备编号、AP MAC地址、AP IP地址;
AP需要按照本发明定义的私有协议定期向云AC发送心跳报文,用于检测AP与云AC的通信链路是否正常,当云AC在周期内检测到AP连续3个心跳包没有发送时,则主动断开与该AP的通信链路。
[0027]步骤303,STA连接到AP,AP向云AC请求对STA进行漫游认证;
具体的,AP收到无线终端STA的接入请求时,将该STA的MAC地址按本发明定义的私有协议封装形成漫游认证请求报文,发送给云AC。
[0028]步骤304、步骤305,云AC查询漫游表,判断指定STA是否可漫游;
具体的,云AC收到所述AP发送的漫游认证请求报文之后,经过解析得到封装的STA MAC地址,查询漫游表,判断该STA MAC地址在漫游表中是否存在,并将漫游认证判断结果响应给所述AP。
[0029]步骤306,AP收到漫游认证响应结果为可以漫游,则该AP对相应的STA认证请求通过,允许该STA接入无线网络。
[0030]步骤307,AP收到漫游认证响应结果为不可以漫游,则该AP引导相应的STA到指定的Porta I认证。
[0031]步骤308,云AC处理漫游表更新逻辑,具体参见图4。
[0032 ] 步骤309,云AC处理漫游控制逻辑,具体参见图5。
[0033]云AC处理漫游表更新逻辑参见图4,图4为本发明实施例提供的云AC漫游表更新流程示意图,如图4所示,该流程主要包括如下步骤:
步骤401,云AC启动服务,从数据库加载全部已认证漫游记录到内存,形成漫游表,以哈希表的方式保存;
具体的,所述数据库可以是关系型数据库或者是非关系型数据库,如关系型数据库MySql、Sql Server,非关系型数据库Sqlite、Redis;漫游表记录由STA MAC、有效期构成;哈希表由Key-Value键值对集合构成,Key代表STA MAC,Value代表有效期。
[0034]步骤402,STA通过Portal认证接入网络,其所连接AP需要将该STA MAC发送给云AC,云AC将该STA MAC结合有效期形成漫游记录,并新增到漫游表。
[0035]步骤403,云AC定期扫描漫游表,移除失效的漫游记录;
具体的,云AC遍历缓存在内存中的哈希表(即保存的漫游表),针对每一条漫游记录,获取Key(STA MAC)和Value(有效期),如果该记录的有效期超过当前时间,则从哈希表中移除该漫游记录,完成漫游表的更新。
[0036]步骤404,漫游表持久化保存到数据库;
具体的,云AC检测到缓存的漫游表有更新之后,需要将最新的漫游表持久化保存到数据库,以使缓存和数据库中的漫游表保持一致。
[0037]云AC处理漫游控制逻辑参见图5,图5为本发明实施例提供的云AC漫游控制流程示意图,如图5所示,该流程主要包括如下步骤:
步骤501,各个AP定期将当前接入的所有STA在线信息发送给云AC,形成STA在线信息表;
具体的,所有连接到云AC的AP需要定期将当前接入的全部STA在线信息通过私有协议发送给云AC,STA在线信息包括该AP设备编号、STA MAC,云AC在内存维护所有STA在线信息,形成STA在线信息表,以哈希表的方式保存,其中,哈希Key代表STA MAC,哈希Value代表AP设备编号。
[0038]步骤502,各个AP定期将探测到的附近所有STA信号信息发送给云AC,形成STA信号信息表;
具体的,各个AP通过接收STA广播的Probe帧或Beacon帧来定期探测附近所有STA信号信息,并通过私有协议发送给云AC,STA信号信息包括该AP设备编号、STA MAC、STA信号强度,云AC在内存维护所有STA信号信息,形成STA信号信息表,以哈希表的方式保存,其中,哈希Key代表STA MAC,哈希Value代表一个链表,该链表由一系列对象构成,每个对象由AP设备编号、STA信号强度组成。
[0039]步骤503,云AC定期检查步骤501所形成的STA在线信息表,从表中获取一条STA在线信息记录,得到所选择的STA MAC及其对应的AP设备编号,记为AP1SN。
[0040]步骤504,根据步骤503所选择STA MAC,云AC从步骤502所形成的STA信号信息表查找该STA MAC所关联的链表,即AP设备编号及STA信号强度信息集合。
[0041 ]步骤505,根据步骤504获取的AP设备编号及STA信号强度信息集合,找出STA信号强度最大值所对应的AP设备编号,记为AP2SN。
[0042]步骤506,判断步骤503获取的APlSN与步骤505获取的AP2SN是否相同。
[0043]步骤507,如果步骤506返回的结果是相同,则不做处理。
[0044]步骤508,如果步骤506返回的结果是不相同,则云AC通知APl断开与该STA的连接,该STA会优先选择STA信号强度最大的AP进行连接(如AP2),完成漫游控制。
[0045]至此,完成本发明的方法描述,下面对本发明提供的云AC结构进行描述:
参见图6,图6为本发明实施例提供的云AC结构示意图,如图6所示,该云AC具体包括:
通信模块601,通过监听指定的端口,提供网络通信服务,接受AP连接,通过私有协议和
AP进行数据的接收和发送。
[0046]认证模块602,对STA漫游请求进行认证,通过在漫游表中查询AP上报的STA MAC,确定是否对STA漫游请求放行。
[0047]控制模块603,用于云AC内部对漫游表更新以及漫游控制逻辑进行处理,以优化STA漫游性能。
[0048]数据模块604,用于云AC内部对漫游表、STA在线信息表、STA信号信息表进行缓存及持久化逻辑进行处理。
[0049]以上所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例,本发明并非局限于此。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均应包含在本发明保护的范围之内。
【主权项】
1.一种通过云AC实现STA跨域漫游的方法,其特征在于,所述方法包括: AP上电启动之后通过其WAN口向云AC发起TCP连接请求,所述AP使用私有协议与所述云AC通过TCP长连接保持通信; STA连接所述AP进行接入网络请求时,所述AP向所述云AC发起漫游认证请求,所述云AC通过查询漫游表响应对所述STA接入网络请求认证结果; 所述云AC定期更新漫游表及通过漫游控制对所述STA漫游流程进行优化; 所述AP可以跨域分布,不限制于局域网; 所述STA通过云AC控制可以实现跨域漫游。2.根据权利要求1所述的方法,其特征在于,所述AP需要向所述云AC发送注册报文,上报所述AP信息; 所述AP信息包括AP分组信息、AP设备编号、AP MAC地址、AP IP地址; 所述AP定时向所述云AC发送心跳报文,用以检测通信链路是否正常。3.根据权利要求1所述的方法,其特征在于,所述私有协议报文格式为二进制,至少包括:包长、包类型、包标识符、时间戳、数据长度、数据及校验和; 包长描述整个数据报文长度;包类型描述报文的类型;包标识符描述报文唯一属性;时间戳描述报文发送的时间,UNIX时间戳;数据长度描述报文载荷(Payload)长度;数据描述具体的报文载荷实际内容;校验和是对报文除自身外的全部字段进行CRC16运算得到的结果O4.根据权利要求1和要求3所述的方法,其特征在于,所述方法还包括: STA连接所述AP之后,所述AP需要向所述云AC发送报文请求进行漫游认证,该报文包含所述STA的MAC地址; 所述云AC接收到所述AP的漫游认证请求数据报文之后,经过解析得到所述STA的MAC地址,通过查询缓存的漫游表判断该STA的MAC地址是否已认证,从而判断该STA是否可漫游,并将结果通过报文响应给所述AP。5.根据权利要求4所述的方法,其特征在于,所述云AC响应给所述AP针对所述STA的漫游认证结果,如果为可漫游,则所述AP对所述STA接入网络请求放行,允许所述STA接入网络。6.根据权利要求4所述的方法,其特征在于,所述云AC响应给所述AP针对所述STA的漫游认证结果,如果为不可漫游,则所述AP对所述STA需要进行Portal认证,如果Portal认证通过,则所述STA可以接入网络,同时,所述AP需要将所述STA的MAC地址通过报文发送给所述 75: AC。7.根据权利要求6所述的方法,其特征在于,所述云AC接收到所述AP上报的通过Portal认证的STA的MAC地址后,需要将该STA的MAC地址,结合有效时间形成漫游记录,默认的有效时间是一天,并将漫游记录新增到所述云AC漫游表。8.根据权利要求7所述的方法,其特征在于,所述漫游记录由STAMAC、有效期构成,以哈希表的方式缓存于云AC内存中,便于快速查询; 所述漫游表需要持久化保存,可以通过关系型数据库或者是非关系型数据库的方式进行保存,当所述云AC每次启动时,从数据库中加载保存的漫游表到内存中进行缓存;所述云AC定期扫描所述漫游表,移除失效的漫游记录。9.根据权利要求1和要求3所述的方法,其特征在于,所述方法还包括: 所述AP定期探测附近的STA,记录所探测到的全部STA信号信息,所述STA信号信息包括该AP设备编号、STA MAC、STA信号强度,并通过报文将所述全部STA信号信息发送给所述云AC; 所述云AC在内存中维护所述全部STA信号信息,形成STA信号信息表,通过哈希表的方式在内存中进行缓存; 所述云AC接收到所述AP上报的STA信号信息之后,需要更新内存中缓存的STA信号信息表。10.根据权利要求1至5所述的方法,其特征在于,所述方法还包括: 所述STA连接所述AP成功通过漫游认证接入网络之后,所述AP需要通过报文向所述云AC定期发送接入该AP的全部STA在线信息,所述STA在线信息包括AP设备编号、STA MAC;所述云AC在内存中维护所述全部STA在线信息,,形成STA在线信息表,通过哈希表的方式在内存中进行缓存; 所述云AC接收到所述AP上报的STA在线信息之后,需要更新内存中缓存的STA在线信息表。11.根据权利要求9和要求10所述的方法,其特征在于,所述方法还包括: 步骤1:所述云AC定期检查所缓存的STA在线信息表,从缓存中获取一条STA在线记录,得到所选择的STA的MAC地址及其对应的AP设备编号; 步骤2:根据步骤I选择的STA的MAC地址,所述云AC从所缓存的STA信号信息表中查找该STA的MAC地址关联的全部AP设备编号及STA信号强度信息; 步骤3:根据步骤2获取的全部AP设备编号及STA信号强度信息,找出STA信号强度最大值所对应的AP设备编号; 步骤4:根据步骤I获取的AP设备编号及步骤3获取的AP设备编号,判断这两步所获取的AP设备编号是否相同; 步骤5:根据步骤4,如果相同,则不做处理; 步骤6:根据步骤4,如果不相同,则所述云AC通知步骤I获取的AP断开与该STA的连接。12.根据权利要求11所述的方法,其特征在于,所述AP断开了所述STA的连接之后,所述STA会优先选择STA信号强度最大的AP进行连接,这样就实现了所述STA到信号最佳的AP连接。13.根据权利要求1至12所述的方法,其特征在于,所述STA在所述AP之间的切换可以跨越多个网段,不限制于同网段,漫游由所述云AC进行控制实现。
【文档编号】H04W36/18GK105848131SQ201610299915
【公开日】2016年8月10日
【申请日】2016年5月9日
【发明人】唐仕斌, 陈淑武, 张秋水
【申请人】厦门四信通信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1