Remote Congestion Controls
Note:
Remote Busy congestion and egress transport congestion are not supported for RADIUS.- 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.
- 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 12-1 summarizes this behavior.
Table 12-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 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 12-1.
Table 12-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 12-3 specifies the capacity and ranges for Remote BUSY and Egress Message Rate.
Table 12-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 |