Diameter is an "AAA" (Authorization, Authentication and Accounting) protocol. It is a client/server protocol, used for handling service requests such as
- subscriber validation
- network resource control
- wireless mobility/roaming
- charging and billing applications.
Diameter is already widely deployed, and this is set to continue. The 3GPP, 3GPP2 and TISPAN groups have made Diameter their protocol of choice for subscription, policy and charging function in IMS and other next-generation network architectures.
The Diameter protocol is an IETF standard, RFC 3588. This standard is known as the Diameter base protocol. It defines transport and session level management and support for basic accounting applications. Many application extensions are defined by standards bodies (including the IETF and 3GPP), and other extensions are created by vendors to support their proprietary AAA requirements.
Diameter is upwardly compatible with RADIUS and, as its name suggests, was developed to address many of the limitations of RADIUS and fulfill the needs of modern AAA applications in next-generation networks.
DC-Diameter is a flexible, portable source code implementation of the Diameter protocol which allows OEMs to quickly and easily build devices and software that require Diameter support.
DC-Diameter comprises the following portable base components.
- A Protocol Manager component, implementing connection, peer and routing functionality from the base Diameter protocol.
- A User Application Library, providing support in the User Application for session management and application FSM support, including the base authentication, authorization and accounting functionality in the base Diameter protocol.
- An AVP Library, providing assistance for the User Application to build and parse Diameter messages and AVPs, both for standard Diameter applications and for vendor-defined proprietary applications.
DC-Diameter runs within Metaswitch's portable, non-blocking, message passing execution environment (the N-BASE). This facilitates flexible distribution of product components across a wide range of hardware configurations, from simple single-CPU platforms to large, distributed, multi-processor routers. Combined with Metaswitch's expertise and experience in building both highly available network software products as well as complete turnkey customer solutions, this provides the performance, scalability, and reliability required for the most demanding applications.
The following highlights the feature and architectural differentiators of Metaswitch's DC-Diameter.
DC-Diameter provides a broad range of debug and serviceability options, using the mechanisms provided by the N-BASE infrastructure. These include
- event logging, covering major events down to individual message tracing
- signal and flow tracing
- detailed tracing showing the precise flow of control through the source code, including the contents of key variables
- flexible log filtering and grouping
- rate limiting of logs.
Customizability and Configurability
DC-Diameter includes a number of configuration and customization options to allow system vendors to tailor the function to particular devices, without needing to edit the core Metaswitch code.
Primarily, it is possible to use DC-Diameter to implement a vendor-specific Diameter application. To assist with this, DC-Diameter provides
- a Generic AVP Library to assist in building and parsing AVPs and Diameter messages
- the Diameter Data Interface, which allows direct access to the Diameter Protocol Manager from vendor-specific Application FSMs.
DC-Diameter runs within Metaswitch's portable, non-blocking, message-passing execution environment (the N-BASE). This facilitates flexible distribution of product components across a wide range of hardware configurations, from simple single-CPU platforms to large, distributed, multi-processor routers. Combined with Metaswitch's expertise and experience in building both highly available protocol stacks as well as complete turnkey customer solutions, this provides the performance, scalability, and reliability required for the most demanding applications.
Scalability, Distribution and Redundancy
DC-Diameter is designed to scale to the demands of the AAA servers in use today and in the future. This is achieved with a combination of efficient design of the DC-Diameter stack, and the ability to distribute workload between multiple DC-Diameter clients which can be running on separate CPUs or linecards, enabling the ability to support backed-up, redundant components. This is achieved through interaction with Metaswitch's High Availability Framework (HAF). The HAF provides built-in support for
- dynamic replication of state between components in different hardware locations
- hot stand-by of backup software components
- detection of failure and automatic promotion of backup components to primary on failure
- hot software upgrade (HSU) and downgrade (HSD)
Finally, DC-Diameter is designed to support concurrent connections to multiple peers, achieving protection from peer or network downtime.