2012-02-29 8 views
0

私はSNMP4Jを使ってSNMPエージェントを実装しました。私はさまざまな場所(SNMP4J javadocを含む)で 'getSubtree'操作のサポートがあると読んだことがありますが、getNextやgetBulkを使用してクライアント側から行われているようです。しかし、私がやろうとしているのは、「getSubtree」用の新しいPDUを定義し、それに対するサーバー側のエージェントのサポートを実装することです。どのようにSNMP 'getSubtree' PDUタイプを実装し、そのためのSNMPエージェントをサポートしますか?

SNMP4Jを使用して新しいPDUタイプ(7つの標準タイプを超えて)を実装しているか、(b)エージェント内で実装された 'getSubtree'をサポートしていますか(私は既にクライアントから。)(a)か(b)のどちらも可能ですか?いずれかを行う方法に関するすべてのポインタは、大いに感謝されるでしょう!

答えて

1

SNMPは、新しい操作を追加できる拡張可能なプロトコルではありません。法的には、実際にはできません。 RFCは、PDUを既存のPDUに制限します。 GETBULKは、エージェントの使用に関する独自の問題(たとえばデータのオーバーランなど)があっても、エージェントから多数の情報を収集する最も効率的な方法です。

+0

はい、データオーバーラン/複数リクエストの問題は、私が対処しようとしている問題です。しかし、私が読んだ様々なページや論文では、getSubtreeを実装する方法について話しています(標準のものと同じです)。私はそれを行うための提案(RFCスタイルで書かれています)を見ました。私はSETと複数のトラップを使ってそれを行うように設計されたMIBを見てきました。標準的な操作を行うことは合法であると私は同意しますが、私はこれらの他のものを発見/複製しようとしています。あなたはこれを越えて走りましたか?クライアントからの呼び出しを設定するのは簡単ですが、SNMP4Jはそれが無効なタイプだと言います。 –

+0

クライアントとサーバーのコードを制御すれば、管理スタックとサーバーサイドエージェントの両方に必要なものを追加できます。しかし、あなたはもう相互運用可能なSNMPをやっていません。新しいことをやっています。この問題を解決する多くの要求がありましたが、どれも標準化されていません。いくつかの商用スタックには、そのようなことをするための拡張メカニズムがありますが、すべてのデバイスでは機能しません[実際はほとんどありません]。あなたができる最良のことは、行カウントオブジェクトを見つけることで、GETBULKリピータ数を設定する方法を理解することができます –

+0

ありがとう、Wes。私は、クライアントとサーバの1つのバージョンを実装してSNMP4Jの上に新しいPDUを提供することになりました(少なくとも今のところは終わりました)。そのシグネチャはGETと非常によく似ているため、かなり簡単です。私はそれが非標準であることに同意するが、それは私たち自身の管理コンソールのためだからおそらく大丈夫だ。送信する必要があるデータのサイズでは、とにかくTCP接続に役立つだけかもしれません。さまざまな論文でgetSubtreeについて議論した共通のスレッドでした。 –

関連する問題