No.1

発表手順
A Simple Network Management Protocol(SNMP)

1. SNMP の概要
2. MIB
3. SNMP の詳細
4. SNMP の使用例

RFC 1157

1999/12/6
牛島研究室 修士1年
木場 雄一
分散システム特論

分散システム特論

SNMP の概要

No.2

SNMP
• インターネットワーク上のルータ管理のために開発• ネットワーク上のデバイスからネットワーク管理情報を収集する手段を提供• 通信に UDP を使用• SNMP はプロトコルスイートと仕様の集合– MIB, SMI, SNMP で構成される

SNMP の概要• 構造のモデル

No.3– ネットワーク管理ステーション– ネットワークエレメント(ルータ，ホスト，端末など)
ネットワークエレメント

ネットワークエレメント

MIB

MIB

エージェントエージェント

知りたい情報を要求

応答

ここでは狭義のSNMPについて記されている

マネージャ
ネットワーク管理ステーション

分散システム特論

SNMP の概要• SNMP でやりとりする管理情報

No.4– MIB、SMI で定義されたオブジェクトインスタンス– 表記法は ASN.1 を使用

MIB (Management Information Base)

分散システム特論

MIB

No.5

MIB に含まれるオブジェクトのプロパティ• オブジェクトタイプ– オブジェクトの名前を定義するためのプロパティ• シンタックス– 整数、文字列、オブジェクト識別子等のデータタイプを指定• 管理できる項目を定義したもの• ネットワークエレメントに設置• 記述は SMI によって行われる• RFC1156• アクセス– 特定のオブジェクトへのアクセスレベルを指定

SMI (Structure and identification of Management Information)• MIB の中の変数を定義• RFC1155

1. READ-ONLY
2. READ-WRITE
3. WRITE-ONLY
4. NOT ACCESSIBLE• ステータス– 当該オブジェクトの実装条件を指定するプロパティ

分散システム特論

分散システム特論

1

MIB

No.6
root

オブジェクト識別子
ccitt(0)• 木構造をとる

iso(1)

joint-iso-ccitt(2)org(3)

例) sysDescr (機器に関する説明)のオブジェクトクラス
iso.org.dod.internet.mgmt.mib.system.sysDescr
1. 3 . 6 . 1 . 2 . 1 . 1 .
1…

dod(6)

sysDescr(1)MIB のオブジェクト(一部)• system グループ：管理対象機器の構成情報• interface グループ：ネットワーク接続のための情報や設定• atTable グループ：ネットワーク層アドレスを物理層アドレス• ipAddr グループ
管理対象機器のIP情報を得る• ipRouting グループ• tcpConn グループ：TCPコネクションに関する情報を提供…

mgmt(2)interfaces(2)

at(3)

…

…

…

No.7にマッピング

internet(1)mib(1)
system(1)MIB…

分散システム特論

SNMP の詳細

No.8

分散システム特論

SNMP の詳細：PDU(1)No.9

PDU の形式

SNMP メッセージ• ASN.1 の基本符号化規則を使って符号化• UDP のデータグラムでやりとり• メッセージの構成– バージョン識別子：メッセージの整合性チェック– SNMP コミュニティ名：パスワードの役割– PDU (Protocol Data Unit)• リクエストID：• エラーステータス：処理時の例外を示す• エラーインデックス：例外の内容を示す– noError(0)：例外なし– tooBig(1)：リプライを単一のSNMPメッセージに入れられない– noSuchName(2)：存在しない変数を明記している– badValue(3)：無効な値の操作をセットした– readOnly(4)：read-only の変数を変更しようとした– genErr(5)：その他のエラー• 変数バインディングリスト：ここに入る変数はプロトコルでは無視される

分散システム特論

SNMP の詳細：PDU(2)No.10• ５つの PDU をサポート
1. GetRequest-PDU
マネージャからエージェント
2. GetNextRequest-PDU に発行
3. SetRequest-PDU
4. GetResponse-PDU
エージェントからマネージャに発行
5. Trap-PDU
ネットワーク管理ステーション

ネットワークエレメント

1, 2, 3
マネージャ

4, 5

エージェントMIB
分散システム特論

分散システム特論

SNMP の詳細：PDU(3)No.11

1. GetRequest-PDU– １つのMIB変数やMIB変数のリストをエージェントに要求

2. GetNextRequest-PDU– MIBの中の次の項目の変数値をエージェントに要求

3. SetRequest-PDU– MIB変数に新しい値を格納することを要求

4. GetResponse-PDU– 1.〜3.に対する応答

UDP ポート１６１番を使用
分散システム特論2

SNMP の詳細：PDU(4)--Trap

No.12

5. Trap-PDU

SNMP の使用例：MRTG

No.13

MRTG

• あらかじめ定義した状況が発生したとき自発的に生成• UDP ポート１６２番を使用• 定義されている状況
1. coldStart Trap：エージェントが自身を初期化
2. warmStart Trap：エージェントが自身を再初期化
3. linkDown Trap：インターフェースがダウン
4. linkUP Trap：インターフェースが復活
5. authenticationFailure Trap：無効なコミュニティ名を受けた
6. egpNeighborLoss Trap：EGPピアがダウン
7. enterpriseSpecific Trap：企業が作った固有のエラーコ−ド

SNMPに対応しているネットワーク機器(ルータ等)のトラフィックをWWW上でグラフィカルに見ることのできるツール

キャッシュソフトウェア Squid の監視に使用した例を見た

分散システム特論

SNMP の使用例：MRTG

No.14

分散システム特論

SNMP の使用例：MRTGの出力

No.15• Squid：Squid MIB を持つ– cacheSystem グループ：キャッシュシステムの設定情報– cacheConfig グループ：キャッシュソフトウェアの詳細– cacheStrageConfig グループ：オブジェクトに充てるメモリやディスクのサイズの情報– performance グループ：稼働状況の情報– cacheNetwork グループ：IP, FQDN, DNSのキャッシュの情報– cacheMesh グループ：隣接するキャッシュ網の情報

分散システム特論

補足：SNMPv2

分散システム特論

No.16• RFC1441〜1452 で定義• 主な変更– MIB 構造の補強– プロトコルの追加– マネージャー間の通信– セキュリティの強化– PDU の追加
GetBulkRequest-PDU
InformRequest-PDU
Report-PDU

分散システム特論

3