SIP计费产品的Radius计费解决方案

一、AAA概念

很多用户的网络环境,基于网络系统安全的考虑,需要控制网络的接入。这里所指的网络接入控制,是指在网络的物理层(实际是数据链路层)对终端电脑的接入进行控制,而不是在IP层的接入控制。

终端电脑接入网络,在能够进行IP通信之前,就必须首先通过用户身份验证,否则无法正常接入网络,无论是DHCP自动获取获取IP,还是手工设置IP地址,都无法和同一个局域网络内的其它电脑进行通信。终端电脑的以太网数据包,完全无法发送出去,不能在网络内进行传递。只有在终端电脑通过合法的身份验证后,网络才能为其提供数据链路通信通道,才能进行正常的IP通信。

有的网络,在接入用户身份验证通过后,还附加对该接入电脑进行使用情况的统计,记录该用户每次使用网络的时间和流量,记录使用的IP地址,记录终端电脑的MAC地址,等等信息,这就是记帐,就可以达到计费的需求。

AAA,就是指Authentication(验证)、Authorization(授权)、Accounting(记帐),验证是其中的核心功能。需要接入网络的电脑,称为接入终端。提供接入的交换机或者无线路由器,称为网络接入设备(NAS)。用户身份由接入终端提供,接入设备(NAS)对用户身份进行验证,通过后,NAS授权接入电脑访问相关的网络资源,记帐也由NAS来完成。AAA功能就通过这样的方式实现。

例如,终端电脑通过网线接到一台交换机,使用该交换机来进行通信。电脑就是接入终端,交换机就是NAS。这里的交换机,必须是支持AAA功能的交换机,一般指交换机支持802.1x标准。电脑要能够使用交换机进行通信,必须通过身份验证,交换机才为其打开连接的端口。不能通过身份验证,则连接的端口是关闭的,完全无法使用交换机,相当于交换机拒绝电脑接入。

对于无线通信的情况,无线笔记本电脑,接入一个无线热点(AP或路由器)。无线AP或路由器,也是一个NAS。这种无线AP或路由器,也称为其支持802.1x标准。

利用AAA功能,企业可以对企业内部网络的使用,进行严格的控制。非法人员,即使能够物理接触到企业内部网,也无法接入网络,可以达到保护企业内部系统和数据的需求。但其中Authorization(授权)是高级功能,需要NAS设备支持,才能对接入用户进行授权处理,一般的NAS都不支持部分授权。一旦接入,即可访问全部网络资源。学校、政府部门、科研单位等,也可以利用AAA功能,达到类似的需求。

二、Radius概念

    交换机(NAS)对接入电脑进行验证和记帐,交换机必然需要先知道哪些用户身份(例如帐号和密码)是合法的,这样才能进行有效的验证。记帐的数据,需要保存,保存到哪里?这就是需要通过Radius协议才能完成的功能。

    简单地说,交换机本身并不知道哪些用户身份是合法的,哪些是非法的。完成认证的过程是,交换机把接入终端电脑提供的用户身份信息传递到另外一台服务器上的一个应用系统。该应用系统把传递过来的用户信息取出,再查询数据库中数据,进行验证比较。验证合法,应用系统向交换机发送一个消息,通知交换机该用户身份验证通过,交换机再向电脑发送通过通知。如果没有通过,应用系统则向交换机发送一个失败消息,通知交换机该用户身份验证未获通过,交换机再向电脑发送失败通知。

    交换机和该服务器之间的数据传递必须遵循一个标准格式,称为Radius协议。该服务器就称为Radius服务器。服务器的这个应用称为Radius服务,也有把这个应用称为Radius服务器,这个是软件意义上上的服务器。Radius协议通信基于IP通信实现。交换机和服务器都必须具有独立的IP地址,并保证IP通信畅通,才能进行正常的Radius通信。如图一所示。

图一  Radius工作过程示意图

    计费功能,也是通过Radius协议来完成。一台接入电脑退出接入,不再使用网络。交换机立即产生一条记帐信息(包含本次接入持续时间、流量等数据),发送到Radius服务器。Radius服务器接收到此记帐信息,才把每一次接入的记帐信息保存到数据库,才最终生成计费数据。

网络拓扑结构

系统网络拓扑结构结构如图二所示。

图二

这里使用的交换机,必须是支持802.1x标准的交换机。每一个端口的接入,都必须通过Radius用户身份验证,才能打开端口。用户电脑一关机,或者拨掉网线,即关闭端口。再次连接交换机,就必须再次进行身份验证。

支持802.1x的交换机,虽然支持Radius认证,但不一定同时支持Radius计费。如果需要实现计费功能,必须交换机同时支持Radius记帐功能。

无线接入,也是同样的道理。无线AP或者无线路由器,也必须支持802.1x标准。如果需要计费,也必须同时支持Radius记帐功能。

这里的交换机、无线路由器等NAS设备,每一台硬件,都必须配置一个独立的IP地址,以保证和Radius服务器的正常IP通信。NAS设备的IP地址,和Radius服务器的IP地址,可以是不同的网段,中间可以通过三层交换机相连。

使用一台专门的电脑或服务器,运行SIP上网计费系统的Radius服务模块,充当Radius服务器的角色,和交换机、无线路由器等NAS设备交互,完成Radius认证和计费的所有管理功能。

Radius服务器,不需要象其它网关计费设备一样放置在通信通道的中间,只需要旁路接入。既可连到总交换机上,也可连接到其它分交换机上。只要保证和每一台NAS设备的IP通信畅通,即可。客户电脑只要通过Radius认证,建立起通信连接,Radius服务器就完全不影响客户机的通信。

在Radius服务器上安装运行SIP计费系统,真正进行Radius计费管理的功能运行。SIP上网计费系统的Radius版本,分为SIP监视计费器(Radius服务程序)、计费管理系统、客户WEB服务、DHCP服务等几个部分。另外使用一个数据库来存储产生的Radius计费数据。

四、计费软件系统

计费软件系统由两部分构成。一是Radius版本的SIP监视计费软件,负责在真正进行Radius通信的处理,真正完成和NAS设备的Radius通信交互。二是用户注册、管理、清单查询、清单打印、统计、结帐等计费管理应用系统,属于上层应用。两者互相配合,才能完成整个计费功能。

1、 SIP监视计费器软件

SIP监视计费器软件是一个通用的Radius服务通信产品,类似于Radius服务器硬件设备,是整个SIP计费系统的核心程序。该软件可适用于学校、政府部门、企事业单位等多种客户,实现AAA认证和Radius计费的功能。根据不同的管理情况,可以和不同的上层管理应用系统相配合,共同完成每一种具体的计费管理业务功能。

SIP计费产品的Radius服务,支持常用的四种AAA身份认证方式:PAP、CHAP、挑战/响应、EAP-MD5。Radius服务完全遵循Radius认证和记帐协议标准,可以和cisco、3com、华为-3com、Dlink、TP-LINK等主流交换机和无线路由器的802.1x功能相匹配。

SIP监视计费器软件集成有防火墙模块,最大限度保护Radius服务器的安全,使服务器免受其它电脑的病毒传播和攻击,保障服务器的长时间不间断稳定运行。

2、 计费管理软件系统

计费管理系统的功能,是完成用户注册、修改密码、注销用户、上网清单查询、上网清单打印、结帐、统计等常用功能.

SIP计费管理系统,完全B/S结构,使用简单方便,可以满足绝大多数Radius计费的需求。并且开放源代码,还可根据用户需求灵活定制修改。

根据管理业务的不同,SIP计费管理系统提供SIP宽带上网计费管理系统和SIP企业员工上网管理系统,这两种不同管理系统,供用户根据需要选择。因为一般的接入都用于上网,所以称为上网管理系统。但是也适用于接入控制管理的情况。

计费管理系统还提供WEB方式的客户服务功能,可供客户随时修改其密码、查询接入使用清单等,为客户提供必要的服务。

3、 计费系统所需其它软件

整套计费软件系统都运行在WIN2000服务器操作系统、WindowsXP专业版操作系统、WIN2003服务器操作系统上。

除操作系统外,另外只需要一套数据库软件,如MS SQL Server、ORACEL、SYBASE、DB2等,均可使用。也可使用MySQL等开源数据库。

SIP计费管理系统,是WEB方式运行的一套管理系统,全部是ASP页面编写,可运行在任何支持ASP的WWW服务器上。在任何一台电脑上,不需要安装其它客户端软件,使用浏览器即可访问运行所需的管理功能。

SIP监视计费器是完全独立的应用程序,包括核心通信处理,都是我们自己开发,不需要其它第三方软件产品。

可以看出,整个系统,只需要Windows操作系统,外加一套数据库软件,就可运行全套软件系统,为客户提供上网服务,进行计费管理。所以,整体软件成本很低。

五、客户机接入

    由于现在市场上销售的交换机,并不完全遵循802.1x标准。不同厂商的交换机,都需要使用厂商专门配备的802.1x客户端软件,才能实现交换机上的802.1x接入验证。不能互相通用。所以,每一种交换机,都需要在客户电脑上安装其802.1x客户端软件。这样也意味着,同一个单位的网络,最好是全部使用同一个厂商的交换机,以免给使用者带来不同厂商客户端混淆的麻烦。

    对于无线接入的情况,每一家厂商的无线AP和无线路由器,则要标准得多。都支持windows本身的无线网卡的802.1x用户身份验证功能,不再需要专门的无线客户端软件。


SIP计费产品的Radius计费解决方案