下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、无线局域网中rad i us协议原理与实现1引言远程认证拨号用户服务协议(remote authentication dial tn user service, radius) 最初是由livingston公司提出的一个为拨号用户提供认证和计费的协议。后经多次改进, 逐渐成为一项通川的网络认证、计费协议,并定义于trtf提交的rfc2865和rfc2866文件屮。 radius协议以client/server方式工作,客户端为网络接入服务器(nas),它向radius服 务器提交认证、计费等信息,radius服务器处理信息并将结果返回给nas。radius协议的应用范围很广,衣移动、数据、智能
2、网等业务的认证、计费系统屮都有 所应用。无线局域网的802. ix认证框架中,在认证端也建议使用radius协议。本文将论述radius协议的原理,并探讨它在wlan中的应用及实现方案。2 radius 协议2. 1 wlan网络模型实际商用的无线局域网,可以用局域网交换机來实现802. ix认证协议中的端口控制功 能。为保证网络的安全性,在无线局域网的出口和认证端应加上防火墙。radius服务器和 数据库还可以采取主、备结构,以保证网络的健壮性。图1无线局域网网络模型无线局域网的认证端由radtus服务器、网络接入服务器(nas)和数据库纽成。其屮: nas:作为radius服务器的客户端,
3、向radius服务器转交用户的认证信息。并在用户 通过认证之后,向radtus服务器发送计费信息。radius服务器:作为认证系统的中心服务器,它与nas、数据库相连,它接受來自nas 提交的信息,对数据库进行相应的操作,并把处理结果返回给nas。数据库:川于保存所有的川户信息、计费信息和其他信息。用户信息由网络管理员添加 至数据库屮;计费信息來自于radius服务器;其他信息包括口志信息等。2. 2 radius的数据包结构radius是应用层的i办议,在传输层它的报文被封装在udp的报文中,进而封装进tp包。 radius认证使用1812端口,计费使用1813端口。以太网上的radtus封
4、装后的包结构:radius数据包分为5个部分:(1) code:l个字节,用于区分radius包的类型:常用类型有:接入请求(access-request), code二 1;接入应答(access-accept), code=2;接入拒 绝(access- reject), code=3;计费请求(accounting-request), code二4等。(2) identifier:个字节,用于请求和应答包的匹配。(3) length:两个字节,表示 radius 数据区(包括 code, identifier, length, authenticator, attributes)的长度,
5、单位是字节,最小为20,最人为4096。(4) authenticator: 16个字节,用于验证服务器端的应答,另外还用于用户口令的加 密。radius服务器和nas的共厚密钥(shared secret)与请求认证码(request authenticator)和应答认证码(response authenticator),共同支持发、收报文的完整性和 认证。另外,用八密码不能在nas和radius服务器之间用明文传输,而一般使用共享密钥 (shared secret)和认证码(authenticator)通过md5加密算法进彳了加密隐藏。(5) attributes:不定长度,最小可为0个
6、字节,描述radius协议的属性,如用户名、 口令、ip地址等信息都是存放在本数据段。2. 3 radius的认证、计费过程如图1网络模型所示:(1) 申请者登录网络时,nas会有一个客户定义的login提示符要求申请者输入用户 信息(用户名和口令),申请者输入相关的认证信息后,等待认证结果。(2) nas在得到用八信息后,将根据radius的数据包格式,向radius服务器发出“接 入请求” (access-request)包。包中一般包括以下radius属性值:用户名、用户口令、 访问服务器的1d、访问端口的1d。(3) 当radius服务器收到“接入请求”包灰,首先验证nas的共享密码与
7、radius服 务器中预先设定的是否一致,以确认是所属的radius客户端。在查验了包的正确性z后, radius服务器会依据包中的用八名在用户数据库中查询是否有此用八记录。如來用户信息 不符合,就向mas发出“接入拒绝” (access-reject)包。nas在收到拒绝包后,会立即 停止用户连接端口的服务要求,用户被强制退岀。(4) 如果用户信息全部符合,服务器向nas发出“接入质询”包(access-challenge), 对用户的登录请求作进一步的验证。其中包括:用户口令、用户登录访问服务器的ip、用 八登录的物理端口号等。nas收到“接入质询”包后,将消息显示给用戶,要求用户进一步
8、确认登录请求。用户再次确认后,radius服务器将比较两次的请求信息,决定如何响应用 /'(发送 access-accept> access-reject 或再一次的 access-challenge)«(5)当所有的验证条件和握手会话均通过后,radius服务器会将数据库中的用八配置 信息放在“接入接受” (access-accept)包中返回给ms,后者会根据包中的配置信息限 定用户的具体网络访问能力。包括服务类型:slip、ppp、login user、rlogin framed callback等等。述包括与服务类型相关的配置信息:ip地址、时间限制等等。(6)
9、在所有的验证、授权完成后,局域网交换机的控制端口被打开。用户可以通过交 换机进入网络。同时,nas向radius服务器发送“计费请求开始”包(accounting-request start),通知radius服务器开始计费。当用户下网时,nas向radius服务器发送“计费请 求结束”包(accounting- request stop), radius服务器根据计费包的信息计算用户使用 网络的费用。3 wlan模型中radius认证系统的设计与实现3.1 wlan网络模型的简化在实验室的模拟环境下,由于网络用户少,可以采用中、小型的数据库來存放所需信息, 并可以将radius服务器与数据库
10、在同一主机上实现。局域网交换机可以实现端口控制功能。 网络结构可简化如下:局域网交换机熾翳 咖叫进严图2实验室坏境下wlan网络模型3.2 nas设计(1)radius客户端处理程序:负责接收中请者的信息;向radius服务器提交认证、 计费、管理等数据包;向中请者返回相应结果。(2)服务器管理程序:为了方便网络管理员对radius服务器和数据库的管理,在nas 主机上,还可以运行服务器管理程序,管理程序的功能应该包括有:管理员模块(添加、删 除网络管理员,设置管理员权限等);用户信息模块(实现用户的查询、添加、删除等操作); 计费信息模块(查询用户的计费信息,创建、修改、删除各种不同的计费方
11、式,);口志信息 模块等。(3)用户信息的提交:用户需耍向nas提交用户信息,有多种方法可以实现,最简单 的方法是采用web方式提交。在nas上建立一个web服务器,这样,用户可以直接使用浏览 器來和nas交互,web服务器接受到用户提交的信息后,把这些信息传给radius的客户端 处理程序。后者把这些信息封装成radius的接入请求(access-request)包格式,通过认 证端口(1812)向radius服务器提出认证请求。(4)计费信息的提交:认证通过之后,ms客户端程序通过认证端口 (1812)向radius 服务器发送包含有用户名、用户ip、上网起始时间等信息的“计费请求开始”包
12、(accounting-request start),通知radius服务器开始计费。radius服务器在数据库中 纪录卜相应项,并返冋“计费响应”包(accounting- response)。当用户卜网时,nas向 radius服务器发送包含有结束时间、数据流量等信息的“计费请求结束”包(accounting-request stop)。后者返回"计费响应”包(accounting-response)确认。(5) 服务器管理程序的提交:也通过radius客户端处理程序来向radius服务器提交。 客户端处理程序将管理程序的请求纽装成标准的radius 格式,并通过为服务器管理程序
13、 定义一个端口号提交给radius服务器。3.3 radius服务器设计radius服务器处理来自nas的各项数据和实现对数据库的操作,并返回相应的结果。 radius客户端和服务器端的协议通信采用socket编程来实现。(1) 对数据库的操作:radius服务器通过数据库接口与数据库建立起连接。在radius 服务器中用sql语句实现所碍的数据库操作模块(如:用户、计费、管理员等信息的查询、 添加、修改等操作),当radius服务器需要对数据库操作时,就调用相应的模块。(2) 认证包处理:通过*认证端口(1812),来监测nas提交的认证数据包,收到认证 包后,查询数据库验证用户,并把结果以
14、radius数据包格式从1812端口返回。对于多个用 户申请并发的情况,使用多线程方式处理。(3) 计费包的处理:当用户的认证通过时,查询该用户计费信息。确定其计费类型、 费率等。当*到皿$在计费端口(1813)提交计费包后,就向数据库中添加“计费请求开始” 包中所提交的计费信息(包括用户名、上网起始时间等)。在收到用户下网的“计费请求结 束”后,根据包中提交的用八结束时间、数据流量等信息,计算用八的上网时长和数据流量, 并根据用户计费类型来计算出用户本次上网费用,记录入数据库。(4) 服务器管理程序请求的处理:*管理程序请求的端口(口定义),收到后解包并执 行和应的处理函数。3.4数据库的设
15、计用于保存所有的用户信息、计费信息等。数据库中包含的衣项至少应包括以下几类:(1) 用户信息:包括用户名、口令、认证方式、访问权限、付费方式等。(2) 授权信息:服务器返回给用户的授权等配置信息,如服务类型,会话时间等。(3) 计费信息:存放与计费有关的各种统计信息。女ii:上网时间、计费费率、用户 的历次上网的数据流量和费用、用户帐户余额等。(4) 管理员信息:网络管理员的id号和口令、管理员的权限。(5) nas信息:radius服务器所属的各nas纪录。包括各nas的id号、与radius服务器的共享密码等。(6) 日志信息:保存用户上网的历史记录、网络管理员的登录及操作纪录。3. 5认
16、证端各部分的实现:操作系统:radius服务器和nas均釆用linux (red hat 9. 0,内核linux-2. 4. 20-8)作 为操作系统。(1) nas:用apache和tomcat构建一个支持jsp的web服务器,这样巾请者以通过web页面来 提交登录信息。服务器管理程序主要是处理系统管理员的信息,用qt3.0完成用户界面。 radius客户端程序(c语言实现)将用户或系统管理员提交的消息封装成radius包,并通 过相应的端口转发给radius服务器。(2) 数据库:采用mysql数据库来实现,mysql是一个多用户、多线程sql数据库服务器。它由一个 服务器守护程序mys
17、qld和很多不同的客八程序和库组成。red hat 9. 0中口带有mysql服务, 将服务启动即可。我们町以将radius服务器与sql数据库相连,建立用八数据库和计费数 据库,对用户信息和计费信息进行有效的管理。(3) radius 服务器:采用freeradius-o. 9. 0来搭建radius服务器,实现radius协议,并使用radius服务 器的eap-identity认证方式(即:radius服务器对中请者的用户名和口令进行认证)。 freeradius的代码是开源的,川以在v. freeradius. org _h下载。另外,实现时,在 freeradius的源码中添加了数据库处理模块以及服务器管理程序处理模块。freeradius支持访问sql数据库,首先需要建立radius数据库(以mysql为例:mysql -uroot -prootpass radius < dbjnysql. sql),建立后的数据库会包含如下一些表项: radcheck:用于指明用户的认证方式;radgroupcheck:将用户分组进行管理,指明各组的 属性,如限定有些用户组默认的认证结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《稳态与环境》总学案(教师用)
- 黑龙江伊春市(2024年-2025年小学五年级语文)统编版阶段练习((上下)学期)试卷及答案
- 《儿童哮喘诊治进展》课件
- SRI-29574-生命科学试剂-MCE
- SHP2-IN-30-生命科学试剂-MCE
- 2022年高中军训后的参考心得体会参考范文5篇
- 沈从文名著导读《云南看云集》
- 沈从文名著导读《蜜柑》
- 变电站项目财务模型与敏感性分析
- 广东省增城市第一中学2023-2024学年高三年级调研测试数学试题试卷
- 医学创新与科学研究知到章节答案智慧树2023年岳阳职业技术学院
- 社会体育导论教学教案
- 厂房物业管理服务合同
- 教学课件 国际货运代理-肖旭
- 新生适应性成长小组计划书
- 08SS523建筑小区塑料排水检查井
- 中国图书馆分类法讲座
- 父亲去世讣告范文(通用12篇)
- 人教版八年级上Unit 2How often do you exercise Section A(Grammar Focus-3c)
- 导读工作总结优秀范文5篇
- 超声波UTⅠ级考试题库2023
评论
0/150
提交评论