NetFlow
ルータやスイッチで通信のまとまり(フロー)ごとの統計情報を集計し、コレクタへ送る技術。誰がどこへ、どれくらい通信したかを分析するために使う。
イマシルちゃんの解説
ネットワークが混んでいるとき、「全体でたくさん流れている」と分かるだけでは、原因を探しにくいよね。
そこで機器が、相手のアドレスやポート番号などを手掛かりに通信を分けて、量を数えておくんだ。
その記録を集める係に送れば、どの通信が帯域を使っているか調べられるよ。
OpenFlowのように「こう転送してね」と指示する仕組みとは、役割が違うんだ。
より深い解説
フローと記録
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」。