Simple Network Management Protocol

Simple Network Management Protocol（簡易ネットワーク管理プロトコル、またはシンプル ネットワーク マネージメント プロトコル、SNMP）は、DARPAモデルに準じたIPネットワーク上のネットワーク機器を監視（モニタリング）・制御するための情報の通信方法を定める通信プロトコルである。
概要と基本コンセプト.
巨大なネットワーク上で、数多くの機器の状態を把握するためには、この規格化されたプロトコルを使い、機器からの情報を集めて監視や制御を行う。コンピュータ等の能動的な機器以外にもルータやハブなどもSNMPを使って監視することが出来る。
SNMPに関する最初のRFCは1988年に登場した。
プロトコルを管理情報の構造から分離することにより、SNMPはネットワーク上の非常に多種多様なサブシステムを容易にモニターできるようになった。それはOSI参照モデルの全ての層を超えて、データベースやe-mail、J2EE参照モデルなどにまでその範囲を拡大している。
SNMPのフレームワークの構造は、マスターエージェント、サブエージェント、マネージャからなる3つの主要な要素から構成されている。
アーキテクチャ.
SNMP v1 (SNMP version 1) で、次の5つのProtocol Data Unit (PDU) が定義されている。
それ以降のバージョンで、次のPDU が追加されている。
SNMP は、OSI参照モデルのアプリケーション層 (第7層) に相当する。
SNMP は、下位プロトコルとしてUDP を使用する。一般的に、エージェントが161番ポートを、マネージャが162番ポートを使用している。
エージェント.
管理対象の機器をエージェントと呼ぶ (スイッチ、ルータ、ホストなど)。
エージェントは、その役割から次の2つに分類される。
マスター・エージェントは、1つ以上のサブ・エージェントを監視することができる。
エージェントは、Management Information Base(MIB; 管理情報ベース) と呼ばれる一種のデータベースを持つ。
マネージャ.
ネットワークを管理するシステムをマネージャ (管理ステーション) と呼ぶ。これはクライアント・サーバ型のクライアントに相当する。
マネージャは、主に次のような管理操作を行う。
SNMP version 1.
SNMP v1 は、主に次のRFCで定義されている。
SNMP v1 は、パスワードに相当するコミュニティ文字列がクリア・テキストで通信されるため、セキュリティの脆弱性が指摘されている。
SNMP version 2.
SNMP v2、SNMP v2p (RFC 1441 - RFC 1452) は、機能性、セキュリティ、機密性が改善され、マネージャからマネージャへの通信をサポートしている。SNMP v2は、GETNEXT の代わりとしてGETBULK を導入した。しかし、SNMP v2 のセキュリティ・システムは複雑であり、広く採用されていない。
SNMP v2c (RFC 1901 - RFC 1908) は、論争の多かったSNMP v2 の新しいセキュリティ・モデルを採用する代わりに、SNMP v1 のコミュニティを改善している。このドラフト案がSNMP v2 のデファクトスタンダードとなっている。
SNMP v2u (RFC 1909 - RFC 1910) は、SNMP v2 の複雑さを受けないように、セキュリティに最大限の妥協を試みている。この変形はSNMP v2* として商品化され、SNMP v3 のセキュリティの枠組みとして採用されている。
SNMP version 3.
SNMP v3 (RFC 3411 - RFC 3418, STD0062) は、SNMP の最新版である (2004年現在)。IETF は、SNMP v3 の登場によって旧式のSNMP が不要 (Obsolete) になると考えている。
実際にSNMP を実装するときは、複数のバージョンをサポートすることが多い (RFC 3584 参照)。
SNMPv3は以下の点でセキュリティレベルがSNMPv2cと比較して向上している。