Diameter protocol is an AAA(Authentication, Authorization and Accounting) protocol vastly used in core network nodes in 3G and LTE architecture. Diameter protocol evolved from RADIUS Protocol with additional functionalities in multiple aspects. Diameter protocol is defined by IETF and is known as Diameter Base Protocol (RFC 6733 (older one RF 3588)) which provides framework for applications like network access, IP mobility etc. Diameter Applications extend the Diameter base protocol by adding new AVP’s, commands etc to provide extended functionalities.
Most people think Diameter Application is a software application which supports the required functionality but actually Diameter application is basically a protocol based on Diameter Base protocol defined in RFC 6733 (older one RFC 3588). Diameter base protocol provides a way for a diameter application to define their own application identifier and new command codes along with mandatory/optional AVPs set to carry out required behavior.
Some Examples of Diameter applications are as follows:
- Diameter Mobile IPv4 Application (MobileIP, RFC 4004)
- Diameter Network Access Server Application (NASREQ, RFC 4005)
- Diameter Extensible Authentication Protocol Application (RFC 4072)
- Diameter Credit-Control Application (DCCA, RFC 4006)
Now Let’s discuss the improvement which is done in diameter protocol from RADIUS protocol which is the predecessor for the diameter.
Feature | Diameter | Radius |
Reliability | Uses TCP or SCTP, hence Reliable | Uses UDP protocol, hence Unreliable |
Network Security | Supports IPsec and TLS protocol, hence secure | Not secure (TLS support in progress RFC 6614) |
Transition Support | Diameter is backward compatible with RADIUS | – |
Error Notification | Supported | Not Supported |
Failover Mechanism | Supported | Not Supported |
Proxies and Agents support | Agents behavior explicitly defined | Agents behavior not defined |
Server-Initiated Message | Mandatory | Optional |
Capability Negotiation | Supported | Not Supported |
Peer Discovery | Dynamic discovery of peer supported | Static configuration is needed |
Roaming Support | Better roaming support because of proxy support | Not suitable for wide-scale deployment |
Scalability | Good | Poor |
Extension | Easily extended, new commands and attributes can be supported | Extension support is poor |