ネットワークスペシャリスト 2022年 午前2 問14
問題文
ネットワークのトラフィック管理において、測定対象の回線やポートなどからパケットをキャプチャして解析し、SNMPを使って管理装置にデータを送信する仕組みはどれか。
選択肢
ア:MIB
イ:RMON(正解)
ウ:SMTP
エ:Trap
🔒 解説は解答すると表示されます
RMON監視機構【午前2解説】
正解の理由
問題文の「回線やポートなどからパケットをキャプチャして解析し、SNMPを使って管理装置にデータを送信する仕組み」に該当するのは、選択肢の中ではイのRMONです。RMON(Remote Network MONitoring)は、機器上のエージェントがパケットや統計情報を収集・保持し、その情報をRMON MIBとしてSNMP経由で管理ステーションから取得(またはアラームをSNMPトラップで通知)できる監視仕様であり、問題文の動作を満たします。
解法ステップ
- キーワード抽出:「パケットをキャプチャ」「解析」「SNMPを使って管理装置にデータを送信」。
- キーワードと用語の照合:パケットキャプチャ+SNMP連携=RMON(エージェントが収集しRMON MIBで提供)を想起。
- 他選択肢の妥当性確認:MIBはデータ定義、SMTPはメール、Trapは通知手段であり、説明と合致しないため除外。
- 結論:RMON(選択肢イ)を選択。
選択肢別の誤答解説
-
ア: MIB
MIB(Management Information Base)は、管理データの構造(階層化されたオブジェクトの定義)です。監視のための「データ定義」であって、エージェントがパケットをキャプチャして解析する仕組み自体ではありません。RMONは「RMON MIB」という形で監視データの定義を持ちますが、MIB単体は機能ではありません。 -
イ: RMON
正答。RMONはエージェントがネットワークインタフェースでパケットやホスト統計、アラーム、イベント等を収集し、これらをRMON MIBオブジェクトとして管理局に提供します。管理装置はSNMPでこれらのオブジェクトを取得し、必要に応じてSNMPトラップで通知を受けます。RMON自体はSNMPの拡張(MIB群・監視仕様)であり、独立した通信プロトコルではありません。 -
ウ: SMTP
SMTPは電子メールを送受信するためのプロトコルです。ネットワークパケットのキャプチャや統計収集、SNMPによる管理装置との連携とは無関係です。 -
エ: Trap
SNMPトラップ(Trap)は、エージェントが管理局に対してイベント通知を送る仕組みです。通知手段としては使われますが、それ自体が「パケットをキャプチャして解析する仕組み」ではありません。RMONのような監視エージェントが内部で検出した事象をトラップで通知する、という関係です。
よくある誤解
-
RMONは「独立したプロトコル」であるという誤解
正しくは、RMONはSNMPのためのMIB群や監視仕様であり、データの取得や通知にはSNMPを利用します。RMON自体を独立した通信プロトコルと呼ぶのは誤りです。 -
MIBと監視機能を混同する誤り
「MIB=監視機能」と考えると間違いです。MIBは監視に必要なデータ項目を定義する辞書で、実際にデータを収集するのはエージェント(RMONエージェントなど)です。 -
Trapだけで監視が完結すると考える誤り
トラップは通知手段であって、ポリシーに基づく詳細なパケット解析や統計収集は行いません。解析・蓄積はエージェント側で行われます。
補足コラム
RMONは「リモートでのネットワーク監視」を目的とした仕様で、エージェントが対象ネットワークのトラフィックを観察し、ホスト統計、プロトコル分布、履歴(history)、アラーム・イベント管理などを行います。管理局はSNMPでRMON MIBにアクセスして収集済みデータを取得します。近年はフロー収集(NetFlow、sFlow)やパケットキャプチャ専用アプライアンスとの併用で、より詳細なトラフィック分析を行うケースが増えていますが、RMONは「機器単位での長期間の統計収集とMIBによる管理」が強みです。
簡単な例(擬似コード): RMONエージェントが収集した値をSNMPで取得するイメージ
# pysnmp 等を使った擬似コード
from pysnmp.hlapi import *
iterator = getCmd(
SnmpEngine(),
CommunityData('public'),
UdpTransportTarget(('監視対象機器', 161)),
ContextData(),
ObjectType(ObjectIdentity('RMON_MIB_OID')) # RMONのOIDを指定
)
for errorIndication, errorStatus, errorIndex, varBinds in iterator:
if errorIndication:
print(errorIndication)
else:
for oid, val in varBinds:
print(oid, val)
FAQ
Q1: RMONとNetFlowはどちらが上位か?
A1: 用途が異なります。RMONは機器単位でMIBを通じた統計収集・監視仕様、NetFlowはフロー情報(通信単位)を集める方式です。監視目的に応じて併用されることが多いです。
A1: 用途が異なります。RMONは機器単位でMIBを通じた統計収集・監視仕様、NetFlowはフロー情報(通信単位)を集める方式です。監視目的に応じて併用されることが多いです。
Q2: RMONは自動的に管理局へデータを送るのか?
A2: 基本は管理局がSNMPでポーリングしてRMON MIBを取得しますが、エージェント側で定められた閾値を超えた場合にSNMPトラップで通知する実装もあります。
A2: 基本は管理局がSNMPでポーリングしてRMON MIBを取得しますが、エージェント側で定められた閾値を超えた場合にSNMPトラップで通知する実装もあります。
Q3: 「MIB」と「RMON MIB」は同じか?
A3: MIBは汎用的な概念(管理情報の定義)で、RMON MIBはRMON仕様で定義された具体的なオブジェクト群(RMON用のMIB)です。
A3: MIBは汎用的な概念(管理情報の定義)で、RMON MIBはRMON仕様で定義された具体的なオブジェクト群(RMON用のMIB)です。
関連キーワード: RMON、SNMP、RMON MIB、パケットキャプチャ、ネットワーク監視、SNMPトラップ、フロー監視、統計収集

\ せっかくなら /
ネットワークスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

