Diameter and 3GPP
What is Diameter?
Diameter is one of several defined Authentication, Authorization, and Accounting (AAA) protocols. What does that really mean? An AAA protocol refers to the activities used by a data network to control access and services. This allows the service provider to restrict access and to ultimately bill the subscriber for services like bandwidth. As an example, people would dial into their Internet Service Providers (ISP) by providing an ID and password to an access server, which then authenticated the user before granting internet access. One of the earlier AAA protocols was Remote Access Dial-In User Service (RADIUS). It was written by the Internet Engineering Task Force (IETF) and was designed to provide a simple yet efficient way to deliver such AAA capability.
RADIUS worked well for what it was designed for – small-scale configurations like dial-up access to the internet. By the late 1990s things were changing and RADIUS was not well-suited for larger-scale and higher-speed access.
AAA protocols such as RADIUS were initially deployed to provide dial-up Point-to-Point Protocol (PPP) and terminal server access. Over time, with the growth of the internet and the introduction of new access technologies, including wireless, Digital Subscriber Line (DSL), Mobile IP and Ethernet, routers and Network Access Servers (NAS) had increased in complexity and density, putting new demands on AAA protocols. Some of these demands were for a more reliable transport, a need for agent support and a need for server-initiated messages. So out of that need for an updated AAA protocol Diameter was born.
Diameter addressed the shortcomings of RADIUS. It used either Transmission Control Protocol (TCP) or Stream Control Transmission Protocol (SCTP) as its transport layer; unlike RADIUS, Diameter supports Agents (Relay, Proxy, Redirect, and Translation); it supports client-initiated messages; it supports capability negotiation to name a few. Diameter is a peer-to-peer, binary-coded protocol rather than a client/server text-based protocol like Session Initiation Protocol (SIP).
With Diameter any peer can send a request to another peer. Either a client or a server can send and receive requests and responses. In the case of Diameter, a client is an entity that performs access control and a server is an entity that performs authentication and authorization. Diameter messages are either requests or responses (answers). Normally all Diameter requests are answered so the sender knows the status of the request right away. All data delivered by the protocol is in the form of an Attribute Value Pair (AVP). Some of these AVP values are used by the Diameter protocol itself, while others deliver data associated with particular applications that use Diameter.
Diameter Protocol Stack
Diameter is a base protocol that contains a base functionality independent of any application. Applications are extensions and are tailored for a particular usage in a particular environment. The picture below shows four such applications. Applications can be developed as needed without affecting the Diameter Base Protocol. Diameter is defined by the IETF in Request for Comments (RFC) 6733, and each application is defined in its own separate RFC.
Diameter is defined in terms of an AAA base protocol and a set of applications. The base protocol provides basic mechanisms for reliable transport, message delivery and error handling. It must be used along with a Diameter application. A Diameter application uses the services of base protocol in order to support a specific type of network access.
Diameter is a rather rote protocol – a Request gets sent and the reply comes back in the form of an Answer.
Diameter and 3GPP
Yes, yes that is all fine but where does LTE and 3GPP fit into all of this? How does an IETF-written AAA protocol find its way into the mobile telecom world of 3GPP? It really started with 3GPP Release 5 around 2002. In that release 3GPP defined an optional architecture called IP Multimedia Subsystem (IMS). This architecture was for delivering Internet Protocol (IP) and multimedia services over a mobile network. The primary protocol in the IMS is Session Initiation Protocol (SIP), but Diameter, with its Request/Answer format was quite well suited for some communications. When Diameter is used in 3GPP, the interface it rides on becomes the application. In IMS these interfaces are the Cx / Dx and Sh interfaces.
So now if we look at the Diameter protocol stack, it reflects the Base Protocol, six applications defined by the IETF and two applications defined by 3GPP as shown below:
And that certainly was not the end of 3GPP’s involvement in Diameter. In Release 8, the architecture and protocols made a radical change. This new architecture is called the Evolved Packet System (EPS). However, the more marketing-friendly acronym “LTE” is what most people are familiar with. In previous releases and architectures, functions like managing the mobile’s location, handling subscriber data, authentication, fault recovery and checking the Mobile Equipment’s (ME) identity were all handled using SS7. Now starting with this new architecture, those functions are handled by Diameter on interfaces called “S6a/S6d/S13/S13.” In addition, LTE networks allow an optional architecture called SMS in MME. And, yes that also uses Diameter on interfaces “S6c and SGd.” So now our Diameter application tree looks like this:
So that pretty well sums it up. Diameter has found its way into 3GPP in the optional IMS architecture and in LTE. But there is more: it is also used to deliver policy control. Policy control allows a service provider to better control services and revenues. It includes things like Guaranteed Bit Rate (GBR) and Quality of Service (QoS). To deliver that policy control information, once again Diameter is used. Part of policy today deals with online charging (prepay) and offline charging (post pay). 3GPP lumps all of these together and calls it Policy and Charging Control (PCC). And if you are one step ahead of me, and guessed that PCC is handled by Diameter you would be correct. So let’s update our Diameter application tree:
As a recap, Diameter is an IETF-defined AAA protocol. It is in a Request/Answer format. It delivers parameters called Attribute Value Pairs (AVP). Along with the base protocol, the IETF wrote several applications for Diameter. Additionally, it is used in 3GPP networks in the IMS, in LTE for mobility management and for PCC. Though we won’t redraw our 3GPP application tree, 3GPP also uses Diameter for other interfaces. These include:
- Generic Authentication Architecture (GAA)
- 3GPP to Wireless LAN (WLAN) Interworking
- Location Services (LCS)
- EPS AAA Interfaces
However, the primary ones are used in IMS, LTE and PCC.Tags: diameter
Categorised in: Blog