DIAMETER Protocol in IMS Network Architecture Notes
DIAMETER Protocol in IMS Network Architecture
Introduction
- DIAMETER is a next-generation protocol in IP Multimedia Subsystem (IMS) architecture and LTE networks.
- It provides higher data rates, increased throughput, and AAA (Authentication, Authorization, and Accounting) services.
- Developed by the Internet Engineering Task Force (IETF) and Third Generation Partnership Project (3GPP).
- DIAMETER evolved from the RADIUS protocol, offering flexibility for new access features.
- It operates on both SCTP and TCP using port 3868 for reliable communication between diameter nodes.
- Each message received by a DIAMETER node is acknowledged with a positive or negative answer message.
- Supports interfaces like s6a, Gx, Gy, Gz, Sd, Rf, and Ro, extending attributes support, security, network-access servers accounting, and resource management.
DIAMETER Protocol
Diameter Client and Server
- DIAMETER can act as both a client and a server in a peer-to-peer architecture.
- A DIAMETER node receiving a request acts as a client (e.g., a network access server).
- After obtaining user credentials, the client node sends an access request to a DIAMETER server node.
- The server responds with user privileges based on the request information.
Agent Support
- Relay agents: Forward DIAMETER request and answer messages based on Attribute Value Pairs (AVPs) related to routing. They aggregate messages from different realms, reducing server configuration burdens.
- Proxy agents: Make policy decisions and modify message contents to provision network resources. They can reject or originate messages if policies are violated, requiring understanding of message contents.
- Redirect agents: Act as centralized repositories for all DIAMETER nodes, aiding servers that cannot maintain routing lists locally. They handle different message types.
- Translation agents: Convert messages between different AAA protocols, useful for integrating user databases from different domains and providing backward compatibility during migration.
DIAMETER vs RADIUS
- DIAMETER provides additional features and flexibility in offering AAA services compared to RADIUS.
Handling of Errors
- DIAMETER nodes handle application errors and protocol errors.
- Application errors indicate issues within the protocol itself.
- Nodes check the result code AVP to proceed with message processing.
- Result codes provide status information:
- 1XXX: More information needed to grant the service.
- 2XXX: Request processed with no errors.
- 3XXX: Protocol error detected; messages redirected to an alternate peer.
- 4XXX: Service cannot be processed due to a transient failure.
- 5XXX: Permanent failure; service request completely denied.
Implementation
- DIAMETER is implemented in LTE/4G networks above the SCTP/TCP layer.
- It provides communication between different entities in the LTE architecture.
- The DIAMETER protocol sits between the application interface and other DIAMETER peers to provide AAA services.
- Monitoring processes maintain messages in a queue for future processing as part of the DIAMETER protocol.
- Gx interface elements are mapped onto attribute value pairs (AVPs) in the call flow.
Results
- The implementation uses a Linux machine with RHEL 7.1.
- Results are verified using Wireshark traces, a packet analyzer for network troubleshooting, analysis, and protocol development.
- Wireshark captures all traffic visible on a particular interface.
- Real-time working of the Gx interface DIAMETER is observed with 12k TPS (Transactions per second) calls, each lasting 30 seconds.
- Interface: Gx
- Timers:
- Auth Time Out: 400
- Life Time out: 200
- Grace Time out: 100
- AT Timers:
- NOACTIVITYTIMER: 5
- ACTIVITYRETRYCOUNT: 2
- ACTIVITYRESPONSETIMEOUT: 2
- Transport: SCTP on DIAMETER
- Load: 72k TPS for 12 Hours
- Duration: 12 hours
- Simulator: Gx Simulator
- Call Rate: Burst size of 300 messages every 10 milliseconds from one client to four servers
- Interface: GX on Diameter
- Load: 72k TPS
Memory Utilization
- Resident and Virtual memory utilization is measured for a load of 72k TPS over 12 hours.
CPU Utilization
- System CPU utilization by IWF (SUT) is measured for a load of 500 TPS over 2 hours, with maximum CPU utilization below 30.
Active Sessions
- The number of active sessions is measured for a load of 72k TPS over 12 hours, with a maximum of 3900 sessions handled.
Conclusion
- DIAMETER agents (e.g., relay, proxy) provide flexibility in message sending and receiving with proper result codes.
- DIAMETER nodes offer Authentication, Authorization, and Accounting services with error handling.
- The protocol provides high throughput and data rates in both service and control planes.
- Reference points between entities in IMS architecture exchange roaming details, accounting information, and user credentials.
- Interfaces like s6a, Gx, and Gy use DIAMETER for client notification and subscription purposes via defined attributes.
- Performance test results demonstrate DIAMETER's capability to handle messages under high load conditions, optimize memory utilization, and provide AAA services efficiently.