Receive UDP packets on the Socket and push them into input Queue without processing, to achieve a very high.The steps briefly describe what all shall be needed: The architecture has been redefined to achieve high processing rate, along with minimum dependencies on any SNMP stacks. This section describes the Architecture of HSC Trap Receiver. SNMP Packet decoder shall pass the processed packets to Packet processor which shall dump them into log files.Decoding shall be done by separate threads, by picking the packets from the receive queue.Upon reception of raw packet, the packet shall be inserted in a receive Queue, without processing, in order to achieve high packet reception rate.Design aspects unique to HSC Trap Receiver In the conventional architecture, these three layers functions are performed using a single thread and many a times, a thread pool is used for higher performance. The Processing Layer is responsible for processing the SNMP Trap, like persisting in database etc.The Decoding Layer is responsible for converting the bytes into SNMP Trap representation.The Network layer is responsible for receiving the Trap packet from the network and passing onto next layer.The conventional Trap Receiver implementation comprises of three layers with distinct functional role at each level: The figure below describes a high level Functional View of a Trap Receiver Processing Layerįigure 2: Functional View of Trap Receiver Able to handle a sustained a high Trap Rate (2000 Traps/Sec or greater)įunctional View of Trap Receiver Application.Shall use SEDA (Staged Event Driven Architecture) based Design to achieve high throughput.Flexibility to use any available SNMP stack for Trap Decoding with minimal changes.Smooth migration from Netty, an ancestor of Apache MINA.Ī “good” Trap Receiver should be able to handle sustained high Trap rate and have virtually no dependencies towards the SNMP stack used for decoding.
Integration with well known containers such as PicoContainer and Spring.Stream-based I/O support via StreamIoHandler.Overload shielding & traffic throttling.Low-level and high-level API got IO operations.Filter interface as an extension point similar to Servlet filters.
Unified API for various transport types.Introducing Apache MINAĪpache MINA is a simple, yet, full-featured network application framework which provides: The article focuses on developing a Trap Receiver using Apache MINA and available SNMP stacks like SNMP4J, joesnmp etc. It provides an abstract - event-driven - asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO. Apache MINA is network application frameworks which help the users develop high performance and highly scalable network applications easily.
In this article we shall discuss the implementation of a SNMP Trap receiver using Apache MINA (Multipurpose Infrastructure for Network Applications). Trap Receiver play a very crucial role in Fault Management Applications, by receiving and parsing the bytes into meaningful messages. SNMP Trap is a message initiated by a Network Element to notify the Management Station of a significant event.