![見出し画像](https://assets.st-note.com/production/uploads/images/125663570/rectangle_large_type_2_0b72f24887f8e3d60e82b57888d740de.png?width=1200)
RMON MIBによる管理
「実践SNMP教科書」の今年最後の復刻記事です。
RMON MIBは、LANアナライザーのように、ネットワークを流れるパケットを全てキャプチャし内容を解析することにより、ネットワークのトラフィックに関する管理情報を提供するものです。ネットワーク接続の主流が、スイッチングHUBではなかった時代(シェアードLANの時代)には、RMONプローブと呼ばれるネットワーク機器に実装されていました。しかし、スイッチングHUBによるネットワーク接続では、RMONプローブによってネットワークを流れる全てのパケットをキャプチャすることができません。このため、最近のスイッチングHUBでは、RMONプローブ機能を内蔵しているものがあります。しかし、全てのRMON MIBをサポートしている訳ではなく、サブセットのみの実装となっています。NET-SNMPにもRMON MIBのサンプルソースコードが含まれています。コメントを読むと、パケットのキャプチャ部分は、実装されていないことになっています。RMONには、上位バージョンが存在します。RMON2と呼ばれるもので、IPなどのプロトコルレベルの解析が可能となっています。高機能なスイッチングHUBの場合、RMON2までサポートしている製品もあります。
+--rmon(16)
|
+--statistics(1)
| |
| +--etherStatsTable(1)
|
+--history(2)
| |
| +--historyControlTable(1)
| |
| +--etherHistoryTable(2)
|
+--alarm(3)
|
+--hosts(4)
| |
| +--hostControlTable(1)
| |
| +--hostTable(2)
| |
| +--hostTimeTable(3)
|
+--hostTopN(5)
| |
| +--hostTopNControlTable(1)
| |
| +--hostTopNTable(2)
|
+--matrix(6)
| |
| +--matrixControlTable(1)
| |
| +--matrixSDTable(2)
| |
| +--matrixDSTable(3)
|
+--filter(7)
| |
| +--channelTable(2)
|
+--capture(8)
| |
| +--bufferControlTable(1)
| |
| +--captureBufferTable(2)
|
+--event(9)
|
+--eventTable(1)
|
+--logTable(2)
statisticsグループ
トラフィックの統計情報をモニタするグループです。
モニタするネットワークI/Fに関して、設定を行わないとモニタを行いません。設定は、etherStatsTableに行を追加します。etherStatsIndexにインデックス番号、etherStatsDataSourceに、モニタするネットワークI/FをifIndexのOIDで指定します。1番目のI/Fならば、ifIndex.1を設定します。etherStatsOwnerに作成者の名前、etherStatsStatusにcreateRequestを書き込めば、行の追加が可能です。etherStatsStatusがvalidの状態の時は、変更ができません。しかし、スイッチングHUBに内蔵されているRMONプローブでは、デフォルトでモニタ設定が登録されているので、上記の行の追加を行わなくてもモニタを行うことができます。モニタを開始すれば、受信したパケット数やエラーの種類別のパケット数、サイズ別のパケット数などの統計情報がカウントされます。
+--statistics(1)
|
+--etherStatsTable(1)
|
+--etherStatsEntry(1)
| Index: etherStatsIndex
|
+-- -R-- Integer32 etherStatsIndex(1)
| Range: 1..65535
+-- CR-- ObjID etherStatsDataSource(2)
+-- -R-- Counter etherStatsDropEvents(3)
+-- -R-- Counter etherStatsOctets(4)
+-- -R-- Counter etherStatsPkts(5)
+-- -R-- Counter etherStatsBroadcastPkts(6)
+-- -R-- Counter etherStatsMulticastPkts(7)
+-- -R-- Counter etherStatsCRCAlignErrors(8)
+-- -R-- Counter etherStatsUndersizePkts(9)
+-- -R-- Counter etherStatsOversizePkts(10)
+-- -R-- Counter etherStatsFragments(11)
+-- -R-- Counter etherStatsJabbers(12)
+-- -R-- Counter etherStatsCollisions(13)
+-- -R-- Counter etherStatsPkts64Octets(14)
+-- -R-- Counter etherStatsPkts65to127Octets(15)
+-- -R-- Counter etherStatsPkts128to255Octets(16)
+-- -R-- Counter etherStatsPkts256to511Octets(17)
+-- -R-- Counter etherStatsPkts512to1023Octets(18)
+-- -R-- Counter etherStatsPkts1024to1518Octets(19)
+-- CR-- String etherStatsOwner(20)
| Textual Convention: OwnerString
| Size: 0..127
+-- CR-- EnumVal etherStatsStatus(21)
Textual Convention: EntryStatus
Values: valid(1), createRequest(2), underCreation(3), invalid(4)
このグループは、SNMP対応の安価なSW-HUBでも対応しています。
![](https://assets.st-note.com/img/1703579291566-XxfcbSVpcH.png?width=1200)
TWSNMP FCのRMON管理画面で表示すると
![](https://assets.st-note.com/img/1703579405630-3xiWxvBbtH.png?width=1200)
のような感じです。
historyグループ
statisticsグループは、現在のモニタ情報ですが、historyグループは、モニタ情報の履歴です。historyControlTableによって、履歴の取得に関する設定を行うとetherHistoryTableに履歴情報が格納されます。
alarmグループ
alarmグループは、モニタした情報に関して閾値を設定して、異常検出を行うためのグループです。
hostsグループ
hostsグループは、モニタしたパケットからネットワークに接続されているホストの一覧を作成するためのグループです。ホストの一覧には、アドレス順に並べたhostTableと発見した順に並べたhostTimeTableがあります。
hostTopNグループ
hostTopNグループは、発見したホストを送信パケット数、送信バイト数、送信エラーパケット数などの上位Nまでをリストアップするためのグループです。元にする情報等の設定は、hostTopNControlTableで行います。リストは、hostTopNTableに登録されます。
matrixグループ
matrixグループは、パケットの宛先、送り元の組み合わせを一覧するためのグループです。
filterグループ
filterグループは、キャプチャするパケットのフィルタ設定を行うためグループです。
captureグループ
captureグループは、LANアナライザーのようにパケットをキャプチャして、その結果を提供するためのグループです。
eventグループ
eventグループは、アラームを検出した場合に実行するログへの記録、SNMP TRAPによる通知などのイベントを登録するためのグループです。
RMONには、ネットワーク層のプロトコルモニタできるRMON2という仕様があります。しかし、高速なネットワーク環境をモニタするには問題が多すぎるためだと思いますが、完全にRMON、RMON2に対応したSW-HUBなどを見かけることはないです。ネットワーク通信プロトコルをモニタするには、NetFlowのほうがよいと思います。
TWRMONとTWSNMP FCのRMON管理
去年、RMONのプローブも復刻しました。実用には耐えないと思いますが、紹介しておきます。
このRMONプローブエージェントを動作させれば、TWSNMP FCのRMON管理からネットワークのさまざまな情報が取得できます。
![](https://assets.st-note.com/img/1703580861636-rXPldyOU0H.png?width=1200)
![](https://assets.st-note.com/img/1703580868745-h84iRlLnY1.png?width=1200)
![](https://assets.st-note.com/img/1703580874793-qcEPuDMzoT.png?width=1200)
![](https://assets.st-note.com/img/1703580880427-PdifS6utpX.png?width=1200)
![](https://assets.st-note.com/img/1703580884821-c1TjP7EIhW.png?width=1200)
![](https://assets.st-note.com/img/1703580893224-gFVzUuz1wt.png?width=1200)
![](https://assets.st-note.com/img/1703580901064-z9HavOhC30.png?width=1200)
![](https://assets.st-note.com/img/1703580906547-MBKPCMeF38.png?width=1200)
ここから先は
![](https://assets.st-note.com/production/uploads/images/14333815/profile_ee1accba5615957e5029db85d57fdb0a.jpg?fit=bounds&format=jpeg&quality=85&width=330)
実践SNMP教科書 復刻版
20年近く前に書いた「実践SNMP教科書」を現在でも通用する部分だけ書き直して復刻するマガジンです。最近MIBの設計で困っている人に遭遇し…
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。