ITエンジニアの技術メモ

神奈川在住のITエンジニアの備忘録です。主にプログラミング(Perl, Java など)やネットワーク技術について、仕事などを通じて学んだことを自分の中で整理するためにゆるゆると書いています。誰かのご参考になれば幸いです。

MIBファイル内の定義における大文字・小文字の使い分け

SNMPで使用されるMIBファイルでは、以下のように大文字・小文字が使い分けられていることが多い。RFCでの定義例はそうなっている。 

・・・

evalEntry OBJECT-TYPE    ★オブジェクト定義は先頭が小文字
    SYNTAX EvalEntry          ★シンタックス定義は先頭が大文字
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
          "An entry (conceptual row) in the evaluation table."
    INDEX { evalIndex }
    ::= { evalTable 1 }

EvalEntry ::=    ★シンタックス定義は先頭が大文字
    SEQUENCE {
        evalIndex Integer32,
        evalString DisplayString,
        evalValue Integer32,
        evalStatus RowStatus
  } 

・・・

RFC 2578 - Structure of Management Information Version 2 (SMIv2)

 

上述の通り、オブジェクト定義では先頭が小文字になっていて、シンタックス定義では先頭が大文字になるのが慣例のようだが、これについて明文化しているドキュメントは見つけられなかった。SMIv2 は ASN.1 のサブセットなので、ASN.1 のドキュメントを漁れば何か情報が見つかるかもしれないが、そこまでは見れていない。。

大文字・小文字を分けないと、解析失敗するMIBパーサもあるかもしれないので、MIBファイルを作成する際には、慣例に従って、大文字・小文字を分けた方が良いと思われる。