微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 无线局域网中RADIUS协议的分析和设计

无线局域网中RADIUS协议的分析和设计

时间:10-22 来源:互联网 点击:

据库中的用户配置信息放在“接入接受”(Access-Accept)包中返回给NAS,后者会根据包中的配置信息限定用户的具体网络访问能力。包括服务类型:SLIP、PPP、Login User、Rlogin、Framed、Callback等等。还包括与服务类型相关的配置信息:IP地址、时间限制等等。

(6)在所有的验证、授权完成后,局域网交换机的控制端口被打开。用户可以通过交换机进入网络。同时,NAS向RADIUS服务器发送 “计费请求开始”包(Accounting-Request Start),通知RADIUS服务器开始计费。当用户下网时,NAS向RADIUS服务器发送“计费请求结束”包(Accounting-Request Stop),RADIUS服务器根据计费包的信息计算用户使用网络的费用。WLAN模型中RADIUS认证系统的设计与实现#e#

3 WLAN模型中RADIUS认证系统的设计与实现

3.1 WLAN网络模型的简化

在实验室的模拟环境下,由于网络用户少,可以采用中、小型的数据库来存放所需信息,并可以将RADIUS服务器与数据库在同一主机上实现。局域网交换机可以实现端口控制功能。网络结构可简化如下:

  图2 实验室环境下WLAN网络模型

3.2 NAS设计

(1)RADIUS客户端处理程序:负责接收申请者的信息;向RADIUS服务器提交认证、计费、管理等数据包;向申请者返回相应结果。

(2)服务器管理程序:为了方便网络管理员对RADIUS服务器和数据库的管理,在NAS主机上,还可以运行服务器管理程序,管理程序的功能应该包括有:管理员模块(添加、删除网络管理员,设置管理员权限等);用户信息模块(实现用户的查询、添加、删除等操作);计费信息模块(查询用户的计费信息,创建、修改、删除各种不同的计费方式,);日志信息模块等。

(3)用户信息的提交:用户需要向NAS提交用户信息,有多种方法可以实现,最简单的方法是采用Web方式提交。在NAS上建立一个Web服务器,这样,用户可以直接使用浏览器来和NAS交互,Web服务器接受到用户提交的信息后,把这些信息传给RADIUS的客户端处理程序。后者把这些信息封装成RADIUS的接入请求(Access-Request)包格式,通过认证端口(1812)向RADIUS服务器提出认证请求。

(4)计费信息的提交:认证通过之后,NAS客户端程序通过认证端口(1812)向RADIUS服务器发送包含有用户名、用户IP、上网起始时间等信息的“计费请求开始”包(Accounting-Request Start),通知RADIUS服务器开始计费。RADIUS服务器在数据库中纪录下相应项,并返回“计费响应”包(Accounting-Response)。当用户下网时,NAS向RADIUS服务器发送包含有结束时间、数据流量等信息的“计费请求结束”包(Accounting-Request Stop)。后者返回“计费响应”包(Accounting-Response)确认。

(5)服务器管理程序的提交:也通过RADIUS客户端处理程序来向RADIUS服务器提交。客户端处理程序将管理程序的请求包装成标准的RADIUS包格式,并通过为服务器管理程序定义一个端口号提交给RADIUS服务器。

3.3 RADIUS服务器设计

RADIUS服务器处理来自NAS的各项数据和实现对数据库的操作,并返回相应的结果。RADIUS客户端和服务器端的协议通信采用Socket编程来实现。

(1)对数据库的操作:RADIUS服务器通过数据库接口与数据库建立起连接。在RADIUS服务器中用SQL语句实现所需的数据库操作模块(如:用户、计费、管理员等信息的查询、添加、修改等操作),当RADIUS服务器需要对数据库操作时,就调用相应的模块。

(2)认证包处理:通过*认证端口(1812),来监测NAS提交的认证数据包,收到认证包后,查询数据库验证用户,并把结果以RADIUS数据包格式从1812端口返回。对于多个用户申请并发的情况,使用多线程方式处理。

(3)计费包的处理:当用户的认证通过时,查询该用户计费信息。确定其计费类型、费率等。当*到NAS在计费端口(1813)提交计费包后,就向数据库中添加“计费请求开始”包中所提交的计费信息(包括用户名、上网起始时间等)。在收到用户下网的“计费请求结束”后,根据包中提交的用户结束时间、数据流量等信息,计算用户的上网时长和数据流量,并根据用户计费类型来计算出用户本次上网费用,记录入数据库。

(4)服务器管理程序请求的处理:*管理程序请求的端口(自定义),收到后解包并执行相应的处理函数。

3.4 数据库的设计

用于保存所有的用户信息、计费信息等。数据库中包含的表项至少应包括以下几类:

(1) 用户信息:包括用户名、口令、认证方式、访问权限、付费方式等。

(2) 授权信

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top