Go to primary content
User Data Repository Diameter User's Guide
Release 12.4
E92984-01
Go To Table Of Contents
Contents

Previous
Previous
Next
Next

Remote Congestion Controls

Note:

Remote Busy congestion and egress transport congestion are not supported for RADIUS.
The following features provide remote congestion controls:
Remote BUSY Congestion
Addresses Remote Congestion detection

The Remote BUSY Congestion feature calls for the server to send a DIAMETER_TOO_BUSY Answer, which is can be used by the clients to stop sending traffic for some duration. The feature addresses Remote Congestion detection and the steps to be taken to alleviate the situation.

Egress Transport Congestion
Supports use of transport congestion status

The Egress Transport Congestion feature uses Congestion Levels to manage the egress message traffic flow on a Diameter Peer Connection when the Connection's TCP/SCTP send buffer is exhausted, as indicated by the TCP/SCTP socket being blocked. The socket is blocked when the Diameter Transport Function attempts to write new data to the TCP/SCTP socket fail due to insufficient send buffer space. When a Diameter Connection socket becomes blocked, the Diameter Transport Function sets the Egress Transport Congestion Level to CL-98 and discards any received Request or Answer messages.

Per-Connection Egress Message Throttling
Targets congestion avoidance

The Per Connection Egress Message Throttling feature targets congestion avoidance by throttling the volume of Diameter traffic being sent over a Connection when the traffic exceeds the configured maximum egress message rate of the Connection.

User-Configurable Connection Pending Transaction Limiting
Provides a pending transaction limit for each Peer Connection

User-Configurable Connection Pending Transaction Limiting (UC-CPTL) provides a configurable pending transaction limit for each Peer Connection, to customize the distribution of the available Pending Transaction Records on a DA-MP based on the varying deployment requirements. The limit can be configured independently for each DA-MP.

Routing Based on Congestion Level

Features such as Remote BUSY Congestion, Egress Transport Congestion, and Per Connection Egress Throttling Control are used to control the flow of egress traffic by setting a feature-specific Congestion Level for a Diameter Connection. Certain Requests can be prioritized over others, using the User Configurable Message Priority feature.

The Connection Priority Level (CPL) is an overall Congestion Level for the Connection that is based upon the highest Congestion Level of the various egress traffic control features. The CPL is used by the Diameter Routing Function when making egress message routing decisions based on the Priority provided by the User Configurable Message Priority feature. No message can be forwarded to a Diameter Connection that has a Priority level less than the CPL for that Connection

Up to five Congestion Levels (CL-0, CL-1, CL-2, CL-3, and CL-98) are supported, with CL-0 indicating no congestion to CL-98 indicating that the Connection is blocked. The intermediate Congestion Levels CL-1, CL-2, and CL-3 indicate the increasing severity of congestion.

Each feature has a Congestion Level range, as follows:
  • Remote BUSY Congestion Levels: CL-0. CL-1, CL-2, and CL-3
  • Egress Transport Congestion Levels: CL-0. CL-1, CL-2, CL-3, and CL-98
  • Per Connection Egress Message Throttling Congestion Levels: CL-0. CL-1, CL-2, and CL-3

The CPL value for a Connection (CONN-CPL) is based on the maximum Congestion Level of the features.

Egress Request routing and Answer forwarding functions use the Connection Congestion Level in conjunction with the Message Priority to determine how Requests and Answers must be handled over an egress Connection. Message Priority and Connection Congestion Level in the Connection selection criteria are used to avoid sending messages of Priority x and lower to Connections currently at Congestion Level x+1.

All Answers are assigned a Message Priority of 3, while Requests can be assigned Message Priorities 0 through 2. Messages with a Priority greater than or equal to the Congestion Level are allowed, while messages with lower Priorities are not delivered on this Connection. This arrangement ensures that Answers have the highest Priority and are always routed unless a Connection becomes blocked, and depending upon the level of congestion some or all of the Requests may be allowed. Table 14-1 summarizes this behavior.

Table 14-1 CLs, CPLs, and Message Treatment

Connection CPL Value Message Priorities Allowed Message Priorities Not Allowed Comment
98 None All Requests nor Answers can be sent on the Connection
3 3 0, 1, 2 Allow only Answers to be sent on the Connection
2 3, 2 0, 1 Allow only Answers and Pri=2 Requests to be sent on the Connection
1 3, 2, 1 0 Allow only Answers and Pri=2,1 Requests to be sent on the Connection
0 All None All Requests and Answers can be sent on the Connection

Congestion Levels can be set by multiple features. For example, a particular Connection may have received a DIAMETER_TOO_BUSY for a Priority 1 Request (resulting in CL-2 congestion), and while abating may have experienced transport congestion (CL-98). Therefore, the concept of Connection Priority Level (CPL) is used to consider the Congestion Levels reported by all the features while making routing decisions.

The CPL value is a function of Operational Status and the Congestion Levels reported by the Remote BUSY Congestion, Egress Transport Congestion, and Per Connection Egress Message Throttling features. Table 14-2 summarizes this behavior.
  • The CPL Value for a Connection is based on the worst-case (highest) value:

    CPL Value of a Connection = Max (X1, X2, X3, X98)

  • This composite CPL value is then used by the Diameter Routing Function as shown in Table 14-1.

Table 14-2 Mapping Congestion Levels to CPL Values

Attribute Value CPL Value
X1: Diameter Connection Operational Status

Available

Degraded

Unavailable

0

1 - 3, 98

99

X2: Diameter Connection Remote BUSY Congestion CL-0 through CL-3 0-3
X3: Diameter Connection Egress Transport Congestion CL-0, CL-1, CL-2, CL-3, and CL-98 0, 1, 2, 3, and 98
X98: Diameter Connection Egress Message Throttling CL-0 through CL -3 0 - 3

Capacity and Ranges

Table 14-3 specifies the capacity and ranges for Remote BUSY and Egress Message Rate.

Table 14-3 Remote BUSY and EMR Capacity Ranges

Item Maximum Description
Remote BUSY processing 1000 Remote BUSY processing on up to 1000 simultaneous Diameter connections on a single DA-MP
Remote BUSY processing 2000 Remote BUSY processing on up to 2000 simultaneous Diameter connections on a single DA-MP
Remote BUSY processing 1000 Remote BUSY processing on up to 16000 simultaneous Diameter connections on a single DA-MP
Egress Transport Congestion processing 1000 Egress Transport Congestion processing on up to 1000 simultaneous Diameter connections on a single DA-MP
Egress Transport Congestion processing 2000 Egress Transport Congestion processing on up to 2000 simultaneous Diameter connections on a single DA-MP
Egress Transport Congestion processing 1000 Egress Transport Congestion processing on up to 16000 simultaneous Diameter connections on a single DA-MP
Egress Message Throttling 500 Egress Message Throttling on up to 500 simultaneous Diameter connections on a single DA-MP
Egress Message Throttling 500 Egress Message Throttling on up to 500 simultaneous Diameter connections on a single DA
Egress Message Throttling 500 Egress Message Throttling on up to 500 simultaneous Diameter connections on a single DA
Egress Message Throttling Configuration Sets 50 Up to 50