◆ NetFlowとは
NetFlow( ネットフロー )とは、ネットワーク上で流れるトラフィックフローを受動的にモニタできる機能
のことです。NetFlowはIOSの機能の1つであり、1996年にCiscoが開発しました。パケットスイッチングは
CEF(Cisco Express Forwarding)で行われて、NetFlowを有効化したインターフェースに着信するパケット
についてはNetFlow用のキャッシュが作成され、フロー情報としてIOSメモリ上に格納されることになります。
NDE対応サーバやレポーティングサーバがなくても、IOSメモリに格納されたNetFlowのキャッシュ情報を参照してモニターも可能。
@ NetFlowが有効化されたI/Fに着信すると、同一フローが既存のNetFlowキャッシュ内に存在するか確認。
NetFlow version 5では、フローを識別する要素として7つの属性(キーフィールド)を利用して判断します。
・ 送信元IPアドレス
・ あて先IPアドレス
・ TCP/UDPポート送信元番号
・ TCP/UDPポートあて先番号
・ L3プロトコル
・ ToSバイト(DSCP)
・ 入力インターフェース
トラフィック統計情報には以下の内容が含まれます。上記項目はKey-Fields、下記項目はNon Key-Fields。
・ 送信元IPアドレス/あて先IPアドレス
・ 送信元ポート番号/あて先ポート番号
・ 入力インターフェースと出力インターフェース
・ ToSバイト(DSCP)
・ フローのバイト数、パケット数
・ 送信元AS番号、あて先AS番号
A 7つのキーフィールドにおいて、同一のものがなければ新規フローとして、NetFlowキャッシュ内に
フローエントリーが作成されます。マッチするものがあれば既存のフローデータを更新します。
B NetFlowキャッシュ内のフローエントリが期限切れになるとフローはキャッシュテーブルから消去され
NDE(NetFlow Data Export)パケットとしてカプセル化されて、NDE対応サーバ等に送信されていきます。
◆ NetFlow - キャッシュタイマー
NetFlowキャッシュは以下の要因で期限切れとなり、UDPデータグラムとして格納され外部へ出力されます。
@ インアクティブタイマーの経過 (Defalut : 15秒)
⇒ 同一フローの通信が存在しなくなった時にのみ、カウントダウンが開始されるタイマー
A アクティブタイマーの経過 (Default : 30分)
⇒ 同一フロー通信の有無に関係なくフローエントリが作成された時点でカウントダウンが開始するタイマー
B NetFlowキャッシュテーブルが満杯になった時。(最も古いフローから削除される)
C TCPのRSTかFINを検出しTCPセッションが終了した時。(フローはタイマーに関係なく期限切れとなる)
◆ NetFlow - 外部出力
上記4つのいずれかの要因で期限切れとなったフローは、NDEペイロードフォーマットに基づきUDPデータ
グラムに蓄積されて一杯になると出力されます。NDEペイロードフォーマットはNetFlowのバージョンにより
異なります。フローキーの全ての情報を送出するのではなく、特定のフロー情報のみを外部出力したい場合は
NetFlow version 8 または 9 を使用します。集約設定を行わないならNetFlow version 5 または 9 にします。
NetFlowのバージョン |
説明 |
1 |
初期の実装。(現在ではほぼ使用されていない) |
5 |
Ciscoルータで標準的に実装されているバージョン。 |
7 |
Catalyst6500/Cisco7600などで使用。(現在ではほとんど使用されていない) |
8 |
集約キャッシュからデータをエクスポートする必要がある場合に使用するバージョン。 |
9 |
マルチキャスト、IPv6などのテクノロジーからデータをエクスポートする必要がある場合に使用
するバージョン。NetFlowメインキャッシュと集約キャッシュからのエクスポートをサポートする。
|
|