SlideShare a Scribd company logo
SENATELECOM
www.senatelecom.com
1
Introduction to DIAMETER
‫پروتکل‬ ‫معرفی‬DIAMETER
‫ارتباط‬ ‫ساعیان‬
‫از‬‫سال‬1384
•‫ارائه‬‫کننده‬‫ی‬‫راهکارهای‬‫یکپارچه‬‫ارتباطی‬(UC)
•‫راهکارهای‬‫امنیتی‬‫ارتباطی‬
•‫راهکارهای‬‫مخابراتی‬Core
•‫سرویس‬‫های‬‫ابری‬
•‫راهکاری‬‫مدیریت‬‫تجربه‬‫مشتری‬(Contact Center, CRM)
2
VoIP Solutions Provider
Since 2005
3
Background
• Why Diameter was developed?
– Authentication, Authorization, Accounting
• Authentication
– Identify User
• Authorization
– What user is allowed to do
• Accounting
– Accounting, monitoring, limiting user’s usage
4
What did it
replace?
• Was founded in 1998
• A successor to RADIUS
• RADIUS was most widely used to control
dial-up modems
• Limitation within RADIUS:
– Reliability (UDP)
– Security (transparent layer security)
– Failover ( no indication of state of server)
– Agent Support (assumes direct connection)
5
What did it
replace? (cont.)
• Protocol in contention:
– SNMP
– COPS (Common Open Policy Service)
– RADIUS++
– DIAMETER, Then next generation AAA
protocol
6
Protocol
Overview
• Protocol improvements over RADIUS:
– Reliable transport (TCP/SCTP)
– Transport layer security (TLS/DTLS)
– Failover Mechanism
– 32 bit protocol boundaries instead of 8 bit
– Peer discovery and configuration
– Session binding
– Server / Client relationship
– More easily extended
7
Protocol
Overview (cont.)
• Diameter is composed of a base protocol
and set of applications.
• Applications allow it to extend it services
• Application specifications defined
through RFC and 3GPP as well as
proprietary
• Specifications adds additional messages
and parameters and define service logic
above the base protocol
8
Specification• Base Protocol RFC 6733 specifies:
– Protocol format
– Transport
– Peer connection (Connection is establishment of transport)
– User sessions (Session is the exchange of diameter messages)
– Accounting
• Applications:
– Identified by identifiers / application
identifiers (ID)
9
Specification
(cont.)
• Application ID:
– A peer identifies through the capability
exchange mechanism the applications it can
support either directly or through routing
onto another node
– A Diameter message contains the application
ID that this message set belongs to
10
Message
Format
11
Message
Format
(cont.)
12
• Command Flags: The following bits are assigned:
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|R P E T r r r r|
+-+-+-+-+-+-+-+-+
R(Request): If set, the message is a request. If cleared, the
message is an answer.
P(Proxiable): If set, the message MAY be proxied, relayed or
redirected. If cleared, the message MUST be locally processed.
E(Error): If set, the message contains a protocol error, This bit
MUST NOT be set in request messages.
T(Potentially re-transmitted message): This flag is set after a link
Failover procedures to aid the removal of duplicate requests.
r(reserved): these flag bits are reserved for future use, and MUST
be set to zero, and ignored by the receiver.
Message
Format
(cont.)
13
• Command-Code : To uniquely identify the each
diameter message
• Application-ID : to uniquely identify the each
application
• Hop-by-Hop Identifier : is an unsigned 32-bit integer
field and aids in matching requests and replies
• End-to-End Identifier : is an unsigned 32-bit integer
field and is used to detect duplicate messages
Nodes
• Diameter node is used to refer to a Diameter client, a
Diameter server, or a Diameter agent
– Clients (performs AAA access control)
– Server (handles AAA requests)
– a node acting as the Diameter server for some
requests might actually act as a Diameter client in
some situations
• RFC specifies different agents:
– RELAY (route a message without changing message)
– PROXY (route a message and can change message,
stateful)
– REDIRECT (act as a redirect server, stateless)
– Translation (converts to another protocol)
14
Nodes
(cont.)
15
The Diameter Proxy Agent
Nodes
(cont.)
16
The Diameter Redirect Agent
Nodes
(cont.)
17
The Diameter Translation Agent
Nodes
(cont.)
• IMS specifies additional nodes:
– DEA (Diameter Edge Agent) : sits on border of
network for security
– DRA (Diameter Routing Agent) : sits in core
network and providing single routing and
normalization point for Diameter network
– IWF : converts to another protocol
– DSC (Diameter Signaling Controller) : groups
DEA/DRA/IWF into single product
18
Peer Connection
Vs. Session
• Connection: a physical link between two
Diameter nodes
• Session:
– a logical connection between two Diameter nodes, and
can cross multiple connections
– Each session has a Session-Id
19
Peer Connection• Transport Layer
– Client / Server connection
– TCP / SCTP / TLS / DTLS
• Transport client connection request
– Connection to peer can be tried using
different layers until one is successful
– Use DNS to get available transport layers for
peer connection
– Only one transport connection is allowed for
a peer to peer connection
20
Peer Connection
(cont.)
• Peer FSM (Finite State Machine) defined in base
protocol
• Base protocol defines basis of peer table
resource for management of peers
– Host identity: contains the node identity of the peer
(node1.realm.com)
– Status T: contains the state of peer FSM (Closed, I-
Open, R-Open, etc)
– Static or Dynamic: defines if a peer was discovered or
misconfigured
– Expiration Time: if dynamically discovered specifies the
refresh time.
– TLS enabled specifies if TLS is for connection.
21
Peer Table
22
Table Entry
Host Identity
Status
Static or Dynamic
Expiration Time
Connection type
Peer Routing
23
• Base protocol specifies basis of realm based on routing
table for requests realm name
• Name of realm that the incoming message is targeted to
• Contained in incoming messages Destination-Realm AVP
• Application Identifier: contained in message header’s
application ID
• Local action:
– Local, message processed on node
– Relay, message routed to next hop without modifying any non-
routing AVP’s
– Proxy, message routed to next hop and may modify non-routing
AVP
– Redirect, return answer with routing information back to
originating peer
Peer Routing
(cont.)
24
• Server Identity:
– Specifies peer that the message should be
forwarded to
• Static or Dynamic:
– Specifies if route entry is statically or
dynamically added (i.e. via redirect)
• Expiration time:
– Expiration time of dynamically added route
entry
Peer Routing
Table
25
Table Entry
Realm Name
Application ID
Local Action
Server ID
Static or Dynamic
Expiration Time
Session
• Session Initiation:
– starts by issuing a request message from the client to the
server, an auth-request
– containing a unique Session-Id
– the AVPs to be used for authentication and authorization
are application-specific
– Diameter server may include an Authorization-Lifetime
AVP in the response messaging
– after the timeout and acceptable Auth-Grace-Period have
passed, server will remove the session from its session
list and release all resources allocated
– a Diameter server might initiate a re-authentication or re-
authorization request during the session
26
Session
(cont.)
• Session termination:
– Session termination messages are only used in
the context of authentication and authorization
– only when the session state was maintained
– Session can be terminated by either the client
or the server
– The Termination-Clause AVP is included in this
request telling the Diameter server the reason
why the session should be closed
27
Error Handling
• Errors in the Diameter: protocol errors and
application errors
• Protocol errors:
– refer to something being wrong with the underlying protocol
used to carry Diameter messages, perhaps incorrect routing
information or temporary network failure
• Application errors:
– result from the failure of the Diameter protocol itself, and
plenty of sources that will cause application errors
 Fail-Over: forwards all pending messages to an
alternative Diameter node
 Return-Code AVP
 The Error-Message AVP
28
Error Handling
(cont.)
29
Client Relay
Relay
Server
1. Request
4. Answer
2. Request
T-bit set
3. Request
T-bit set
4. Answer
5. Answer
2. Request
3. AnswerRequest
Queue
Request
Queue
Request
Queue
SENATELECOM
30
Thank you

More Related Content

PPT
Sigtran Workshop
PDF
VoLTE Interfaces , Protocols & IMS Stack
PPTX
Diameter Presentation
PPTX
Diameter based Interfaces and description
PPTX
EPG PGW SAPC SACC PISC Configuration
PPTX
Introduction to Diameter Protocol - Part1
PDF
Epc cups overview
PDF
IMS ENUM & DNS Mechanism
Sigtran Workshop
VoLTE Interfaces , Protocols & IMS Stack
Diameter Presentation
Diameter based Interfaces and description
EPG PGW SAPC SACC PISC Configuration
Introduction to Diameter Protocol - Part1
Epc cups overview
IMS ENUM & DNS Mechanism

What's hot (20)

PPTX
IMS + VoLTE Overview
PDF
VoLTE Flows and CS network
PDF
ims registration call flow procedure volte sip
PPT
DOC
Ims call flow
PDF
VoLTE Interfaces , Protocols & IMS Stack Explained
PPTX
IMS Registration Flow
PPTX
IMS Core Elements
PPT
Ss7 Introduction Li In
PPT
Initial LTE call Setup Flow
PPTX
2 g data call flow
PDF
VoLTE flows - basics
PDF
End to End volte ims sip call flow Guide - Mobile originating and Mobile term...
PDF
SIGTRAN - An Introduction
PDF
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...
PDF
Lte epc kp is and signalling (sf)
PDF
VoLTE Voice over LTE Explained - Complete End to End VoLTE Overview - What is...
PPTX
IMS ENUM and DNS Mechanism
PPTX
Gsm architecture and call flow
PDF
PCRF-Policy Charging System-Functional Analysis
IMS + VoLTE Overview
VoLTE Flows and CS network
ims registration call flow procedure volte sip
Ims call flow
VoLTE Interfaces , Protocols & IMS Stack Explained
IMS Registration Flow
IMS Core Elements
Ss7 Introduction Li In
Initial LTE call Setup Flow
2 g data call flow
VoLTE flows - basics
End to End volte ims sip call flow Guide - Mobile originating and Mobile term...
SIGTRAN - An Introduction
volte call flow - SIP IMS Call Flow - MO and MT Call - Volte Mobile originati...
Lte epc kp is and signalling (sf)
VoLTE Voice over LTE Explained - Complete End to End VoLTE Overview - What is...
IMS ENUM and DNS Mechanism
Gsm architecture and call flow
PCRF-Policy Charging System-Functional Analysis
Ad

Similar to Introduction to DIAMETER (20)

PDF
DIAMETER_EFORT_ENG.pdf
PDF
Diameter Penetration Test Lab
PDF
DIAMETER-Bricks doc training for telecom.pdf
PPTX
06.pptx
PPTX
Diameter_Apr2014.pptx
PPTX
AODV routing protocol
PPTX
Diameter Capabilities Exchange
PPT
Common Network Architecture:X.25 Networks, Ethernet (Standard and Fast): fram...
PPTX
IETF 79 - Diameter Over SCTP
PDF
Radius Protocol
ODP
AAA in a nutshell
PPTX
ccna networking ppt
PPT
Andrea Sini Thesis
PPT
Default and On demand routing - Advance Computer Networks
PDF
Distributed Reactive Services with Reactor & Spring - Stéphane Maldini
PDF
Mobicents Summit 2012 - Alexandre Mendonca - Mobicents jDiameter
PPT
The constrained application protocol (CoAP)
PPT
The constrained application protocol (coap)
PDF
Protocol and Integration Challenges for SDN
PPTX
iot-application-layer-protocols-v1-200125143512.pptx
DIAMETER_EFORT_ENG.pdf
Diameter Penetration Test Lab
DIAMETER-Bricks doc training for telecom.pdf
06.pptx
Diameter_Apr2014.pptx
AODV routing protocol
Diameter Capabilities Exchange
Common Network Architecture:X.25 Networks, Ethernet (Standard and Fast): fram...
IETF 79 - Diameter Over SCTP
Radius Protocol
AAA in a nutshell
ccna networking ppt
Andrea Sini Thesis
Default and On demand routing - Advance Computer Networks
Distributed Reactive Services with Reactor & Spring - Stéphane Maldini
Mobicents Summit 2012 - Alexandre Mendonca - Mobicents jDiameter
The constrained application protocol (CoAP)
The constrained application protocol (coap)
Protocol and Integration Challenges for SDN
iot-application-layer-protocols-v1-200125143512.pptx
Ad

More from Hossein Yavari (20)

PDF
What is Matroska?
PDF
SIPREC RTPEngine Media Forking
PDF
Windows Forensics
PPTX
SIP over TLS
PPTX
Desjardins Data Breach
PDF
Introduction to Metasploit
PDF
Which IT Certification is Better for You?
PDF
Disassembly Using IDA
PPTX
Introduction to Snort
PDF
DLL Injection
PPTX
SQL Injection in JAVA
PPTX
Malware Static Analysis
PDF
Creativity and Role of the Leaders
PDF
IPsec for IMS
PDF
eSIM Deep Dive
PDF
Yeastar Technical Training Course
PDF
SENA Cloud UC
PDF
FreePBX Disaster Recovery
PDF
eSIM Overview
PDF
LTE Architecture Overview
What is Matroska?
SIPREC RTPEngine Media Forking
Windows Forensics
SIP over TLS
Desjardins Data Breach
Introduction to Metasploit
Which IT Certification is Better for You?
Disassembly Using IDA
Introduction to Snort
DLL Injection
SQL Injection in JAVA
Malware Static Analysis
Creativity and Role of the Leaders
IPsec for IMS
eSIM Deep Dive
Yeastar Technical Training Course
SENA Cloud UC
FreePBX Disaster Recovery
eSIM Overview
LTE Architecture Overview

Recently uploaded (20)

PPTX
Construction Project Organization Group 2.pptx
PPT
Project quality management in manufacturing
PPTX
Sustainable Sites - Green Building Construction
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PDF
PPT on Performance Review to get promotions
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
DOCX
573137875-Attendance-Management-System-original
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PDF
Well-logging-methods_new................
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
Internet of Things (IOT) - A guide to understanding
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPT
Mechanical Engineering MATERIALS Selection
PDF
composite construction of structures.pdf
PPTX
Lecture Notes Electrical Wiring System Components
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Construction Project Organization Group 2.pptx
Project quality management in manufacturing
Sustainable Sites - Green Building Construction
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PPT on Performance Review to get promotions
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
UNIT-1 - COAL BASED THERMAL POWER PLANTS
573137875-Attendance-Management-System-original
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Well-logging-methods_new................
CYBER-CRIMES AND SECURITY A guide to understanding
Internet of Things (IOT) - A guide to understanding
Operating System & Kernel Study Guide-1 - converted.pdf
Embodied AI: Ushering in the Next Era of Intelligent Systems
Mechanical Engineering MATERIALS Selection
composite construction of structures.pdf
Lecture Notes Electrical Wiring System Components
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...

Introduction to DIAMETER

  • 4. Background • Why Diameter was developed? – Authentication, Authorization, Accounting • Authentication – Identify User • Authorization – What user is allowed to do • Accounting – Accounting, monitoring, limiting user’s usage 4
  • 5. What did it replace? • Was founded in 1998 • A successor to RADIUS • RADIUS was most widely used to control dial-up modems • Limitation within RADIUS: – Reliability (UDP) – Security (transparent layer security) – Failover ( no indication of state of server) – Agent Support (assumes direct connection) 5
  • 6. What did it replace? (cont.) • Protocol in contention: – SNMP – COPS (Common Open Policy Service) – RADIUS++ – DIAMETER, Then next generation AAA protocol 6
  • 7. Protocol Overview • Protocol improvements over RADIUS: – Reliable transport (TCP/SCTP) – Transport layer security (TLS/DTLS) – Failover Mechanism – 32 bit protocol boundaries instead of 8 bit – Peer discovery and configuration – Session binding – Server / Client relationship – More easily extended 7
  • 8. Protocol Overview (cont.) • Diameter is composed of a base protocol and set of applications. • Applications allow it to extend it services • Application specifications defined through RFC and 3GPP as well as proprietary • Specifications adds additional messages and parameters and define service logic above the base protocol 8
  • 9. Specification• Base Protocol RFC 6733 specifies: – Protocol format – Transport – Peer connection (Connection is establishment of transport) – User sessions (Session is the exchange of diameter messages) – Accounting • Applications: – Identified by identifiers / application identifiers (ID) 9
  • 10. Specification (cont.) • Application ID: – A peer identifies through the capability exchange mechanism the applications it can support either directly or through routing onto another node – A Diameter message contains the application ID that this message set belongs to 10
  • 12. Message Format (cont.) 12 • Command Flags: The following bits are assigned: 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |R P E T r r r r| +-+-+-+-+-+-+-+-+ R(Request): If set, the message is a request. If cleared, the message is an answer. P(Proxiable): If set, the message MAY be proxied, relayed or redirected. If cleared, the message MUST be locally processed. E(Error): If set, the message contains a protocol error, This bit MUST NOT be set in request messages. T(Potentially re-transmitted message): This flag is set after a link Failover procedures to aid the removal of duplicate requests. r(reserved): these flag bits are reserved for future use, and MUST be set to zero, and ignored by the receiver.
  • 13. Message Format (cont.) 13 • Command-Code : To uniquely identify the each diameter message • Application-ID : to uniquely identify the each application • Hop-by-Hop Identifier : is an unsigned 32-bit integer field and aids in matching requests and replies • End-to-End Identifier : is an unsigned 32-bit integer field and is used to detect duplicate messages
  • 14. Nodes • Diameter node is used to refer to a Diameter client, a Diameter server, or a Diameter agent – Clients (performs AAA access control) – Server (handles AAA requests) – a node acting as the Diameter server for some requests might actually act as a Diameter client in some situations • RFC specifies different agents: – RELAY (route a message without changing message) – PROXY (route a message and can change message, stateful) – REDIRECT (act as a redirect server, stateless) – Translation (converts to another protocol) 14
  • 18. Nodes (cont.) • IMS specifies additional nodes: – DEA (Diameter Edge Agent) : sits on border of network for security – DRA (Diameter Routing Agent) : sits in core network and providing single routing and normalization point for Diameter network – IWF : converts to another protocol – DSC (Diameter Signaling Controller) : groups DEA/DRA/IWF into single product 18
  • 19. Peer Connection Vs. Session • Connection: a physical link between two Diameter nodes • Session: – a logical connection between two Diameter nodes, and can cross multiple connections – Each session has a Session-Id 19
  • 20. Peer Connection• Transport Layer – Client / Server connection – TCP / SCTP / TLS / DTLS • Transport client connection request – Connection to peer can be tried using different layers until one is successful – Use DNS to get available transport layers for peer connection – Only one transport connection is allowed for a peer to peer connection 20
  • 21. Peer Connection (cont.) • Peer FSM (Finite State Machine) defined in base protocol • Base protocol defines basis of peer table resource for management of peers – Host identity: contains the node identity of the peer (node1.realm.com) – Status T: contains the state of peer FSM (Closed, I- Open, R-Open, etc) – Static or Dynamic: defines if a peer was discovered or misconfigured – Expiration Time: if dynamically discovered specifies the refresh time. – TLS enabled specifies if TLS is for connection. 21
  • 22. Peer Table 22 Table Entry Host Identity Status Static or Dynamic Expiration Time Connection type
  • 23. Peer Routing 23 • Base protocol specifies basis of realm based on routing table for requests realm name • Name of realm that the incoming message is targeted to • Contained in incoming messages Destination-Realm AVP • Application Identifier: contained in message header’s application ID • Local action: – Local, message processed on node – Relay, message routed to next hop without modifying any non- routing AVP’s – Proxy, message routed to next hop and may modify non-routing AVP – Redirect, return answer with routing information back to originating peer
  • 24. Peer Routing (cont.) 24 • Server Identity: – Specifies peer that the message should be forwarded to • Static or Dynamic: – Specifies if route entry is statically or dynamically added (i.e. via redirect) • Expiration time: – Expiration time of dynamically added route entry
  • 25. Peer Routing Table 25 Table Entry Realm Name Application ID Local Action Server ID Static or Dynamic Expiration Time
  • 26. Session • Session Initiation: – starts by issuing a request message from the client to the server, an auth-request – containing a unique Session-Id – the AVPs to be used for authentication and authorization are application-specific – Diameter server may include an Authorization-Lifetime AVP in the response messaging – after the timeout and acceptable Auth-Grace-Period have passed, server will remove the session from its session list and release all resources allocated – a Diameter server might initiate a re-authentication or re- authorization request during the session 26
  • 27. Session (cont.) • Session termination: – Session termination messages are only used in the context of authentication and authorization – only when the session state was maintained – Session can be terminated by either the client or the server – The Termination-Clause AVP is included in this request telling the Diameter server the reason why the session should be closed 27
  • 28. Error Handling • Errors in the Diameter: protocol errors and application errors • Protocol errors: – refer to something being wrong with the underlying protocol used to carry Diameter messages, perhaps incorrect routing information or temporary network failure • Application errors: – result from the failure of the Diameter protocol itself, and plenty of sources that will cause application errors  Fail-Over: forwards all pending messages to an alternative Diameter node  Return-Code AVP  The Error-Message AVP 28
  • 29. Error Handling (cont.) 29 Client Relay Relay Server 1. Request 4. Answer 2. Request T-bit set 3. Request T-bit set 4. Answer 5. Answer 2. Request 3. AnswerRequest Queue Request Queue Request Queue