Skip to main content

2. Overview

The following illustration depicts the Message Processing in relation to SNMP applications, the Security Subsystem and Transport Mappings.

+-------------------------------------------------------------------+
| SNMP Entity |
| |
| +---------------------------------------------------------------+ |
| | Applications | |
| | +-----------+ +--------------+ | |
| | | Command | | Notification | | |
| | | Generator | | Originator | +-----------+ +--------------+| |
| | +-----------+ +--------------+ | Proxy | | Other || |
| | +-----------+ +--------------+ | Forwarder | |Application(s)|| |
| | | Command | | Notification | +-----------+ +--------------+| |
| | | Responder | | Receiver | | |
| | +-----------+ +--------------+ | |
| +---------------------------------------------------------------+ |
| ^ ^ ^ ^ |
| | | | | |
| v v v v |
| +--------+-------+---------------+-----------+ |
| ^ |
| | +---------------------+ +-----------------+ |
| | | Message Processing | | Security | |
| Dispatcher v | Subsystem | | Subsystem | |
| +------------------+ | +------------+ | | | |
| | PDU Dispatcher | | +->| v1MP * |<--->| +-------------+ | |
| | | | | +------------+ | | | Other | | |
| | | | | +------------+ | | | Security | | |
| | | | +->| v2cMP * |<--->| | Model | | |
| | Message | | | +------------+ | | +-------------+ | |
| | Dispatcher | | | +------------+ | | +-------------+ | |
| | | | +->| v3MP * |<--->| | User-based | | |
| | | | +------------+ | | | Security | | |
| | | | +------------+ | | | Model | | |
| | | | +->| otherMP * |<--->| +-------------+ | |
| | | | +------------+ | | | |
| +------------------+ +---------------------+ +-----------------+ |
| ^ ^ |
| | | |
| v v |
| +---------------------------------------------------------------+|
| | Transport Mappings (e.g., RFC 3417) ||
| +---------------------------------------------------------------+|
| |
+-------------------------------------------------------------------+

2.1. The Dispatcher

The Dispatcher is responsible for:

  • Dispatching PDUs to applications. For this, it uses a Unique PDU Type, combined with the contextEngineID and pduType, to select the proper application.

  • Sending and receiving SNMP messages. For this, it must determine the version of each received SNMP message and pass it to the appropriate Message Processing Model for processing. On transmission, it must determine which transport and address to use when sending SNMP messages.

  • SNMP message processing. The Dispatcher delegates this to a Message Processing Model within the Message Processing Subsystem.

  • The registration of applications for handling received SNMP PDUs.

The Dispatcher provides a service interface for delivering PDUs to applications and for applications to send PDUs.

2.2. Message Processing Subsystem

The Message Processing Subsystem is responsible for:

  • Preparing messages for sending, which involves collaborating with a Security Model to apply security processing.

  • Extracting data from received messages, which involves collaborating with a Security Model to verify security processing.

A Message Processing Model contains one model of Message Processing in the Message Processing Subsystem. There can be multiple Message Processing Models, each processing a different version of an SNMP message.

A Message Processing Model is responsible for processing a specific message format (version). Each Message Processing Model may specify the format it uses to exchange data with the Security Subsystem. At a minimum, it must be able to exchange the abstract data elements and service primitives as specified in the SNMP architecture [RFC3411].