[AGENT++] can get from subnet netaddress. A bug of SNMP++ or SNMP Protocol fault?

Bob Natale Bob.Natale at AppliedSNMP.com
Fri Apr 1 02:14:24 CEST 2005


Hi Jochen,

I don't disagree with your answer at all, but I do think that the case 
for *not* sending or responding to SNMP messages on the broadcast 
address is much stronger than one might infer from your text.

First, putting such traffic on the broadcast address is potentially 
abusive.

Second, SNMP is clearly a request/response protocol (ignoring traps, 
which are more like a publish/subscribe model).  Normal SNMP 
application and middleware behavior is (thankfully) optimized around 
that principle.  Resource- and performance-efficient retransmission 
policies, dispatching algorithms, etc., all build off the one-
request/one-response principle.

Third, sure it can be done.  But implementations like the 
SNMP++ "broadcast-discovery()" method generally come with some 
appreciable caveats...some stated, some implicit.  (SNMP discovery is 
much more effectively handled on an overall basis, IMHO, using a more 
deterministic approach.)

Cheers,
BobN

---- Original message ----
>Date: Thu, 31 Mar 2005 21:02:43 +0200
>From: Jochen Katz <katz at agentpp.com>  
>Subject: Re: [AGENT++] can get from subnet netaddress. A bug of SNMP++ 
or SNMP	Protocol fault?  
>To: agentpp <agentpp at agentpp.org>
>
>Hi,
>
>> There is a subnet 192.168.0.104/255.255.255.252 where my routers
>> resides. Router A has a IP address 192.168.0.105 and Router B
>> 192.168.0.106
>> 
>> But when I provide the subnet netaddress 192.168.0.104 or subnet
>> broadcast address 192.168.0.107 ,it will both get a response from
>> 192.168.0.105. I use the SNMP++v3.2.16 package. Is this phenomenon
>> caused by SNMP++ package or SNMP protocol?
>
>snmp++ does not expect to receive two responses for one request, so 
only
>the first that is received is returned. Possibly router A is faster 
than
>router B or B just does not answer broadcast requests (you can use a
>sniffer to check this).
>
>As the SNMP standard does not define what agents should do if they
>receive a request on a broadcast address, some agents answer them and
>some don't.
>
>snmp++ has a function Snmp::broadcast_discovery() that waits for
>multiple answers.
>
>Regards,
>  Jochen
>
>_______________________________________________
>AGENTPP mailing list
>AGENTPP at agentpp.org
>http://lists.agentpp.org/mailman/listinfo/agentpp



More information about the AGENTPP mailing list