技術メモ

神奈川在住のITエンジニアの備忘録。おもにプログラミングやネットワーク技術について、学んだことを自分の中で整理するためにゆるゆると書いています。ちゃんと検証できていない部分もあるのでご参考程度となりますが、誰かのお役に立てれば幸いです。

SNMP Report PDU が使われる場面

先日、SNMP report - ITエンジニアの技術メモ にて、「SNMP Report はあまり見たことがない」と書いたが、最近、SNMP Report が使われる場面を見つけたのでメモしておく。

 

https://www.ietf.org/rfc/rfc2574.txt に以下の記載がある。

4. Discovery

The User-based Security Model requires that a discovery process
obtains sufficient information about other SNMP engines in order to
communicate with them. Discovery requires an non-authoritative SNMP
engine to learn the authoritative SNMP engine's snmpEngineID value
before communication may proceed. This may be accomplished by
generating a Request message with a securityLevel of noAuthNoPriv, a
msgUserName of zero-length, a msgAuthoritativeEngineID value of zero
length, and the varBindList left empty. The response to this message
will be a Report message containing the snmpEngineID of the
authoritative SNMP engine as the value of the
msgAuthoritativeEngineID field within the msgSecurityParameters
field. It contains a Report PDU with the usmStatsUnknownEngineIDs
counter in the varBindList.

・・・

これによると、SNMPマネージャが (SNMPv3)エージェントに空のリクエストを投げる。それに対して、エージェントが SNMP Report に自分のエンジンIDを含めて応答する。これでSNMPマネージャはエージェントのエンジンIDを知ることができ、SNMPv3通信を開始すると読める。

つまり、SNMP Report は、SNMPマネージャがSNMPv3エージェントと通信するために、そのエンジンIDを知る目的で使用されることがあるということ。

ちなみに、https://tools.ietf.org/html/rfc3414

にも同様の説明がある。

 

以下も参考にさせて頂きました。

SNMP v3 の engineID とかのメモ - ngyukiの日記