SNMPv3代理如何知道发送通知的位置?

时间:2017-05-11 17:07:37

标签: notifications snmp

当SNMPv3代理生成通知时(例如,根据RFC 2981事件MIB),代理如何确定要发送的通知类型以及发送方式?我假设使用了以下RFC 3413表,但链接描述不是很好(恕我直言)。 - snmpNotifyTable - snmpNotifyFilterProfileTable - snmpNotifyFilterTable

RFC 3413第3.3节的步骤(1)表明第一步是确定管理目标 - 但很少提供指导来定义如何使用标准化对象。从逻辑上讲,我认为通知名称和snmpNotifyName之间会有一个链接 - 然后指示是否在通知的基础上将陷阱或通知发送到哪些目标,但RFC3413中提供的示例似乎是反击这个逻辑和对象的定义没有提供这样的联系...帮助?

1 个答案:

答案 0 :(得分:1)

SNMP-NOTIFICATION-MIB个对象配置代理发送的通知。 SNMP-TARGET-MIB个对象配置代理发送通知的 。通过标记值/列表(例如snmpNotifyTag - > {{1}配置两个MIB的表之间的链接(要发送的通知 }})。换句话说,snmpTargetAddrTagList中的给定目标会获取代理配置为在snmpTargetAddrTable中出现此类配置snmpNotifyTag的情况下发送的任何通知。

每条评论的其他信息:

snmpTargetAddrTagList中,通知配置为根据配置的触发条件发送。要发送的通知由分配给DISMAN-EVENT-MIB的NOTIFICATION-TYPE OID标识。假设发生了任何触发条件,并且代理已决定将该通知发送给所有适当的目标。然后,通知将按如下方式发送:

  1. 代理商将搜索mteEventNotification以查找snmpNotifyFilterTable与行mteEventNotificationsnmpNotifyFilterSubtree匹配的所有行,使用snmpNotifyFilterMask和优先级用于确定该通知是包含在配置文件中还是从配置文件中排除的规则。
  2. 对于上面确定的每个snmpNotifyFilterType,要包含snmpNotifyFilterProfileName,代理会在mteEventNotification中搜索snmpTargetAddrTable等于snmpTargetAddrParams的所有行
  3. 对于上面确定的每个snmpNotifyFilterProfileNameSnmpTagValue的每个snmpTargetAddrTagList,将snmpTargetAddrTable扫描具有相等snmpNotifyTable值的行,以确定通知的类型(s)将被发送(陷阱或通知)。
  4. (2)中snmpNotifyTag行的相同snmpTargetAddrParams值用于查找snmpTargetAddrTable等于snmpTargetParamsTable的{​​{1}}行。此行中的信息用于确定用于发送目标通知的SNMP版本,安全级别和安全名称。
  5. 根据SNMP版本,(4)中确定的snmpTargetAddrParams对应于snmpTargetParamsName(对于SNMPv1 / v2c)或snmpTargetParamsSecurityName(对于SNMPv3 / USM)的条目。