添加AppEvent
添加NASREQ应用的特定命令,在OpenBloX中没有实现NASREQ应用的相关命令。如:
添加AppEventAARequest类,其继承AppRequest类。
添加AppEventAAAnswer类,其继承AppAnswer类。
添加AVP
在NASREQ应用中,有一些特定的AVP,或者用户自定义的AVP,在OpenBloX中没有实现,因此需要自己实现,可以根据添加的AVP的类型,选择继承合适的AVP父类。
添加AppSession类
服务器端添加AppSession类涉及到的类图如下所示:
图2 类图
服务器端的抽象AppSessionNASServer类,继承AppSession类,完成处理请求,发送应答的功能。如方法handleIncomingAARequest,处理AARequest请求,方法sendAnswer,发生AAAnswer应答。
NASServerAppSession继承AppSessionNASServer类,完成方法的具体实现。在实现方法时,该类会使用到类Session和接口NASServerAppListener。
类NASServerAppListenerImpl实现接口NASServerAppListener,完成处理AARequest请求的handleIncomingAARequest方法。
客户端也统一添加AppSession类,用来完成收到应答handleIncomingAAAnswer的处理。
服务器/客户端
实现服务器/客户端节点的功能:
1, 准备配置文件server.xml。
2, 根据配置文件,初始化stack和SessionFactory。
初始化stack时,会调用FactoriesLoader类,需要根据新增加的NASREQ应用,在该类中增加注册新应用的代码。
3, 根据stack,得到Network。
4, 实现接口NetworkRequestListener,并绑定到Network上。
5, 从stack获取PeerTable,并实现接口PeerTableListener,绑定到PeerTable上。
6, 启动stack。服务器端启动stack后,等待着客户端的请求信息。
7, 客户端启动stack后,组装请求信息AARequest,并发送出去。
8, 当客户端完成发送的任务后,等待得到应答信息,然后可根据情况停止客户端的stack。
服务器端功能的实现
1, 接受客户端请求信息
绑定到Network上的NetworkRequestListener,监听客户端的请求。在实现接口NetworkRequestListener的类NetworkRequestListenerNASServer中,服务器端对接收到的请求进行处理,其处理过程如下:
在getSupportedCommands方法中,添加该应用支持的命令,如AARequest。
在processInitialRequest方法中,根据不同的命令,调用AppSession中不同的处
理方法。
2, 回复客户端应答信息
在处理完AARequest请求后,程序创建一个应答信息AAAnswer,并调用AppSession中的sendAnswer方法发送出去。
客户端功能的实现
1, 发送请求信息
组装请求信息,并调用appSession的sendAARequest方法把请求信息发送出去。
2, 接收应答信息
与appSession绑定的接口NASClientAppListener完成接收应答信息的功能。
NASClientAppListenerImpl类实现接口NASClientAppListener,并完成功能
handleIncomingAAAnswer。
分享到:
相关推荐
### Diameter协议及其在AAA系统中的应用与改进 #### 一、引言 随着互联网商业化程度的不断提高,认证、授权和计费(Authentication, Authorization, Accounting,简称AAA)系统已成为网络应用不可或缺的一部分。...
Diameter协议的应用非常广泛,包括NASREQ、MIPv4、SIP等。每个应用程序都需要一个唯一的应用程序ID,以便于Diameter协议能够正确地路由消息。 9. Diameter协议的实现细节 Diameter协议的实现细节包括连接管理、...
- NASREQ(网络访问服务应用协议):用于网络接入认证和授权。 - Mobile-IP(移动IP应用协议):支持移动IP的认证、授权和计费。 - DiameterCreditControl(信用控制应用协议):用于流量控制和计费。 - ...
- 支持常见的 Diameter 应用,如 NASREQ(Network Access Server Request)和 Cx/Dx(用于 IP 接入的认证和计费)。 - 异步和同步的消息处理模式,适应不同应用场景。 - 内置的连接管理和路由策略。 - 错误处理和重...
在1992年,IETF的NASREQ工作组采纳RADIUS,并在后续年份发布了多个RFC,确立了其作为网络接入标准的地位。 RADIUS的基本工作流程如下: 1. 用户尝试通过NAS接入网络,NAS发送Access-Request报文,包含加密的用户名...
例如,NASREQ、Mobile IP、CMSSecurity等应用协议都是基于Diameter基本协议开发的。 - **安全性增强**:Diameter协议在安全性方面进行了大幅改进。除了提供端到端的安全连接外,它还支持加密和身份验证机制,确保...