The Source for Java Technology Collaboration


DiameterRA Home Wiki Page

Click title to get back to main page of DiameterRA

What are Diameter Agents?

Additionaly to server and client RFC 3588 intriduces also realy,redirect, proxy and translation agents. Diameter agents can perform numerous tasks:
  • load balancing
  • centralizing request dispatching
  • value based pre-processing of messages
  • etc.
Agents must maintain transaction state for failover purposes. Upon forwarding request, its Hop-By-Hop identifier is saved and replaced with new value. When matching response arrives Hop-By-Hop identifier is restored to value before switch. When matching answer arrives request state is released.

TIP Stateless agent is one that only maintains transaction state. Transaction is request/response pair.

TIP A stateful agent is one that maintains session state information; by keeping track of all authorized active sessions. Each authorized session is bound to a particular service, and its state is considered active either until it is notified otherwise, or by expiration. Each authorized session has an expiration, which is communicated by Diameter servers via the Session-Timeout AVP.

Maintaining state by agents can be useful in some scenarios:

  • protocol translation ( RADIUS <=> Diameter )
  • Limiting resources authorized to a particular user
  • Per user or transaction auditing

Relay Agent

Relay agents are responsible for sending messages to apriopriate hosts. They relay on values found is messages, for instance destination realm, etc. Routing decisions are performed with use of list of supported realms and known peers. This is known as the Realm Routing Table. Relay agents MAY be used to aggregate requests from multiple Network Access Servers from one region. It allows to create NASes without knowledge which they shouldnt contain ( netowrk structure ). Moreover Relays simplify Diameter server configuration, which would change every time NAS would be added, deleted or modified.

Relay agent modifies only routing portion of message and leaves other parts of messages intact.

On the graph NAS needs to do something for suzie@example.com. Looks up its routing table and decides that this request has to be passed to relay. Relay agents makes its own lookup in routing table and sends request to apriopriate server. Server identifies that the request can be locally supported (via the realm), processes the authentication and/or authorization request, and replies with an answer, which is routed back to NAS using saved transaction state.

TIP relay MUST NOT maintain session state, but MUST maintain transaction.

TIP since relays do not provide any application level processing they have to advertise itself with application they will relay!!!

Proxy

Proxy agents similarly to relays, route diameter messages using the Diameter Routing Table. However, they differ since they modify messages to implement policy enforcement. Because of this proxies are required to maintain state of their down streem peers (e.g., access devices) to enforce resource usage, provide admission control, and provisioning. Usages:
  • call control centers
  • access ISPs

TIP Proxies that are meant to limit resources MUST maintain session state.

TIP All proxies MUST maintain transaction state.

TIP Since enforcing policies requires an understanding of the service being provided, Proxies MUST only advertise the Diameter applications they support.

Redirect Agent

This type is the simples one. It is used in scenarios where centralized routing managment is needed. Since redirect agent returns only answer to requests.

TIP Redirect agents dont maintain session nor transaction state!!!

Translation

Transaltion agent provides transaltion service between Diameter and other protocol ( RADIUS, TACAS+ ). Translation agents are likely to be used as aggregation servers to communicate with a Diameter infrastructure, while allowing for the embedded systems to be migrated at a slower pace.

TIP Translation agents MUST be session stateful and MUST maintain transaction state.

TIP Translation agents MUST only advertise their locally supported applications ( since these are only ones that can be translated ).

-- Main.baranowb - 08 Jun 2006

Topic DiameterAgents . { Edit | Ref-By | Printable | Diffs r3 < r2 < r1 | More }
 XML java.net RSS

Revision r3 - 10 Jun 2006 - 11:08:32 - Main.baranowb
Parents: WebHome > MobicentsOpenSLEE > MobicentsFAQ > MobicentsDiameterRA