In this section:
Peer DNS Address Resolution
The SBC Core supports defining a Diameter Peer by its IP address or using the Fully Qualified Domain Name (FQDN). In the latter case, the actual address is resolved through Domain Name System (DNS) queries. For each Diameter peer FQDN IP address resolution, the SBCgenerates a maximum sequence of DNS query types: NAPTR, SRV, and A/AAAA. Depending on the FQDN prefix configuration, each Trunk Group is assigned a Policy and Charging Rule Function (PCRF) realm (pcrfRealm
) with matching Diameter realm route. Traffic generated on these Trunk Groups is directed to the peers in their corresponding realm route. Similarly, DNS address resolution is directed to the Trunk Group's DNS server group with the same realm assignment.
DNS Query
Multiple IP Connections per Peer
The SBC supports multiple IP connections per Diameter Peer. If a set of IP addresses are returned, the SBC connects to all IP addresses under the same peer. The parameter, sessionDistribution
, handles the session distribution order.
The SBC Diameter capacity for this feature is as follows:
Table 1: SBC Diameter capacity
Parameter | Maximum Capacity |
---|---|
Diameter Node | 1 |
Diameter Peers per Node | 10 |
Diameter Realm Routes per Node | 10 |
IP Connections per Peer | 10 |
SRV Records Processed | 5 |
Maximum Diameter Peer Connections (system-wide) | 32 |
- IP connections (per peer) connect to the first 10 A/AAAA queried IP addresses, and the rest are ignored.
- SRV records process top five priority/weight records, and the rest are ignored.
Load Balancing Support Across Peers
Load Balancing for Static Peer
When using load balancing with a static peer configuration (when no DNS query is made and IP address is configured on the peer), the realmRoute configured for each peer must have the same priority to distribute the load evenly among all configured peers.
The example below demonstrates three peers with each peer associated with a realmRoute.
Object | Configuration |
---|---|
peer d1 | state enabled; ipAddress 10.7.6.40; fqdn d1.sbxlabsip.com; tcpPort 3866; deviceWatchdogTimer 20000 |
realmRoute r1 | peer d1; priority 1; realm sonusnet.com; appId rx; state enabled |
peer d2 | state enabled; ipAddress 10.7.6.40; fqdn d2.sbxlabsip.com; tcpPort 3867; deviceWatchdogTimer 20000 |
realmRoute r2 | peer d2; priority 1; realm sonusnet.com; appId rx; state enabled |
peer d3 | state enabled; ipAddress 10.7.6.40; fqdn d3.sbxlabsip.com; tcpPort 3868; deviceWatchdogTimer 20000 |
realmRoute r3 | peer d3; priority 1; realm sonusnet.com; appId rx; state enabled |
To exclude the peer from the load sharing. the corresponding realmRoute must be disabled (i.e to exclude peer d2 from load sharing, disable the realmRoute (realmRoute r2) associated with peer d2.
When realmRoute r2 is disabled, the load is evenly shared between d1 and d3.
Load Balancing for Dynamic Peer
For dynamic peer configuration (when DNS query is made to find the PCRF IP peer) and the SRV query results in multiple A records. To evenly distribute load among all peers, the peer sessionDistribution (addressContext default diamNode myDiamNode peer sessionDistribution) should be set to “round-robin”.
If one of the peer is down, the load gets automatically distribute among the remaining peers.
For configuration details, refer to:
EMA: Diam Node - Peer, Diam Node - Diam Peer Status
CLI: Diameter Node - CLI