APP下载

一种基于校园无线网络和认证系统的用户定位方案设计

2020-06-29刘宁李祥璞夏凌云

微型电脑应用 2020年6期

刘宁 李祥璞 夏凌云

摘 要:对基于校园无线网络所实现的服务系统设计方案进行说明,介绍了LBS服务在国内外的研究现状,并从校园无线网络架构,SNMP网络协议,系统开发框架等方面对移动应用系统的开发原理及背景进行介绍,对无线定位系统实现的流程進行了详细阐述。系统最终实现了对校园WLAN用户的无线定位,提供了位置查询RESTful API供外部调用、并可进行AC设备管理、AP设备管理、用户管理以及日志文件生成与保存等功能。

关键词: 无线定位; 无线控制器; LBS服务

中图分类号: TP 311

文献标志码: A

Abstract: This paper explains the design of service system based on campus wireless network. Itfirstly introduces the research status of LBS services at home and abroad, and then introduces the development principle and background of mobile application system from the campus wireless network architecture, SNMP network protocol, system development framework. It then implements the wireless positioning system. The system finally realizes wireless positioning for campus WLAN users, provides location query RESTful API for external calls. The system can perform AC device management, AP device management, user management, and log file generation and saving.

Key words: wireless positioning; access controller; LBS services

引言

随着移动互联网的发展以及移动设备的大规模普及,移动应用层出不穷,大学校园信息化建设也快速发展,很多学校都推出了本校的移动应用,微信公众平台等。随着WLAN等技术的应用与普及,定位技术不断发展,定位效果也得到了显著提升,伴随于此,基于位置的移动应用服务开发得到了广泛关注。

目前,国外LBS服务主要应用于校园地图定位领域。2006年,Maine大学便和Rave公司合作,向大学提供了基于PDA的导航服务。国内高校中,北京师范大学研究了智能教室、校园导航和智能图书馆等相关技术。北京大学则建设了基于室内外定位的校园LBS平台—LBS-p。

一般来说,主流厂商的无线认证系统和无线控制器(AC,Access Controller)会提供的相应的Web Service和SNMP接口,通过这些接口,第三方程序可以获得接入用户的身份ID、MAC地址、所属AP信息,以及相应用户在对应AP上的RSSI信息,通过综合利用这些信息,第三方系统可以对用户的所在位置做出较为准确的定位。

1 相关技术及系统介绍

1.1 校园无线网络架构

本研究中,中国石油大学(华东)已建成采用“扁平化”、“大二层”的网络架构,相比于传统的3层网络架构(核心层、汇聚层、接入层),去掉了核心层到汇聚层的逻辑结构,接入设备不再需要维护复杂的网络协议,层次更加清晰,易于管理、维护及拓展。

在2011年之前,学校便进行了教学区和室外的无线覆盖,并于2015年初,再次启动无线网络改造计划,截至目前,已实现在教学区,生活区的基本无线覆盖。这为我们开发实现基于Wi-Fi的定位服务系统提供了可能。

无线网络架构采用了基于二层网络连接模式的瘦AP组网方式,瘦AP与无线控制器处于同一个二层网络域中,瘦AP与无线控制器之间通过网络中的二层交换机互联[2],如图1所示。

在瘦AP组网方式中,AP不再承载安全管理、漫游、认证等复杂的业务功能,而统一由无线控制器来承担复杂的功能,为无线网提供统一的管理接口,瘦AP通过隧道技术与无线控制器进行通信,可实现对无线网的统一管理。使用瘦AP组网方式还使得无线网络的扩展变得更加方便快捷,通过瘦AP堆叠技术,可实现快速组网。

SAM+是一套基于标准的RADIUS协议开发的认证计费系统,融合了802.1X、WEB、PPPoE、IPoE、远程VPN等接入认证方式[2]。

我校采用基于CAS的校园统一身份认证,用户通过一套账号密码可以访问校内的大多数资源。校内网络认证采用的也是统一的身份认证,这为系统通过用户的账户获知到用户的身份信息提供了可能。校园用户连接到校园网后,会通过一套基于RADIUS协议开发的认证计费管理系统SAM+进行身份认证,SAM+支持基于802.1X和Web的无感知认证,用户一次认证之后,后续免认证,使用该系统所提供的WebService,可以通过学工号读取目标用户校园网的在线状态,为后续定位提供必要的数据。在本次设计的系统中,我们通过建立用户的账户与其网络在线设备的映射关系,提供基于位置的服务。

1.2 SNMP协议(Simple Network Management Protocol)

简单网络管理协议(SNMP)是一种Internet标准协议,用于收集和组织IP网络上被管理设备的信息,并修改这些信息以改变设备行为[3]。通常支持snmp的设备包括电缆调制解调器、路由器、交换机、服务器、工作站、打印机等等。SNMP是Internet工程任务组(IETF)定义的Internet协议套件的一个组件。它由一组网络管理标准组成,包括应用层协议、数据库模式和一组数据对象。

SNMP网络管理模型采用客户/服务器的组织模式,管理工作站(NMS)充当客户方,而装备了SNMP代理(SNMP Agent)的被管理节点担任服务器方[4]。两者通信主要包括三种方式:

1) GET操作,管理站查询被管理设备的状态信息;

2) SET操作,管理站配置或修改被管理设备的参数;

3) Trap操作,被管理设备主动向管理站发送消息,一般用于告警。

SNMP代理可提供具有唯一标识的键值OID,它是通过一种按照层次化格式组织的、树状结构中的唯一地址来表示的,由于OID非常长,难以记忆,所有SNMP还提供了MIB,可以将数字OID翻译为可读的格式,集合了代理进程所有的可查询和修改的参数与OID的一一映射关系,可通过构造OID查询被管理设备的参数,如MAC地址,IPv4地址、IPv6地址等。

2 定位服务系统实现

2.1 前端实现

前端采用Vue.js框架进行开发。主要实现无线定位的管理,一共分为登录模块、接口测试模块、AC管理模块、AP管理模块、用户管理模块等5个模块,如图2所示。

AP、AC管理模块用于AP、AC设备信息的查询展示,并支持修改、添加及删除操作,用户管理模块用于管理服务应用的用户,支持通过学号等进行用户的查询,并可在线对用户信息进行修改、增加、删除。

接口模块是系统提供的主要功能,可以为应用、设备等提供位置查询服务API。接口采用RESTful风格。REST是一种以资源为中心,任何事物只要具有被引用的必要,它就是一个资源,在REST的世界中,每个资源必须至少有一个统一资源标识符URL。URL既是资源名称,也是资源地址[5]。

接口测试模块作为系统的主要功能,向外提供的接口都是满足REST规范和原则的。通过事先规定的请求方式以及请求参数如使用学工号向RESTful接口发出GET请求,可以获到以json格式返回的该学工号对应的校园网用户位置等。

2.2 后端实现

后端采用SpringMVC实现,分为Sam+模块,定位模块,AC管理模块,用户管理模块等。管理员通过登录页面登录成功后,可通过学工号获取校园网在线用户的位置,在线管理AC设备。通过SNMP协议获取AP信息,可对数据库中的AP及AC进行增删改查操作,如图3所示。

2.2.1 后端关系模型设计

后端关系模型分为两个模块,Mysql数据库模块与Redis数据库模块。

Mysql数据库模块中会建立3个关系模型,分别记录用户、AC以及AP的信息,同时AP与AC通过AC-ID字段建立相关联关系。数据库的概念结构设计及E-R图,如图4所示。

用户(用户名,密码,姓名,手机号,用户类型)

AC(AC-ID,AC名,AC-IP)

AP(AP-ID,AP-MAC,AP名称,AP位置,AC-ID)

数据库中AC的信息在系统第一次启动时通过“SAM+”平台提供的WebService获取,AP的信息则基于SNMP协议通过AC获取。MySQL数据库是为了实现AP、AC的管理功能,同时记录AP-AC之间的对应关系。

Redis数据库模块通过周期性维护AC-AP、MAC-AP关系数据库,实现对后端定位功能的支持。Redis是一种Key-Value类型的内存数据库产品,支持字符串、链表、集合、哈希等多种数据结构,Redis数据库基于内存的特性使其具有优秀的读操作速度,查询速度可达纳秒级[6],可支持系统提供快速高效的位置定位服务,同时,Redis具有持久化特性,它通过将内存中的数据保存到磁盘来持久化,凭借这个特性,系统可以周期性地将内存中保存的AP-MAC对应关系保存到磁盘或日志文件当中。

AC-AP关系模型记录全校AC与在该AC管理下的AP的对应关系,在系统第一次启动时将通过MySQL数据库中的AC、AP表进行初始化,MAC-AP关系模型记录当前全校所有AP与连接到该AP上所有设备的网卡的MAC地址之间的对应关系,主要功能是通过MAC地址快速获取到对应AP的信息如AP-ID等,该数据库信息通过SNMP协议周期性维护,定时刷新,以确保定位服务的准确性。

2.2.2 定位逻辑实现

后端服务核心功能主要包括两部分,通过SAM+的无线状态检测及基于WLAN的定位。

SAM+管理平台通过无线控制器对整个校园网的网络节点进行管理,基于无线交换机+瘦AP的网络架构,可获取校园网用户的在线状态,在线设备MAC地址,内网IPv4地址,IPv6地址等。

校园网用户状态信息分为三类:单设备在线状态;多设备在线状态;③离线状态;当用户状态为离线状态时,则通过SAM+平台获取用户最近一次登录时的状态信息;若用户为单设备在线状态,则返回当前登录状态下的具体信息;若用户为多设备在线状态,则根据服务请求的设备来源,返回相关登录设备具体的状态信息。

SAM+平台提供對外的WebService,系统可通过学工号访问WebService获取在校师生WLAN在线状态[7],在线设备MAC地址,IP地址等。

WLAN定位的物理环境是基于学校校园无线网络,由于AP设备在校园内的密集部署,所以可通过定位用户所使用的AP设备来获知用户的大体位置。通过SAM+,可以获得校园网用户设备的MAC地址及IPv4、IPv6地址,通过MAC地址或IPv4、IPv6地址,查询系统Redis数据库,可快速得到用户设备网卡MAC地址所对应的AP设备信息。然后通过查询后台初始化时所构造的AP表返回对应AP所在的位置,即可获知用户所在的大体位置,效果最好可精确到教室。

在AP设备较稀疏的地方如室外,目前通过两种方案解决:系统采用基于所连接AP及Wi-Fi信号强度相结合的技术来进行定位,将信号强度转换为距离来推测用户所在的位置,达到较好的定位效果。通过位置指纹定位,依据用户设备所处位置的位置指纹信息,查询位置指纹库,根据相应的匹配算法,估计终端所处的位置。因为通过SAM+系统可获得RSSI信息,所以可以通过RSSI实现定位。

2.2.3 周期性生成日志文件

随着互联网技术的不断发展,每天都会产生大量的用户行为数据,在其中潜藏着大量有价值的信息,通过借助大数据技术,可以对这些数据进行实时搜集、统计和分析,从而挖掘用户的有效信息,为师生提供更为优质的服务。所以作为一个完备的系统,需要在后端提供生成并保存日志文件的功能。

日志文件主要記录了某一时刻所有校园网用户的MAC地址与AP的对应关系,日志文件的数据主要从Redis数据库中获得,日志文件的生成是周期性地,每隔一个固定的时间段,对Redis数据库MAC-AP关系模型进行导出操作,获取其中所有的信息,并保存至磁盘当中。

3 总结

基于校园无线和认证系统的定位系统以校园网用户的学工号等信息作为查询条件,并通过获得其在线设备所对应的MAC地址、IPv4地址及IPv6地址,进而基于SNMP协议、最近AP算法、位置指纹算法等实现对用户的精准定位功能,并以简明扼要、可拓展性强的RESTful接口,向其它应用、设备等提供位置查询服务。在下一步的工作中,将会在该系统的基础上设计基于位置服务的应用,为师生提供更好的服务,同时,借助该系统的日志生成功能,得到校园网用户产生的海量数据,使用Hadoop+Flume的方式收集保存下来的日志文件,将数据集成到大数据平台中进行统计、分析,挖掘其中所潜藏的价值。

参考文献

[1] Kolodziej K W, Hjelm J. Local Positioning Systems: LBS Applications and Services[M]. Boca Raton: CRC Press, 2006:101-158.

[2] 王春雁.极致体验,简易运营,锐捷网络推出新一代认证计费管理平台SAM+[J].中国教育信息化,2015(24):86.

[3] 宋鹏. 基于瘦AP组网方式的高校无线校园网的研究与设计[D]. 长沙:湖南大学, 2013.

[4] 谢希仁.计算机网络[M]. (第六版).北京:电子工业出版社,2013.

[5] 潘冰.面向资源的RESTful Web应用研究[J].微计算机应用,2010,31(7):38-43.

[6] 郎泓钰,任永功.基于Redis内存数据库的快速查找算法[J].计算机应用与软件,2016,33(5):40-43.

[7] Stallings W. SNMP and SNMPv2: the infrastructure for network management[J]. IEEE Communications Magazine, 1998, 36(3):37-43.

(收稿日期: 2019.08.10)