Diameter Agents Simple Explanation

Diameter protocol defines various nodes for specific purposes which are often known as Diameter Agents. These agents are designed to distribute administrations of a system including maintenance of security mechanism. These Agents can also be used for load balancing via routing the diameter protocol messages based on some routing algorithms.
They can also do some sort of processing of diameter protocol messages to forward messages towards the target in a complex network which contains a large number of nodes.

Diameter Agents can be divided into two groups:

1) Stateless agents – A Stateless agents is the agent which maintains only transaction state of the active sessions. “Proxy-Info” AVP allows these kinds of agents to add it’s local state in Diameter request, with the guarantee that the same state will be present in the answer.

2) Stateful agents – A Stateful agents is the agent which maintains the session state by keeping track of all active sessions. Each active session is attached to a particular service and its state remains active until the agent is notified or the session expires. Expiration of a active session is dealt with Session-Timeout AVP.

Note:  Diameter allows an agent to work in stateful manner for some service while stateless for others.

Diameter Agents are of following types:

1) Relay agents :
Diameter Relay agents are diameter agents which are used to forward a diameter message to other diameter nodes based on the information present in the diameter message (eg: Destination Realm, Destination host etc). This routing decision is done based on the list of known realms and peers which are stored in a table known as “Realm routing table”.
The advantage of using relays in the networks is to eliminate the routing and security information overhead from the diameter clients which are necessary in order to communicate with the diameter servers which are present in the other realms. In these cases, client forwards the request to relay agents and then relay agents insert/remove routing information in messages. Note that Diameter Relay agents SHOULD NOT modify any other portion of the message.

Diameter_relay_agent

2) Proxy agents:
Diameter Proxy agents are diameter agents which are used to redirect diameter messages using diameter routing table and can also modify message content to provide some additional services. Thus, proxy agents needs to maintain the state of any active session. For example: Proxies may be used in call control centers or access ISPs that provide outsourced connections, they can monitor the number and type of ports in use and make allocation and admission decisions according to their configuration.

diameter_proxy_agents

3) Redirect agents:
Diameter Redirect agents are diameter agents which are used to centralize diameter routing configuration. So, in this case if any routing updates needs to be done then only redirect agent configuration needs be updated in this case and none of the relay agents needs routing table updation as they get routing information from redirect agents. Redirect agents don’t modify any messages and also they don’t maintain any state for active sessions.

diameter_redirect_agent

4) Translation agents:
Diameter Translation agents are diameter agents which are used to provide translation between two protocols (e.g., RADIUS<->Diameter, TACACS+<->Diameter). These agents are mainly used as an aggregation servers to communicate with diameter network by allowing embedded systems to migrate slowly. Diameter Translation agents maintains session state for active sessions and also maintains the transaction state. Translation of messages can only occur if the agent recognizes the application of a particular request; therefore, translation agents MUST only advertise their locally supported applications.

diameter_translation_agent1

Leave a Reply

Your email address will not be published. Required fields are marked *