RADIUS计费概要设计模板.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计费模块概要设计 上海寰创通信科技有限公司 文档更新记录 日期 更新人 版本 备注 2012-1-5 张晓波 目录 1 引言 4 1.1 编写目的 4 1.2 预期读者和阅读建议 4 1.3 参考资料 4 1.4 缩写术语 4 2 概述 4 3 整体结构 4 4 数据结构 4 4.1 用户计费统计结构 5 4.2 计费终端结构 5 5 主要算法及流程 6 5.1 操作算法 6 5.2 计费执行流程 6 5.3 实时断开用户网络流程 7 6 状态机设计 8 7 接口设计 8 7.1 外部接口设计 8 7.1.1 接收消息接口 8 7.1.2 DM报文接收接口 8 7.1.3 计费报文接收函数 9 7.2 内部接口说明 9 7.2.1 消息处理函数 9 引言 编写目的 预期读者和阅读建议 参考资料 《rfc2865》 《rfc2866》 缩写术语 缩写 英文 中文 概述 当用户认证接入AP成功之后,AC会开启对该终端的计费任务,平台模块会通知计费模块计费任务开始。计费可以分为三个阶段:计费开始,实时计费和计费结束。 计费开始是在用户认证接入成功之后,计费模块会发送一个计费请求报文到radius服务器。 计费模块收到radius回复的计费相应报文之后进入实时计费状态。在用户上网过程中,为了保护用户计费信息,每隔一段时间AC就向RADIUS服务器报一个实时计费信息,包括当前用户上网总时长,以及用户总流量信息。 当AC收到下线请求时,向RADIUS服务器发计费结束报文。 整体结构 计费模块的主要相关模块是平台,同时还需要利用socket接口与radius服务器之间进行报文的交互。计费模块需要从平台模块获取相关的配置信息,用用户接入/下线之后平台还会通知计费模块开始/结束计费。 数据结构 用户计费统计结构 struct account_user_stats{ u32 rx_packets ; /*接收包数*/ u32 tx_packets ; /*发送包数*/ u32 rx_gigawords ; /*接收字节数,单位:2^32 B*/ u32 rx_bytes ; /*接收字节数,单位:1B*/ u32 tx_gigawords ; /*发送字节数,单位:2^32 B */ u32 tx_bytes ; /*发送字节数,单位:1B */ } ; 用途:保存用户的计费统计信息; 个成员注解: rx_packets:接收包数 tx_packets :发送包数 rx_gigawords:接收字节数,单位:2^32 B rx_bytes:接收字节数,单位:1B tx_gigawords :发送字节数,单位:2^32 B tx_bytes:发送字节数,单位:1B 计费终端结构 struct sta_info { u8 user_name[256] ; u8 user_ip[4] ; u8 user_mac[6] ; u8 ap_mac[6] ; u8 ap_ssid[32] ; u8 nas_ip[4] ; u8 nas_identifier[256] ; u32 acct_session_id_hi; u32 acct_session_id_lo; time_t acct_session_start; int acct_session_started; int acct_terminate_cause; /* Acct-Terminate-Cause */ int acct_interim_interval; /* Acct-Interim-Interval */ time_t acct_next_interim ; struct radius_attr_data user_class ; u32 session_timeout ; u32 nas_port_id ; struct account_user_stats acct_stats ; /*终端当前IP对应流量*/ struct account_user_stats acct_stats_old ; /*终端历史IP对应总流量及主备AC切换时对应总流量*/ u32 sub_acct_time; u8 radius_ip[4]; void * ctx ; struct sta_info * next ; } ; 用途:保存需要计费的终端的信息; 个成员注解:略; 主要算法及流程 操作算法 当一个AC客户端被配置成采用RADIUS计费协议时,在开始提供服务的时候它会生成一个计费开始报文,报文描述

文档评论(0)

gk80333 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档