我刚开始使用SNMP。我对不同版本的SNMP之间的向后兼容性和共存感到困惑。
版本之间的共存在RFC 2576中定义,其中解释了代理和多语言实现。
我的问题是:运行SNMPv3代理的设备如何响应SNMPv1请求消息?当应该使用身份验证和加密算法时,代理如何响应具有简单社区字符串的消息?
如何将座席配置为多语言? SNMPv3是否与v1和v2向后兼容? (它会始终响应v1和v2查询吗?)
答案 0 :(得分:1)
无论谁说SNMPv3是"向后兼容"可能意味着(或两者):
协议本身在三个版本之间是不同的,并且彼此不兼容,但可以通过代理(有一些例外)进行翻译并分享一些相似之处:
运行SNMPv3代理的设备如何响应SNMPv1请求 消息?
支持SNMPv3和SNMPv1的多语言设备使用SNMPv1回复响应SNMPv1请求,并使用SNMPv3回复响应SNMPv3请求。
代理如何使用简单的社区String响应消息 什么时候应该使用身份验证和加密算法?
当应该使用身份验证和加密算法时,您不能拥有带有简单社区字符串的消息,因为身份验证和加密是SNMPv3的功能,而SNMPv3消息编码没有社区字符串的字段。它有一个用户名和字段,指示消息的身份验证和隐私级别以及执行这些功能所需的参数。
如何将座席配置为多语言?
标准方法是通过SNMP-COMMUNITY-MIB,SNMP-USER-BASED-SM-MIB和SNMP-VIEW-BASED-ACM-MIB表的适当配置。例如,snmpCommunityTable中没有配置社区?然后,它不会响应SNMPv1或SNMPv2c。代替那些MIB的标准表,"如何"将是特定于实现的。