- Solutions
      - SNMP Research         - BRASS


 SNMP Research Corporate Website


 Request more information about SNMP Research

Brass - SNMP Manager Development Framework

BRASSTM is a Management Application Development Toolkit designed to provide facilities for easily creating SNMP management applications. It provides a C programming API that allows one or many management applications to access a single, shared SNMP stack and security database.

Overview

The BRASS toolkit optimizes the management station platform by providing full SNMP functionality, management application extensibility, SNMPv1, SNMPv2c, and SNMPv3 support, and simplified security configuration. BRASS allows for efficient memory usage when there are multiple management applications.

Figure with layering of BRASS under popular management station APIs.

Functionality: With BRASS, management applications need not perform any of the work associated with building and parsing SNMP packets. BRASS builds and sends SNMP get, getnext, getbulk, and set requests, and parses incoming SNMP responses, traps, and inform requests.

Extensibility: The BRASS toolkit adds extensibility to the manager station. SNMP-based management applications can be added without requiring the developer to understand the details of SNMP. In addition, because of BRASS' efficient applications programming interface (API) many programs can run simultaneously without causing application conflicts.

SNMP Version Support: By supporting SNMPv1, SNMPv2c, and SNMPv3 simultaneously, BRASS allows networks to migrate to secure SNMPv3 slowly as nodes are added, replaced, or upgraded.

Simplified Security Configuration: The configuration of security parameters is simplified on a management station containing multiple management applications. Access to the security parameter datastore is controlled by the BRASS Management Multiplexer. This allows all management applications running on the management station to share the same security parameter datastore.

Typically, in SNMPv3 there needs to be a separate snmpEngineID for each management application. BRASS solves this problem, because the SNMP engine is contained in the BRASS Management Multiplexer. This means there is a single snmpEngineID, which is shared by all applications.

Efficient Memory Usage: By allowing multiple applications to use a single SNMP stack, BRASS reduces the run-time memory usage required by management applications which do not share a stack.

Figure showing relationship of BRASS to EMANATE

Features

  • The BRASS Management Multiplexer provides shared, arbitrated access to the network and to the SNMPv3 security configuration datastore. This maintains integrity of the datastore as it is used and modified by several management applications.
  • The BRASS Application Programming Interface (API) provides a consistent programming interface across multiple platforms.
  • The BRASS Management Application Development Kit (MADK) libraries enable application portability from one management platform to other management platforms.
  • The Application Programming Interface (API) speeds the development of network manager and agent applications.
  • BRASS coordinates SNMP requests for all management applications on a system.
  • Asynchronous multiplexing of SNMP requests speeds handling of each SNMP Packet.
  • Management applications use the same API used by the Asynchronous Request Library (ARL). Converting applications to use BRASS is simply a matter of relinking.
  • MIB Tools and Translators support both SNMPv1 and SNMPv3 style MIB documents.
  • The Multiplexer maintains MIB variable knowledge and provides this knowledge to applications through API calls:
    • OID/English descriptor mappings
    • Integer/English enumeration mappings
    • MIB tree structure
    • MIB variable type, access, and index information

  • Simplifies the agent configuration files for every network node that must be managed since the agent is configured once for the BRASS Server rather than for each management application.
  • Although it might appear that the BRASS API adds yet another API to the already long list, BRASS allows you to develop a translation between its API and the API of many popular management stations. The following figure illustrates this layering:

Architecture

BRASS is built around a Management Multiplexer which, when installed on a management station, provides SNMP services to multiple applications. These services include performing SNMP requests, receiving SNMP traps, sending ICMP ECHO requests, performing TRACEROUTE operations, and getting information about MIB object syntax.

The SNMP stack is contained within the Management Multiplexer. With this architecture, management applications no longer need to handle SNMP tasks themselves. As a result, the code size of these applications is smaller, they consume fewer operating system resources, and overall system performance is improved.

The BRASS Multiplexer also uses a single datastore to deal with security configuration and application secrets. This streamlines productivity as the security parameters for several applications are reduced to a single set.

BRASS greatly reduces the complexity associated with coordinating several management applications within the same management station. In order to use SNMPv3, each management application on a device must have access to a security datastore, including secrets that are shared with an agent. Each management application must coordinate use of the datastore and secrets with other management applications. The BRASS multiplexer provides this coordination by maintaining the SNMPv3 datastore, and by performing datastore and SNMP operations at the request of management applications. This prevents management applications from conflicting in their use of the security datastore.

BRASS / EMANATE Relationship

The following illustration shows the relationship of an extensible manager technology, such as BRASS, to an extensible agent technology, such as EMANATE. In both cases, the SNMP stack is contained in a single process. Agent or management functionality is extended through the addition of management applications (BRASS) or subagents (EMANATE) using well-defined API's. This means that just as additional MIBs are added to an agent, additional applications to manage via these MIBs can be easily added to a manager.


Packaging

The components of BRASS may be licensed as a group in source code, or in binary form depending on the needs of the developer.

The binary tools are available in two parts:

  • The Management Applications Development Kit which adds the well-defined API to the management application, and
  • The BRASS Server which consists of The Management Multiplexer and Configuration Datastore.