Diameter Base Platform
Key Benefits
• Lower barrier
of entry into Diameter based solutions markets
• Create
IMS-compliant network elements
• Reduce
development costs and time to market
• Gain
performance advantage by licensing proven implementation
• Allow
application developers to focus on application logic instead of
network protocols and traffic management
Mobile service
providers must offer innovative multimedia services that operate
across various access methods and device types in order to retain
their existing customers and attract new ones. To address this
need, the leading providers are building converged services
delivery architectures in which voice, data and video are delivered
across an IP-based network. The 3GPP IP Multimedia Subsystem (IMS)
provides a complete architecture for a suite of converged services
in an all IP-based network. IMS standards provide open interfaces
for access control and session management. IMS transforms the
network from a connection-based architecture to subscriber-based in
which applications and services are readily requested and delivered
to a range of devices and on multiple networks. Diameter is the
next generation protocol for Authentication, Authorization, and
Accounting in the IMS architecture.
The Diameter Base Protocol (RFC 3588) is an IETF Proposed
Standard, covering the network behavior of all Diameter
applications designed on top of it. It differs from RADIUS in that
it allows the implementer to define their own applications and
request/response pairs. As such, it is completely open and
extensible. However, regardless of the specific Diameter
application, all Diameter nodes must conform to the base protocol
specification. The Diameter Base Platform is an IMScompliant
development kit that allows application developers to implement
arbitrary Diameter applications. It provides a framework for
implementation of a carrier- grade Diameter node to run on standard
computer hardware. The platform implements the base protocol in
full conformance with the relevant specifications. By choosing the
Diameter Base Platform, you can quickly create fully
standards-compliant Diameter solutions.
However, the development kit is much more than just an
implementation of the base protocol. It is a platform that
maintains connections to Diameter peers, manages traffic flow,
detects anomalous conditions, and allows your application code to
direct its operation when your application developers require it.
All the networking functionality required to correctly service
Diameter requests and responses is included. The time and effort
necessary to build in-house networking expertise can be extensive
and add unforeseen costs to any development project. Instead, you
can let the Diameter Base Platform take care of all the networking
details and allow your team to concentrate on designing your
application. Whether you are building session and policy control
elements such as Call Session Controller (CSCF, BGCF), Management
and Service Fulfillment elements (CCF) or a Centralized Subscriber
Database (HSS), the end result of leveraging this proven solution
is reduced time to market for your own products.
The Diameter Protocol
Diameter is the
next-generation protocol for Authentication, Authorization, and
Accounting. Originally an IETF draft in March 2001, Diameter has
since become a proposed standard RFC, namely RFC 3588. Some of the
first Diameter applications to be defined were those that expand on
existing RADIUS solutions, such as EAP authentication, accounting,
and Mobile IP.
Diameter in IMS
However, the
importance of Diameter increased dramatically with the selection of
Diameter as the signaling protocol to be used between many
components of the 3GPP IP Multimedia Subsystem (IMS). Several
Diameter applications are defined for use within this architecture,
and all of them must be implemented on conformant implementations
of
the Diameter base protocol.
These Diameter
applications within IMS carry signaling information that affects
every phase of the delivery of multimedia services to subscribers.
Therefore, the load on these applications increases with the size
of the subscriber base. As a result, the Diameter implementation
becomes a critical component of any scalable IMS solution.
Diameter Base Platform
The Diameter Base
Platform is a high performance software implementation of a
Diameter node. As shipped, the platform is capable of managing
transports, connections to other peers, protocol sequences required
by the Diameter RFCs, and manages an appropriate thread model for a
high performance server. Applications, even those written by the
customer, can operate on top of this platform. All applications
benefit from one shared framework and one implementation of the
base protocol. By programming to a C API, custom applications can
be defined by the customer, which can then be called from other
Diameter nodes. The API used is designed along object-oriented
principles and presented as standard C entry points for maximum
binary compatibility. Juniper Network’s engineers also
provide global support services to complement our products and can
consult on IMS development and custom software solutions.
Designed for Performance
A Diameter-based
network of servers is very different from appropriate architectures
in pre-3G networks. Because most network elements are software
running over an IP network, the performance of these IP- based
signaling systems is critical. Furthermore, Diameter is a peer-
to-peer protocol. Nodes are neither purely servers nor clients.
Both sides of a Diameter link must have similar performance
characteristics in order to be able to scale the entire solution
while being assured of interoperability when it comes time for
integration testing.
Standards-Based
Because the Diameter
Base Platform’s external Diameter interface is entirely based
on standards-track RFCs, it will also interoperate with other
vendors’ implementation of the protocol. This characteristic
allows vendors to create only some of the components of a larger
solution while being assured of interoperability when it comes time
for integration testing.
Complete and
Flexible Networking Solution
The platform does
not require the customer to implement every detail involved in
managing the network connections and request / response processing.
Hence, it allows the application developers to create a complete
application without requiring experience in building high-
performance server applications. If the customer chooses to let the
application handle all networking situations autonomously, the
platform will react appropriately to network events:
The platform will defend against rogue nodes (unauthorized network
elements) that are not part of the trusted solution, ensuring that
the application code will not need to handle attacks from hostile
network participants. Even the simplest application built on the
platform enjoys the benefits of this functionality. Furthermore,
congestion or disconnect conditions in the network are detected and
handled. For example, when a network connection is found to be
backing up with traffic, the platform will redirect appropriate
requests to another available connection, if possible. The
application code is informed of these events, and it may choose to
intercede.
However, it is not
strictly required that the application code take any action in
these scenarios. As a result, a typical first version of an
application will have appropriate behavior even during anomalous
networking conditions, even if the application does not include
explicit handling of any such situations. If, on the other hand,
the application programmer decides to handle such situations
explicitly, they can use the platform’s rich API for handling
events and directing recovery behaviors. This API allows the
application to selectively direct or override any part of the
platform’s default behaviors, so that advanced scenarios can
be tailored to the specific application’s needs.
Another way the
application programmer may choose to direct the platform’s
recovery operation is by deep queue inspection. This functional
area of the platform allows the developer to make application-level
decisions regarding the correct way to handle requests that are
currently in the platform’s queues. Some evelopers may feel
that the application code, with its superior understanding of the
semantics of each message, can best determine which messages should
be rerouted or failed or retried. At the developer’s
discretion, the platform can allow this level of intervention by
the application, without adversely affecting performance. Even the
most advanced application developer’s requirements can be
addressed, while making a fully operational but minimal application
extremely easy to create.
|