# NaturalAccess SNMP API architecture

NaturalAccess SNMP API architecture consists of the following components:

- The NMS multiplexer (mux)

- NMS subagents for each MIB

As shown in the following illustration, the NMS multiplexer is located between the native SNMP master agent and the UDP port to the external network. The native master agent is reconfigured to communicate with the NMS multiplexer instead of the external network. The NMS multiplexer communicates with the NMS subagents (one for each MIB).

The NMS multiplexer handles all requests coming from the UDP network port and communicates with the NMS subagents. SNMP requests not addressed to the NMS multiplexer are routed to the native master agent. Each NMS subagent runs in a different process and exchanges information with the multiplexer using a UDP socket connection. The NMS multiplexer is connected to three different IP/UDP ports:

- SNMP network port (default value: 161)

- Communication port between the SNMP master agent and the multiplexer (default: 49212)

- Communication port between the SNMP subagents and the multiplexer (default: 49213)

These IP/UDP ports can be changed by editing the snmp.cfg file as described in Reconfiguring multiplexer IP/UDP ports.

The multiplexer console program, muxC, can read the snmp.cfg file and display the currently used IP/UDP ports. It can also start and stop the agents without having to kill the process. It can display all currently registered subagents.

As shown in the following illustration, configurable IP/UDP ports allow the NMS multiplexer to be inserted in a chain of multiplexers. In this configuration, each multiplexer processes incoming SNMP requests. Requests not addressed to a given multiplexer are passed to the next one.

The main benefits of the multiplexer are:

- Uniform structure of SNMP agents and subagents

- Dynamic agent and subagent insertion, removal, and update

- Independence from differing master agent implementation and protocols under each operating system

- Uniform trap environment, adopting a solaris-like approach.

The following illustration shows the inner architecture of the NMS multiplexer: