一、snmp基础

SNMP代表简单网络管理协议,由三个关键组件组成:受管设备,代理和网络管理系统(NMS)。受管设备是具有SNMP代理并驻留在受管网络上的节点。这些设备可以是路由器和访问服务器,交换机和网桥,集线器,计算机主机或打印机。代理是驻留在设备中的软件模块。此代理将信息转换为与SNMP兼容的格式。NMS运行监控应用程序。它们提供网络管理所需的大量处理和内存资源。

二、SNMP支持的网管操作

对于网络管理,我们面对的数据是设备的配置、参数、状态等信息,面对的操作是读取和设置;同时,因为网络设备众多,为了能及时得到设备的重要状态,还要求设备能主动地汇报重要状态,这就是报警功能。如下图,

snmp trap接口 java snmp trap协议_snmp trap接口 java

 

1、get/set 操作都是从 NMS 发送到被管理设备的。但有时候,能够从被管理设备主动发送信息到 NMS 也是非常必要的。 (轮询:网站监控的主动形式)

 

2、SNMP Trap 是 SNMP 的一部分,当被监控段出现特定事件,可能是性能问题,甚至是网络设备接口宕掉等,代理端会给管理站发告警事件。

 

3、SNMP Trap 就是被管理设备主动发送消息给 NMS 的一种机制。(陷阱:被动形式)

 

4Agent: 是SNMP的访问代理,简称“代理”,为设备提供SNMP能力,负责设备与NMS的通信。(net-snmp)

 

三、SNMP的实现结构

 

在具体实现上,SNMP为管理员提供了一个网管平台(NMS),又称为管理站,(172.18.0.135)负责网管命令的发出、数据存储、及数据分析。被监管的设备上运行一个SNMP代理(Agent),代理实现设备与管理站的SNMP通信。

四、SNMP Trap的包

snmp trap接口 java snmp trap协议_snmp trap接口 java_02

snmp trap接口 java snmp trap协议_网络设备_03

 

五、端口设置

trap的接收端口是162(默认)

agent的接受端口是161

发送端口是不一定的,每一次发送,内核会选择一个可用的端口来发送