SNMPv1/v2/v3数据包能否包含多种PDU类型及相关响应规则?
SNMP多PDU同包相关问题解答
能否在SNMPv1/v2/v3数据包中包含多种PDU?
不行。不管是哪个SNMP版本,协议规范都明确要求一个SNMP消息(数据包)只能携带单个PDU。SNMP的消息结构是版本标识 + 安全凭据(共同体串或v3安全参数) + 单PDU,完全没有定义多PDU的解析、处理逻辑,所有合规的SNMP实现都不会支持这种操作。同一值同时被设置和获取的代理响应?
这个场景不存在——因为多PDU同包本身就不符合规范,所以不会出现代理需要处理同一值既被Get又被Set的情况。代理会以wrongEncoding错误告知吗?
不会。wrongEncoding错误是用来标识PDU的ASN.1编码格式不符合规范(比如字段类型错误、长度不匹配等)。对于多PDU的非法请求,代理通常会返回tooBig错误(v1/v2c),部分严格实现可能返回genErr(一般错误);v3代理可能直接丢弃非法消息,或返回与消息结构相关的处理错误,但绝不会用wrongEncoding来标识这个问题。
内容的提问来源于stack exchange,提问作者WakkaTrout
相关产品推荐
相关产品推荐

