SFlow

sFlowは、IETF RFC 3176として公開されており、ネットワークをモニタリングするためのプロトコルである。sFlowの仕様の策定と実装は、2001年に行われた。
sFlow.
sFlowは、スイッチング・ルーティング・ネットワーク内でトラフィック・データを分析するメカニズムを提供する。
ネットワークの使用内容や今日のハイ・スピードで複雑化したネットワークのアクティブなルートに対する可視化を提供することで、sFlowは、ネットワークの使用内容を効率的に管理・コントロールするために必要な情報を提供する。
デバイスから統計値を収集する技術としてサンプリング技術を使用している、これによってハイ・スピードネットワーク（ギガスピード以上）内で利用することが可能になる。
sFlowエージェントは、ハードウェア上（スイッチなど）でサンプリング・メカニズムを実装している。sFlowコレクターは、全てのエージェントからのsFlowデータグラムを中央のサーバーで収集し、保存・分析を行う。sFlowエージェントは、2つのオペレーション・フォームを使用する。ひとつが、スイッチ、あるいは、ルートされたパケットに対してパケットベースでサンプリングされた統計値、もうひとつが、インタフェース・カウンターに対してタイムベースでサンプリングされた統計値である。
フロー・サンプル.
指定されたサンプリング・レート（エージェント全体かインターフェース単位に対して指定）を基準に、N パケット分の1 ( 1 / N ) でキャプチャーされコレクタ・サーバーへ更新される。サンプリングを行うことは、100%正確な結果を提供することが出来ないが、統計学による誤差分析を行い結果に対して定量化された正確度を提供することが可能である。
カウンター・サンプル.
ポーリング・インターバルは、個々のインターフェースのオクテットやパケットのカウンター値をsFlowとしてコレクタへ送信する間隔を定義する。しかし、sFlowエージェントは、内部効率を最大限にするためにポーリングを自由に実行できる。もし、規則正しい実行を行う場合は、スムーズなパフォーマンスの観点からは異なる選択となる。
sFlowデータグラム.
サンプルされたデータは、sFlowコレクタの指定したホスト・ポートへUDPパケットとして送信される。デフォルトのポートは、6343 である。UDPトランスポート・メカニズムの信頼性の欠落は、sFlowエージェントから得られる測定の正確性にはあまり影響を与えない。もし、カウンター・サンプルがロストした場合、次のポーリング間隔が経過後、新しい値が送信される。フロー・サンプルのパケットがロスした場合は、有効なサンプリング・レートをわずかに減少させる。
UDPペイロードには、sFlowデータグラムを含む。それぞれのデータグラムは、sFlowバージョン・エージェントのIPアドレス・シーケンス番号・通常10個までのフローサンプル/カウンターサンプルのサンプル数についての情報を提供する。
RFC 3176は、sFlowのバージョン2から4までを定義している。sFlowバージョン5は、メモとして公開されている。
ワイヤレスネットワークをモニタリングための規格としてsFlow 802.11も策定されている。