简单网络管理协议(SNMP)是TCP/IP协议簇的一个应用层协议。SNMP协议应用广泛,使用简单。一套完整的SNMP系统主要包括管理信息库(MIB)、管理信息结构(SMI)及SNMP报文协议。SNMP规定了5种协议数据单元:
1.get-request操作:从代理进程处提取一个或多个参数值。
2.get-next-request操作:从代理进程处提取紧跟当前参数值的下一个参数 值。
3.set-request操作:设置代理进程的一个或多个参数值。
4.get-response操作:返回的一个或多个参数值。这个操作是由代理进程发出的,它是前面三种操作的响应操作。
5.trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生。
snmp4j 相关配置
SNMP版本 |
为两个支持的SNMP协议SNMPv1和SNMPv2c设置值。 |
SNMPv1或者SNMPv2c |
端口 |
为正在运行的SNMP代理设置端口。端口值必须在1至65535之间。 |
161端口 |
社区名称 |
为启用了SNMP的设备设置社区名称。 |
|
超时 |
为SNMP请求等待响应设置超时时间。值的范围应该在1和10之间。 |
4秒 |
重试 |
设置当请求超时,重新发送SNMP请求的次数。重试值应该在0到5之间。 |
0 |
最大重试次数(批量操作) |
绑定变量列表中的保留变量所返回的按字典顺序排列的继承者的数量,只支持SNMPv2。最大重试值 |
50 |
非中继(批量操作) |
绑定变量列表中,只返回单个继承者的变量值。非中继 |
0 |
snmp4j 主要对象
1.snmp对象 ,可以看成一个代理人,ResponseEvent response=snmp.send(pdu, target)方法用来传递消息,返回数据;
2.target对象 ,目标参数封装,设置目标参数的地址,协议版本,超时、重传等;
3.pdu对象 ,pdu.add(VariableBinding)添加要发送的数据,比如oid和integer、string参数;
4.ResponseEvent对象 ,返回参数封装;
5.VariableBinding对象 数据绑定,然后添加到pdu;TransportMapping snmp对象初始化参数, 默认为 DefaultUdpTransportMapping,new snmp(TransportMapping)。