开发者

Unable to receive response from the SNMP port

I am using SNMP to access the remote system data. According to the requirement I am encoding the SNMP request data to OAMPDU packet format and sending to remote system. The remote system receives the OAMPDU packet, decodes it and sends the snmp request to snmp agent through UDP socket which is bound to port 161. But I am unable to receive the response from snmp agent. I have created a UDP socket which is bound to 161 port to receive the response.

If I use any other free port number other than 161 for receiving SNMP agent does not send responses to that port.

Can anyone please suggest me how to开发者_开发技巧 overcome this problem?

Can we configure the different ports for tx,rx ???

How do we know on which port does snmp sends the response ???


Each UDP packet has a source port and a destination port. An SNMP manager sends out an SNMP request using any source port, and destination port 161. The agent will reply to the source port on the manager. For example:

Manager                                    Agent

source port: <random number>
dest port: 161
content: what is your sysUpTime 
                                           source port: 161
                                           destination port: <same random number>
                                           content: sysUpTime is 42 seconds

Replies arrive on random number port, not port 161. So a manager listening on port 161 is unlikely to receive many replies. Instead of listening on port 161, listen on the same socket you used to send out the request. That socket will remember the source port it chose for sending.

P.S. When you use SNMP to query, SNMP's manager is UDP's client, and SNMP's agent is UDP's server.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜