NetFlow
ルータやスイッチで通信のまとまり(フロー)ごとの統計情報を集計し、コレクタへ送る技術。誰がどこへ、どれくらい通信したかを分析するために使う。
イマシルちゃんの解説
ネットワークが急に遅くなったとき、通信量が多いことだけ分かっても原因は絞りにくいよね。
NetFlowは、通信をフローというまとまりに分けて記録する監視技術だよ。
ルータやスイッチが、送信元や宛先のアドレスなどが共通するパケットをまとめ、流れたデータの量や時刻を記録するんだ。
その記録を、受信して保存するコレクタへ送るの。
管理者は集まった記録から、どの機器がどこへ大量に通信していたかを調べられるよ。
パケットの中身を全部保存するのではなく、通信の特徴をまとめて把握するために使うんだ。
この解説はわかりやすかったですか?
より深い解説
フローと記録
NetFlowはCiscoが開発した通信監視技術である。フローを識別する条件には、送信元・宛先のIPアドレス、送信元・宛先のポート番号、IPプロトコル番号などを使う。識別項目は方式や設定で異なる。
| 記録の要素 | 例 |
|---|---|
| 通信の識別 | アドレス、ポート番号、プロトコル |
| 通信量 | パケット数、バイト数 |
| 時間 | フローの開始・終了時刻 |
記録は通常、個々のパケットの本文を丸ごと保存するものではない。通信内容そのものを調べるパケットキャプチャとは、得られる情報が異なる。
収集の流れ
- ルータやスイッチが、条件に一致するパケットをフローに分類する。
- 機器内でフローごとの統計を更新する。
- タイムアウトなどを契機に、エクスポータがフローレコードを送る。
- コレクタが記録を受信・保存し、分析に利用する。
OpenFlow・SNMPとの違い
| 技術 | 主な目的 | やり取りするもの |
|---|---|---|
| NetFlow | 通信の分析 | 機器からコレクタへのフロー統計 |
| OpenFlow | パケット転送の制御 | コントローラからスイッチへの転送ルールなど |
| SNMP | 機器の監視・管理 | MIBの情報の取得・設定や通知 |
平成29年度問13の「フローごとの統計情報をコレクタへ送信する」は、この種のフロー監視の説明である。フローテーブルを制御するOpenFlowと、名前の「Flow」だけで混同しないようにする。
利用時の注意
集計条件、タイムアウト、サンプリングの有無などで記録の粒度は変わる。観測した統計が全通信を漏れなく表すとは限らないため、機器の設定を確認して分析する。
参考仕様・資料:Cisco「Configuring Flexible NetFlow」、RFC 3954「Cisco Systems NetFlow Services Export Version 9」。