
Product used
==========
Product: F5 LTM (version 10.2)
Features used: Diameter Proxy, Diameter Sess-ID AVP Persistence, Diameter Monitor (Built-in EAV healthcheck)
The Setup
========
Diameter clients <-> Diameter Virtual Server (F5) <-> Diameter servers
Typical Diameter Communication
========================
- Most Diameter protocol uses long lived TCP connections, multiple messages per connections (F5 achieve this with MB-LB). Some rare Diameter software implementation do have a limit on the number of TCP connections allowed to be established.
- A TCP handshake is first established between Diameter Client to Diameter VS (client-side). Then F5 will open a server-side connection to the selected Diameter Server. (Yes, F5 will make this load balancing decision)
- Next, Diameter client send CER (CapabilityExchangeReq) to Diameter VS (F5), F5 will decide which Diameter servers to send to (and check if any persistency records found). Selected Diameter server will respond with CEA (CapabilityExchangeAnswer)
- This is then followed by Diameter client sending CCR (CreditControlReq) where Subscriber info are inserted and Diameter server will respond with CCA (CreditControlAnswer). CCR/CCA are mainly used for telco charging.
- Sometimes when no messages are received over a period of time, Diameter clients sends DWR(DeviceWatchdogReq) to detect peer status, Diameter server will respond with DWA (DeviceWatchdogAnswer)
- To disconnect a Diameter connection, Diameter client sends DPR (DisconnectPeerReq) and Diameter server responds with DPA (DisconnectPeeerAnswer). This is then followed by TCP connection teardown.
Diameter Session Persistency
=====================
- F5 has built-in diameter profile that handles Sess-ID persistency along with Universal Persistence, do set a timer value (default: 180 sec) so that it best match with your Diameter application need. See ASKF5 SOL 11653 for Persistence Profile compatibility for Diameter use.
Diameter Monitor
=============
- F5 has a built-in Diameter monitor that sends CEA (and you can customised the AVPs to send) and expect a CER with Result-Code (default: 2001) in order to mark a Diameter server as UP. See ASKF5 SOL 11681 for an overview of Diameter Monitor.
Have fun with Diameter, it is going to be the de-facto protocol for Telco domain for charging applications, while Radius is slowing moving away.
No comments:
Post a Comment