見出し画像

TWSNMPの作り方 (その7)

最大のポイントSNMPをどうするか?

TWSNMPマネージャの最大のポイントはSNMPでノードを監視できることです。SNMPは、Simple Network Management Protocolの略ですが、実は、Simpleという名のわりには作るのが難しいプロトコルです。それは、頭のよい人たちが考えた国際標準の ASN.1という仕様を使っているからです。メールやWebページを見るための他のプロトコルは、文字列を送受信するものが多く、こんなに、難しいものは、あまりありません。

最初のSNMPエージェント開発

30年近く前に、SNMPと出会って、最初に作ったエージェントは、商用のTCP/IPプロトコルスタックに、ふんわりと実装されていた(ちゃんと動かない)SNMPエージェントを何とか使えるようにしたものです。ASN.1の仕様を調べて、苦労して実装しましたが、トラブルも多かったと思います。

SNMP Research

その後、ワシントンのインターロップのSNMPのセミナーで講師をしていた Case教授と出会います。英語は不得意な私でも、かなり楽しめる講義でした。Case教授は、SNMPの作者の一人で、SNMPのライブラリを販売する会社SNMP Researchの社長でもあります。最初の開発で、苦労したSNMPの実装も、SNMP Researchのライブラリを使うようになって、ちゃんとしたものが作れるようになりました。エージェントだけでなくSNMPマネージャも開発しました。

SNMP Researchは、アメリカのテネシー州にあり、会社は、テネシーリバーを見下ろす牧場にあります。何度か訪れたことがあります。トラクターにも乗りました。Case教授が日本に来た時も、川越などを案内したことがあります。Case教授に教わったことで、SNMPの本も書くことができました。感謝しています。

画像1

Net-SNMP

オリジナルのTWSNMPはフリーウェアにするため開発にはSNMP Researchのライブラリは使えませんでした。そのため、オープンソースのSNMPライブラリNet-SNMP を使いました。

このライブラリを使って、エージェントやマネージャなどの沢山のSNMP関連のソフトを開発しました。

GOSNMP

今回開発するTWSNMPの復刻版は、GO言語で開発するので、Net-SNMPの利用はできません。そこで、探すと、いいものがありました。

https://github.com/soniah/gosnmp

ありがとう
でも、ちょっと不足する部分がありました。SNMPで情報取得する場合MIBというものを使用します。対象から情報をMIBの名前を指定して取得したいのですが、GOSNMPでは、数値で指定しなければならず、人間であるプログマーにとって不便なライブラリになっています。そこで、

を自作しました。

これで、SNMPをなんとかする部品も、そろいました。

つづく


この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

twsnmp

私は、TWSNMP Managerの開発者です。 20年以上前に作ったソフトを、いまだに多くの人に使っていただけて、幸せに思っています。 最近、新しい技術でTWSNMP Managerの復刻版を作ろうと思い開発日誌をnoteに書いて行こうと思います。
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。