2015-06-08 87 views
0

我是使用SNMP工作的新手。我对不同版本的SNMP之间的向后兼容性和共存性感到困惑。SNMP版本之间共存和向后兼容性

版本之间的共存定义在RFC 2576中,其中解释了代理和多语言实现。

我的问题是:运行SNMPv3代理的设备如何响应SNMPv1请求消息?当认证和加密算法应该被使用时,代理如何用简单的社区字符串来响应消息?

代理如何配置为多语言? SNMPv3是否向后兼容v1和v2? (将它v1和v2响应查询总是?)

+0

我没有检查这个,但它可能根本不应答,或者可能回应一个错误。如果代理被配置为使用基于用户的安全性,则披露任何信息将是一个巨大的安全问题。 – Jolta

+0

我读过varioud书籍和博客,SNMP V3与v1和v2是“向后兼容的”。 https://books.google.co.in/books?id=q9ky8sw8LoAC&pg=PT412&lpg=PT412&dq=snmpv2agent+response+snmpv1+requests&source=bl&ots=mx6OaRL8Q5&sig=XXntgnHZ2VbMMZR5srSSoiEhJB8&hl=en&sa=X&ei=doRxVb_KOcm1uASao4O4CA&ved=0CEYQ6AEwBQ#v=onepage&q=snmpv2agent %20response%20snmpv1%20requests&f = false '向后兼容性'究竟是什么? – user3316561

+0

如果您将v3 Agent设置为使用基于社区的安全性,那么是的,它完全向后兼容。但事实上,你会有一个不安全的解决方案。 – Jolta

回答

0

凡SNMPv3的说是“向后兼容”可能意味着无论是(或两者):

  • ,大多数支持SNMPv3代理是多语种的代理商和意志如果配置为SNMPv1和SNMPv2c,也可以这样做。
  • SNMPv3使用与早期版本相同的MIB语言(SMIv1/SMIv2),因此可以在不做任何修改的情况下支持相同的MIB模块。

协议本身是三个版本之间不同,并且彼此不兼容,但是可以通过代理(有一些例外)进行翻译,并有一些相似之处:

  • SNMPv2c的几乎是相同的SNMPv1,除了编码中的不同版本号,新数据类型和SNMPv1不支持的Get-Bulk请求之外。
  • SNMPv3使用与SNMPv2c具有相同编码但具有完全不同的消息编码的所有相同的数据类型和PDU。

如何运行SNMPv3代理的设备到SNMPv1的请求 消息作出响应?

支持SNMPv3和SNMPv1的多语言设备通过SNMPv1回复响应SNMPv1请求,并通过SNMPv3回复响应SNMPv3请求。

代理如何使用简单的社区对消息进行响应字符串 何时应使用认证和加密算法?

时应该认证和加密算法被使用,因为身份验证和加密是SNMPv3的功能和SNMPv3的消息编码有一个团体字符串没有字段你不能用一个简单的社区字符串的消息。它有一个用户名和字段,指出了执行这些功能所需的消息和参数的认证和隐私级别。

代理如何配置为多语言?

标准的方式是通过SNMP-COMMUNITY-MIB,SNMP-USER-BASED-SM-MIB和SNMP-VIEW-BASED-ACM-MIB表的适当配置。例如,没有在snmpCommunityTable中配置的社区?然后它不会响应SNMPv1或SNMPv2c。代替这些MIB的标准表格,“如何”将成为具体实施。