IT用語集

NetFlowとは? わかりやすく10分で解説

水色の背景に六角形が2つあるイラスト 水色の背景に六角形が2つあるイラスト
アイキャッチ
目次

はじめに

ネットワーク技術は日々進化しており、その中でトラフィックの監視と分析は非常に重要な役割を果たしています。この記事では、トラフィック監視の代表的な仕組みであるNetFlowに焦点を当て、基本から応用までをわかりやすく解説します。

本記事の目的

本記事の目的は、NetFlowが「パケットそのもの」ではなく「通信の要約(フロー)」を扱う技術である点を踏まえ、次の流れで理解できるようにすることです。

  • NetFlowで何が取れるのか(できること/できないこと)
  • バージョン(v5 / v9)と、標準仕様であるIPFIXとの関係
  • 導入時の設計ポイント(どこで有効化するか、サンプリング、保存、可視化)
  • 運用で役立つ分析観点(異常検知、トレンド、セキュリティ活用)

NetFlowとは

NetFlowは、もともとCisco社が開発したネットワークトラフィックの計測・可視化の仕組みです。ルーターやスイッチなどのネットワーク機器が、通過する通信を「フロー(通信のまとまり)」として集約し、送信元/宛先、ポート、プロトコル、通信量、開始・終了時刻などの情報をフローレコードとして生成します。

ポイントは、NetFlowが通信の中身(ペイロード)を収集するものではないことです。NetFlowは「誰が・どこへ・どれくらい・いつ」通信したかを把握するのが得意で、内容そのものを見たい場合は、パケットキャプチャ(例:SPANミラー+キャプチャ)など別手段が必要になります。

NetFlowの歴史

NetFlowを理解するうえでは、なぜ「フロー」という考え方が広まったのかを押さえておくと整理しやすくなります。

ネットワーク監視が「パケット」だけでは追いつかなくなった

ネットワークは情報の高速道路のようなものです。ただし、トラブルシュートや容量設計を行う際に、すべてのパケットを保存して分析するのは、現実にはコストが大きくなりがちです。高速化・大容量化が進むほど、パケット保存はストレージや処理能力を圧迫します。

そこで登場したのが、パケットを要約して扱うという考え方です。通信を「フロー」としてまとめることで、監視・分析に必要な情報を保ちつつ、運用で扱えるサイズ感に落とし込みやすくなります。

NetFlowの誕生

1990年代、Cisco社はネットワークトラフィックを効率的に監視するための方法としてNetFlowを開発しました。これにより、従来よりも詳細な通信状況を、比較的軽量に把握できるようになりました。

進化するネットワーク技術とNetFlow

その後、ネットワーク機器の役割は「転送」だけでなく「制御・可視化・セキュリティ」へ広がりました。これに伴い、NetFlowもテンプレート方式を取り込むなど、より柔軟に拡張され、さらにIETF標準として整備されたIPFIX(後述)へと流れがつながっていきます。

NetFlowの基本概念

NetFlowを理解するには、まず「フロー」と「フローレコード(フローデータ)」の考え方を押さえるのが近道です。

フローとは

フローは、ネットワーク上の通信を一定の条件でひとまとまりとして扱う単位です。代表的には、次のような情報(いわゆる「5タプル」)で同一通信を識別します。

  • 送信元IPアドレス
  • 宛先IPアドレス
  • 送信元ポート
  • 宛先ポート
  • プロトコル(TCP/UDP/ICMPなど)

実装や設定によっては、これに加えて入力インタフェース/出力インタフェース、ToS/DSCP、TCPフラグ、AS番号、次ホップなどが含まれることもあります。

フローデータ(フローレコード)で分かること

フローレコードは、フローについての要約情報です。一般的には、次のような値が含まれます。

  • 通信元/通信先(IP、ポート、プロトコル)
  • パケット数/バイト数(通信量)
  • フローの開始時刻/終了時刻(または継続時間)
  • 入出力インタフェース情報

これにより、どの端末が、どの相手と、どれくらいの量を、どの時間帯に通信したのかが把握できます。たとえば「夜間に特定端末から外部へ大量送信」「あるサーバーへの集中アクセス」「特定ポートの急増」などが見つけやすくなります。

NetFlowの動作プロセス

NetFlowは大まかに次の流れで動作します。

  1. ネットワーク機器が通過するパケットを観測する
  2. 同一フローに属するパケットを集約し、フローの統計情報を蓄積する
  3. フローが一定条件で終了(タイムアウト、セッション終了など)するとフローレコードを生成する
  4. フローレコードをフローコレクターへ送信し、保存・可視化・分析する

このとき重要なのがタイムアウトの概念です。通信が続いている間ずっと送るのではなく、「一定時間更新がない」「一定時間経過した」などの条件でまとめて送ります。リアルタイム性と負荷のバランスは、ここで調整します。

NetFlowのバージョンとその特徴

NetFlowには複数の形式があり、運用現場では「v5」「v9」「(標準としての)IPFIX」を押さえておくと混乱が減ります。

NetFlow version 5

NetFlow v5は、長く広く使われてきた形式のひとつです。フィールド構造が固定であるため、実装が比較的シンプルで、多くの機器・コレクターが対応してきました。一方で、固定形式ゆえに新しい項目を柔軟に追加しにくいという制約があります。

NetFlow version 9

NetFlow v9は、テンプレートベースの形式です。最初に「このレコードにはどの項目が並ぶか」というテンプレートを送り、そのテンプレートに基づいてフローレコードを送ります。これにより、環境や目的に合わせて収集項目を拡張しやすくなりました。

実務上は、v9になると「収集項目は柔軟になるが、コレクター側がテンプレート管理を正しく扱える必要がある」という性質が出てきます。テンプレートの期限切れや再送が絡むと、可視化が乱れる原因にもなるため、コレクターの互換性や設定が重要になります。

IPFIX

IPFIX(IP Flow Information Export)は、IETFで標準化されたフロー情報のエクスポート方式です。テンプレートベースで柔軟に項目を扱える点はv9と近い一方で、標準仕様としてベンダー間の相互運用性を重視しています。

なお、現場では「IPFIX=NetFlow v10」と呼ばれることがありますが、これは便宜的な言い方として見かけるものの、正確にはNetFlowの“バージョン番号”ではなく標準方式と捉えるほうが誤解が少ないです。

Flexible NetFlow

Flexible NetFlowは、主にCisco機器で使われる拡張概念で、何をキーにフローを作り、どの項目を集め、どこへ出すかを柔軟に設計できます。用途に合わせた「必要十分」な収集ができる反面、設計を誤ると取りたいデータが取れない、逆に取りすぎて負荷が高い、といったことが起こり得ます。

NetFlowを活用するメリット

NetFlowは「パケット全部」ではなく「要約」を扱うことで、ネットワーク運用にとって扱いやすい視点を提供します。

効率的なトラフィック監視

NetFlowを使うと、ネットワーク全体の通信状況を俯瞰しやすくなります。たとえば、次のような問いに答えやすくなります。

  • 通信量が多い送信元/宛先はどれか
  • どのアプリケーション(ポート)が多いか
  • どの時間帯に増えるか

結果として、障害対応の初動(どこが詰まっているか、どこで増えたか)が速くなることが多いです。

トラフィックのトレンド分析

NetFlowは時系列で蓄積することで、トレンド分析に向きます。ピーク時間帯、成長率、特定サービスへの依存度などを把握し、回線増速や機器更改の判断材料にできます。パケットキャプチャに比べてデータが軽量になりやすく、長期保管にも適しています。

セキュリティ対策の強化

NetFlowだけで攻撃を完全に見抜くのは難しい場合もありますが、「いつもと違う」を見つける材料として強力です。たとえば、次のような兆候検知に使われます。

  • 夜間や休日に外部宛の通信量が急増する(情報持ち出し疑い)
  • 多数の宛先/ポートへ短時間に通信する(スキャン疑い)
  • 特定の宛先に対して異常に接続が集中する(DDoSや誤設定の兆候)

ただし、フローは「内容」を持たないため、アラートの確証を取るには、端末ログ、プロキシログ、EDR、DNSログなどとの突合が現実的です。

NetFlowの設定と実装

NetFlowは「有効にするだけ」でも一定の可視化は得られますが、安定運用のためには設計の要点を押さえることが重要です。

対応機器の選定

まず、利用するネットワーク機器がNetFlow(または同等のフロー機能)に対応しているか確認します。ここで見るべきポイントは次の通りです。

  • 対応形式(v5 / v9 / IPFIX)
  • 送信できる項目の範囲(インタフェース、AS、アプリ識別など)
  • サンプリング対応の有無
  • 機器負荷(CPU/メモリ)への影響

機器によっては、フロー機能の有効化でCPU負荷が上がる場合があります。特に高トラフィック環境では、後述するサンプリングや収集点の見直しが必要です。

基本的な設定手順

機器やベンダーでコマンドは異なりますが、流れは共通です。

  1. どのインタフェース/どの方向(入力/出力)でフローを作るか決める
  2. エクスポート先(フローコレクターのIPとポート)を設定する
  3. 形式(v5/v9/IPFIX)と送出間隔・タイムアウトを設定する
  4. 必要に応じてサンプリングを設定する

設計で迷いやすいのは「どこで取るか」です。たとえば、拠点WAN出口で取れば全体の外向き通信が見えます。一方、データセンター側で取ればサーバー間通信が見えます。目的(帯域設計、セキュリティ監視、アプリ把握)に合わせて収集点を決めるのが現実的です。

フローコレクターの導入

フローコレクターは、フローデータを受け取り、保存し、検索・可視化する役割を持ちます。導入時には次の観点が重要です。

  • 受信対応形式(v5/v9/IPFIX)とテンプレート処理の安定性
  • 保存期間とストレージ見積もり(トラフィック量、サンプリング率に依存)
  • 検索性(上位通信の抽出、期間比較、アラート機能)
  • 他ログとの連携(SIEM、EDR、DNS、認証ログなど)

特にv9/IPFIXではテンプレートの扱いが安定性の肝になります。機器側のテンプレート再送間隔と、コレクター側のテンプレート保持期限の整合が悪いと、可視化が欠けたように見えることがあります。

NetFlowのデータ解析

NetFlowは「集めたら終わり」ではなく、分析の型を作るほど価値が出ます。ここでは実務で使われやすい観点を紹介します。

データの可視化

可視化の基本は、まず上位Nの切り口を固定することです。例えば次のような切り口は、どの環境でも有効になりやすいです。

  • 送信元IP別の上位通信量
  • 宛先IP別の上位通信量
  • ポート(アプリ)別の上位通信量
  • 時間帯別の通信量推移(ピーク・平常の差)

「いつも上位の顔ぶれ」と「今日だけ上位に出てくるもの」を見比べるだけでも、異常の当たりをつけやすくなります。

トラフィックの異常検知

異常検知は、まず平常時のベースラインを作ることが前提です。いきなり“異常”を探すのではなく、通常の時間帯別・曜日別の傾向を把握し、そこからのズレを検知します。

検知例としては、次のようなものが現実的です。

  • 外部宛の送信量が平常時より急増
  • 宛先の種類(宛先IP数)が短時間に急増
  • 特定ポートのトラフィックが突然増える

ただし、フロー情報は内容を持たないため、アラート後は端末側ログやプロキシログなどで根拠を補強します。NetFlowは「早く気付く」ためのセンサーとして置くのが適しています。

最適化のための分析手法

最適化では、「混雑しているリンク」と「原因となる通信」を結びつけるのが基本です。たとえば、WAN回線が逼迫する場合、上位通信がバックアップ、OS更新、動画会議、クラウド同期など何なのかを特定できると、対策(時間帯シフト、帯域制御、経路見直し)が検討しやすくなります。

ここで、サンプリングを使っている場合は注意が必要です。サンプリングは負荷を下げる代わりに、細かい通信(少量・短時間)が見えにくくなることがあります。最適化の目的が「大口通信の把握」なら問題になりにくい一方、「小さなスキャンの兆候」などを拾いたい場合は、別ログとの併用が現実的です。

NetFlow導入・運用で押さえる注意点

NetFlowは便利ですが、導入後に詰まりやすいポイントもあります。ここを先に押さえておくと運用が安定します。

サンプリングと精度のバランス

高トラフィック環境では、全フローを等倍で扱うと機器やコレクターが苦しくなることがあります。その場合、サンプリング(例:1/1000)で負荷を落とします。ただしサンプリングを入れると、通信量は推定値になり、短い通信は見えにくくなる場合があります。

暗号化通信の増加と「見える範囲」

HTTPSなど暗号化が当たり前になるほど、パケット中身の可視化は難しくなります。一方でNetFlowは「中身は見ない」ため、暗号化の有無に関係なく、通信の相手・量・時間帯を把握できます。暗号化時代においても、フロー監視が重要視される理由の一つです。

プライバシーと取り扱い

フロー情報は内容そのものを持たないとはいえ、通信先や頻度、時間帯は利用者の行動を推測し得る情報です。収集目的、保管期間、閲覧権限、持ち出し制限などを明確にし、社内規程と整合させて運用することが望ましいです。

NetFlowの今後の展望

NetFlowは、ネットワークのトラフィック監視と分析において有効な仕組みであり、今後も「運用の現場で扱える可視化」として活用が続くと考えられます。

標準化と相互運用性

IPFIXのように標準方式が整備されることで、ベンダー依存を減らしつつ、フロー情報を運用に取り込みやすくなります。今後も、可視化・分析基盤(SIEMなど)との連携が前提になっていくでしょう。

トラフィック監視の新たな可能性

フロー監視はネットワークの安全性や効率性を向上させるだけでなく、利用状況の把握やサービス品質の改善にも寄与します。ネットワークが複雑化するほど、「全体の傾向をつかむ」ためのフロー可視化は価値が上がります。

NetFlowの活用事例

ここでは、NetFlowが現場でどのように使われるかを、用途ベースで整理します。

企業のネットワークセキュリティ強化

外部宛の急な大容量送信、通常と異なる宛先への接続増加、特定サーバーへの集中通信など、NetFlowで兆候を捉え、端末ログや認証ログと突合して調査を進めます。NetFlowは「侵入の確証」を出すよりも、調査の起点として役立ちます。

クラウド利用のトラフィック管理

クラウド利用が増えると、どの拠点・どの部署が、どのクラウド宛にどれくらい通信しているかがコストと品質に直結します。NetFlowで外向き通信の傾向を可視化し、回線設計、ローカルブレイクアウト検討、帯域制御の判断材料にできます。

データセンターの最適化

データセンターでは東西トラフィック(サーバー間通信)が増えるケースがあります。フローで通信の偏りを見つけ、配置見直し、経路設計、ロードバランス調整などにつなげることで、パフォーマンス改善の糸口になります。

おわりに

この記事では、NetFlowの基本から、バージョンの違い、IPFIXとの関係、導入・運用のポイント、分析の観点までを解説しました。NetFlowは「通信の要約」を扱うことで、ネットワーク全体の傾向をつかみやすくし、障害対応・容量設計・セキュリティ監視の初動を支えます。

一方で、NetFlowは万能ではありません。内容を見たい場合は別手段が必要であり、サンプリングやテンプレート運用など設計面の注意点もあります。目的に合わせて収集点と分析観点を定め、他ログと組み合わせることで、NetFlowの価値を最大化できます。

Q.NetFlowとは何ですか?

NetFlowは、ネットワーク機器が通過する通信を「フロー(通信のまとまり)」として集約し、送信元/宛先、ポート、通信量、時刻などをフローレコードとして出力する仕組みです。

Q.NetFlowで通信内容(中身)も見られますか?

基本的に見られません。NetFlowは「誰が・どこへ・どれくらい・いつ」通信したかを把握するための要約情報で、ペイロードは取得しません。内容確認にはパケットキャプチャなどが必要です。

Q.フローとは何を基準にまとめられますか?

代表的には送信元IP、宛先IP、送信元ポート、宛先ポート、プロトコル(5タプル)を基準に同一通信をまとめます。機器や設定により追加要素を含める場合もあります。

Q.NetFlow v5とv9の違いは何ですか?

v5は固定フォーマットでシンプル、v9はテンプレートベースで収集項目を柔軟に拡張できます。v9はテンプレート管理の安定運用が重要になります。

Q.IPFIXとは何ですか?

IPFIXはIETFで標準化されたフロー情報のエクスポート方式です。テンプレートベースで柔軟に項目を扱え、ベンダー間の相互運用性を重視しています。

Q.NetFlowはリアルタイム監視に向いていますか?

向いていますが、フローはタイムアウトなどの条件でまとめて送られるため、秒単位の完全なリアルタイム性が必要な用途では補助的に考えるのが安全です。要件に応じてタイムアウトや送出設定を調整します。

Q.サンプリングとは何ですか?

高トラフィック環境で負荷を下げるため、一定割合(例:1/1000)で観測・集計する方式です。大口通信の傾向把握に有効ですが、短い通信が見えにくくなる場合があります。

Q.NetFlowでセキュリティ検知はできますか?

「いつもと違う通信」を見つける材料として有効です。外部宛の急増、宛先数の急増、特定ポートの急増などの兆候検知に使われます。確証は他ログ(認証、DNS、EDRなど)との突合で補強します。

Q.フローコレクターは必須ですか?

実務上はほぼ必須です。機器が出力したフローレコードを受信・保存し、検索や可視化、アラートに活用する役割を担います。v9/IPFIXではテンプレート処理の安定性も重要です。

Q.導入設計で最初に決めるべきことは何ですか?

「どこで取るか(収集点)」と「何を目的に見るか(帯域設計、障害対応、セキュリティなど)」です。目的により、必要な項目、収集方向(入力/出力)、保存期間、サンプリング有無が変わります。

記事を書いた人

ソリトンシステムズ・マーケティングチーム