Template:FAQ:Agent 08

From Net-SNMP Wiki
Revision as of 19:46, 22 October 2006 by Dts12 (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

All three are protocols that can be used to make two or more agents appear as one to the querying application. In each case, one agent takes the role of "master", and delegates requests to one of the others as and where this is appropriate. The differences between them mainly relate to how data is represented, and the mechanisms for communication between master and subagents.

SMUX and proxy SNMP both essentially use the standard SNMP packet format. The main difference is that a proxy SNMP subagent need not be aware that it is acting in such a role. It typically listens on a non-standard port, and simply receives requests as usual, forwarded from the master agent. The main issue to be aware of is that such requests will usually appear to come from the local host, and this may affect how the access control mechanisms need to be set up.

SMUX uses a similar packet format, but the subagent "registers" with the master agent, providing a suitable password. The Net-SNMP (and UCD) agent includes the possibility of acting as a SMUX master agent, but the suite does not include a subagent API. Note that the SMUX protocol has essentially been superceded by AgentX, but is still provided in order to support existing SMUX subagents. However the core developers have little experience (and even less interest!) in this code, so assistance with SMUX-related problems is likely to be somewhat limited. See the file 'agent/mibgroup/README.smux' for details.

AgentX uses a more compact (and simpler) packet format, with a richer range of administrative commands, and provides a more flexible and reliable extension mechanism. The Net-SNMP agent can be used in both master and subagent roles, and the agent library can also be used to embed an AgentX subagent within another application. See the file 'README.agentx' for details.

Note that support for SMUX is not configured in by default. You will need to run configure with the option

               --with-mib-modules=smux

Starting from release 4.2.1, AgentX support is now included by default, but needs to be explicitly activated in the master agent. Do this by adding the line

               master agentx

to the snmpd.conf file before starting the agent. Note that there are a number of known problems with the AgentX support in the 4.x line, and this should not be used on production systems. The 5.0 AgentX support has been significantly improved, and production use is less foolhardy. See README.agentx for details.