使用陷阱而不是获取请求来获取信息?

时间:2018-11-07 14:13:11

标签: snmp

假设我要创建一个监视应用程序来监视网络中的一堆设备,我的问题很简单:当设备可以向管理器发送陷阱时,为什么要使用SNMP-Get请求?流行的监视应用程序是否使用陷阱或SNMP-get请求? 谢谢。

1 个答案:

答案 0 :(得分:2)

有两个注意事项,可以将其推广到管理层 推(陷阱,通知)与拉(获取*请求)的哲学:

1)只有管理应用程序确切知道它想要获取的信息 从设备。在拉式体系结构(即SNMP)中。它要求提供信息 通过GET *请求。在推送架构中,它必须配置一个推送,例如。装置 必须设置为发送通知,例如。如果检测值高于 一定的门槛,这很昂贵。

2)维持设备上的推送配置很昂贵。在SNMP中, 设备应该很笨,管理器应该很聪明。这些日子 设备变得越来越强大,因此您会看到更多的推送模型(某些 MIB,NetFlow,sFlow等)。

3)除了配置之外,仅使通知可靠也是昂贵的。在 SNMP中有TRAP和通知请求PDU。前者是不可靠的,并且是 只是暗示设备,应用程序上发生了某些事情 然后使用拉动获取所有信息。后者是通过设备确认的 必须维护信息以使其可靠(超时,重传等)。

使用以上内容,只需考虑在设备上设置推送(陷阱)的工作量 独家:

1)您的应用程序(可能是多个应用程序之一)必须配置设备 告诉您您想要陷阱/通知。本身无法做到 完全通过推送,必须有一些SET请求;

2)您的应用必须准确告诉它您想要什么陷阱,再次执行SET请求;

3)您的设备现在必须确保每个通知都能可靠地到达所有 已向设备注册自己的应用程序。

对于“流行的监视应用程序”,SNMP中的绝大多数信息 被拉,通知用于指示提示拉的异常 信息。