NetFlow



 ◆ 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メインキャッシュと集約キャッシュからのエクスポートをサポートする。




NetFlowとは - Cisco IOS NetFlow - 設定コマンド

ネットワークエンジニアとして

Copyright (C) 2002-2024 ネットワークエンジニアとして All Rights Reserved.