You are on page 1of 19

CORBA-SNMP Protocol Converter

Technical White Paper

Notice
Copyright 1998 ONE. All rights reserved. This document is protected by copyright and distributed under licenses restricting its use, copying and distribution. No part of this document may be translated or reproduced in any form by any means without the prior written authorization of ONE and its licensors. Any specific warranty related to ONE products as to which this material relates is available in ONEs licensing terms and conditions. The information in this document is subject to change without notice. ONE is a registered trademark of ONE. ONE makes no warranty of any kind with regard to our products including documentation, and specifically disclaims the implied warranties of merchantability and fitness for a particular purpose. ONE shall not be liable for errors contained herein or for any damages, whether direct, indirect, consequential, incidental or special, in connection with ONE products. ONE 2725 South Industrial, Suite 100 Ann Arbor, MI 48104 Part no. WHT-W-XX-X-XA-10 Revision A, printed in the USA, September 1998 Restricted Rights Legend Copyright 1988, 1989, Carnegie Mellon University. Copyright 1988, 1989, Massachusetts Institute of Technology. Copyright 1979, 1980, 1983, 1985-1988 The Regents of the University of California. Copyright 1994 Hewlett-Packard Company Copyright 1996, 1997 Silicon Graphics Computer Systems, Inc.
iii

Copyright 1997 Moscow Center for SPARC Technology This software and documentation is based in part on the Fourth Berkeley Software Distribution under license from the Regents of the University of California. UNIX is a registered trademark in the United States and other countries and is exclusively licensed by X/Open Company Ltd. Microsoft is a registered trademark and Windows NT is a trademark of Microsoft Corporation in the United States of America and other countries. Sun, Sun Microsystems, Solaris, Solstice, SunLink and TMNscript are trademarks of Sun Microsystems, Inc. CORBA, ORB, the Object Request Broker, IIOP, UML and the OMG Interface Definition Language (IDL) are trademarks or registered trademarks of the Object Management Group, Inc. in the United States of America and other countries. All other product names referenced herein are trademarks of their respective companies.

iv

Contents
The Challenge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 The Players . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 CORBA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 The CORBA-SNMP Protocol Converter Solution . . . . . . . . . . . . . . . . 11 Information Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Key Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Using the CORBA-SNMP Protocol Converter . . . . . . . . . . . . . . . . . . . 15 Performing Management Operations. . . . . . . . . . . . . . . . . . . . . . . . 15 Processing Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 For More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

vi

The Challenge
In the telecommunication (telecom) and data communication (datacom) domains, mediation is the process in which information is manipulated as it moves from one network element to another. This manipulation may involve such things as protocol conversion, information model mapping, and functionality access. The actual mediation process can be conducted in hardware or software and can be used on either side of the information exchange. The mediation process is imperative in todays heterogeneous telecom and datacom domains. Network Elements (NEs) such as switches, routers, and terminals speak a wide variety of protocols (TL1, SNMP, CMIP) and use a wide range of information models (GDMO, CORBA). The protocol and information model used by any given Network Element depends on the manufacturer choice and the type of Network Element. The same diversity found in NEs can also be seen in todays Operation Support Systems (OSS). OSSs are used by service providers to maintain and monitor the NEs that comprise a network. Generally, the OSS is a software platform that has been designed to manage a set of NEs using a specific protocol type and information model.

CORBA-SNMP Protocol Converter Technical White Paper

The Challenge

As network size increases, the likelihood of a network remaining homogeneous with respect to the protocol and information model used by its NEs and OSS decreases. For large and diverse networks, the service providers cannot be expected to maintain one OSS for each protocol and information model. Thus, some form of mediation is required in order to reconcile the differences between the chosen OSS protocol and information model and the NEs it manages.

CORBA-SNMP Protocol Converter Technical White Paper

The Players

The Players
As an introduction to the technologies involved in a CORBA-SNMP mediation, look at the example of a CORBA-enabled Operation Support System (OSS) that is required to interact with SNMP devices. As the two entities use different protocols, a conversion of CORBA information into SNMP information and vice versa must be performed. The conversion, or mediation, of information could be performed by a piece of software included in the OSS, by a hardware device directly connected to the SNMP device, or even by a separate process located between the OSS and SNMP device.

CORBA
CORBA stands for Common Object Request Broker Architecture and is the standard for distributed object computing. Developed by the Object Management Group (OMG) in the early 90s, CORBA is the mechanism that handles the communication between objects, regardless of where those objects are located. Thus, via CORBA, two distributed objects on different sides of the world can transparently cooperate as if they were located within the same process. The object developer is not required to know any details concerning the intercommunication: all that is required to communicate with a CORBA object is knowledge of the objects interface, defined in the OMGs languageneutral Interface Definition Language (IDL). In the telecom and datacom domains, NEs would be treated as CORBA objects having their own management IDL interface. An OSS could then manage these objects using the given IDL interface, unhindered by any specific protocols and information models.

CORBA-SNMP Protocol Converter Technical White Paper

The Players

In this respect, CORBA simplifies the management of Network Elements by using industry-wide standard distributed computing software in place of more specialized and often complex legacy protocols. However, millions of NEs that use these legacy protocols exist and will continue to exist for many years to come. Thus, the new CORBA-based OSSs must interact with the legacy equipment via some sort of mediation application.

SNMP
SNMP stands for Simple Network Management Protocol. It was designed in the late 80s to address the need for a management protocol for the growing number of TCP/IP networks. Today, it is employed in millions of the managed devices spread across the vast array of TCP/IP networks that comprise the Internet. As implied by its name, basic SNMP is simple. An SNMP agent provides three general functions: Get, Set, and Trap. Get operations allow the SNMP manager to retrieve the values of the objects in the agent. Set operations allow the manager to set those values. Trap operations allow the agent to notify the manager in case of significant events.

10

CORBA-SNMP Protocol Converter Technical White Paper

The CORBA-SNMP Protocol Converter Solution

The CORBA-SNMP Protocol Converter Solution


In order to ease the development of mediation between new CORBA-enabled manager applications and legacy SNMP Network Elements, ONE offers the CORBA-SNMP Protocol Converter. The CORBA-SNMP Protocol Converter is a gateway between a CORBA-enabled manager application and a set of SNMP agents. The Protocol Converter uses an IDL interface to communicate with manager applications and SNMP to communicate with agents. This communication includes performing management operations (GET, SET, etc.) and receiving asynchronous events (traps). The CORBA-SNMP Protocol Converter is accessed through a set of IDL interfaces and structures. The Protocol Converter includes an IDL that offers a generic (MIBindependent) approach to providing management operation services and network alarm identification. The Protocol Converter can be accessed by any number of manager applications and can manage any number of SNMP agents. The CORBA-SNMP Protocol Converter also provides several sample clients (C++ and JAVA) which can be used as starting points for building your manager application or for integrating the CORBA-SNMP Protocol Converter into an existing management application. Figure 1 illustrates the architecture of the CORBA-SNMP Protocol Converter.

CORBA-SNMP Protocol Converter Technical White Paper

11

The CORBA-SNMP Protocol Converter Solution

IDL

IDL Compiler

M a n a g er A p p lica tion (C + + )

M a n a g er A p p lic atio n (J AVA )

CORBA

C O R B A -S N M P P rotocol C on verter

SNM P
SN M P A g en t
Figure 1 CORBA-SNMP Protocol Converter architecture.

SN M P A g en t

12

CORBA-SNMP Protocol Converter Technical White Paper

The CORBA-SNMP Protocol Converter Solution

Information Flow
The CORBA-SNMP Protocol Converter implements a convert-and-forward process. The Protocol Converter translates incoming CORBA requests from manager applications into SNMP requests, and then forwards these requests to the appropriate SNMP agent. Conversely, the Protocol Converter converts incoming SNMP agent responses and events into corresponding IDL operations and structures, then forwards them to manager applications. Figure 2 depicts the information flow between CORBA manager applications and SNMP agents.
C O R BA M anager A pplication

CORBA
U n s o l ic it e d E v en t R e sp o n se
O p e ra tio n In v o ca tio n

C O R B A S e rv er

CORBA-SNMP Translator SNMP Manager CORBA-SNMP Protocol Converter


R e q u e st

SNMP
SN M P A gent
Figure 2 Information flow between CORBA manager applications and SNMP agents.

CORBA-SNMP Protocol Converter Technical White Paper

Tr a p

13

The CORBA-SNMP Protocol Converter Solution

Key Concepts
The CORBA-SNMP Protocol Converter maintains a list of Manager Identities and Agent Targets. A Manager Identity defines the listening address of a CORBA manager in the Protocol Converter. An Agent Target defines an SNMP agent on the network, including its network address and configuration parameters. Each SNMP agent can specify a manager address where it will send management events such as traps. Figure 3 illustrates these concepts.

Agent Handle Agent Handle


Manager Application

Agent Target Agent Target Agent Target Agent Target Agent Target

Manager Identity Manager Identity

SNMP Agent

Administration Server

SNMP Agent

Manager Identity
SNMP Agent

CORBA-SNMP Protocol Converter


Figure 3 Key internal architecture concepts of the CORBA-SNMP Protocol Converter.

14

CORBA-SNMP Protocol Converter Technical White Paper

Using the CORBA-SNMP Protocol Converter

Using the CORBA-SNMP Protocol Converter


Performing Management Operations
To perform a management operation on an SNMP-enabled device from within a CORBA-enabled manager application, your manager application must have a CORBA object reference that refers to an Agent Handle. An Agent Handle is a reference to an SNMP agent and is a manager s contact point. Through an Agent Handle, a manager can send requests to an agent as well as receive agent responses, traps, and events. Each Agent Handle is bound to one specific SNMP agent using the agents Agent Target definition. The object reference in your manager application is a proxy to the actual Agent Handle that resides in the CORBA-SNMP Protocol Converter server, which in turn is a proxy to the actual SNMP agent. The manager application can request an Agent Handle object reference for a specific agent directly from the Protocol Converter. Management operations can be invoked in synchronous or asynchronous mode. In synchronous mode, the calling thread is blocked until the response is received (see Figure 4). In asynchronous mode, the client thread initiates the management request and continues normal processing. Then, when the request has been serviced, the caller is notified with the associated response.

CORBA-SNMP Protocol Converter Technical White Paper

15

Using the CORBA-SNMP Protocol Converter

Create an agent handle

Request object Reference object Reference

CORBA-SNMP Protocol Converter

Invoke service operation


Thread Blocked

GET() Get request PDU

Agent Handle
Get response PDU

SNMP Agent

M an ager A pp lication
Figure 4 Information flow for a synchronously performed GET operation.

Processing Events
Events are SNMP traps (v1 traps or v2 notifications) or SNMPv2 inform requests generated by agents. An agent sends a specific SNMP trap to its registered manager application as notification of a significant event. The CORBA-SNMP Protocol Converter handles SNMP events in a manner similar to the CORBA Event Service push model. Using Event Service terminology, the Protocol Converter is the push supplier which dispenses events to manager applications. To receive these events, manager applications must contain a registered push consumer CORBA object. To register an object as a push consumer, a manager application implements a specific push consumer interface defined in the CORBA-SNMP Protocol Converter IDL. The manager application sends an object reference to an instance of this implementation to the Protocol Converter when registering for traps.

16

CORBA-SNMP Protocol Converter Technical White Paper

Using the CORBA-SNMP Protocol Converter

The CORBA manager application can register to receive events for both global and specific agents. In both cases, the manager application must have a push consumer object to receive the events. For events generated by a specific agent, the manager application must also have an Agent Handle object reference. Figure 5 shows the CORBA-SNMP Protocol Converter s event management model.

Manager Application

Register for Events (ObjRef) (1)

CORBA-SNMP Protocol Converter


ObjRef
Trap (2)

SNMP Agent

SNMP Push Event Consumer

Push Event (3)

InternalEventServer (Push Supplier)

Figure 5

CORBA-SNMP Protocol Converter Event management.

CORBA-SNMP Protocol Converter Technical White Paper

17

Benefits

Benefits
The CORBA-SNMP Protocol Converter offers a solution to the problem of managing SNMP agents from a CORBA-enabled manager application. By acting as a gateway between manager applications and agents, the CORBA-SNMP Protocol Converter provides full access to SNMP agents via a generic CORBA interface. Manager applications can issue GET, GET_NEXT, GET_BULK, and SET requests and receive notifications from agents without any knowledge of SNMP PDUs. This feature greatly reduces development time and minimizes the amount of additional code required in the management application.

18

CORBA-SNMP Protocol Converter Technical White Paper

For More Information


For more information about available documentation and the products and services we provide, please contact us: Open Networks Engineering Inc. 2725 South Industrial Ann Arbor, MI 48104 E-mail: support@one.com Phone: (734) 975-8500 Fax: (734) 975 6940 Web: http://www.one.com