sFlow
sFlow
1. 機能概要
sFlowはトラフィックを監視する技術です。
sFlowでは、トラフィックに流れる全パケットではなく、特定の割合のパケットをサンプリングすることで、トラフィック情報を統計的に監視することができます。
sFlowは、sFlowエージェントと、sFlowコレクターによって構成されます。
-
sFlowエージェント
-
サンプリングでトラフィックを監視し、sFlowの情報を作成する。
-
sFlowの情報を格納したsFlowデータグラムをsFlowコレクターに送信する。
-
-
sFlowコレクター
-
sFlowエージェントから、sFlowの情報を格納したsFlowデータグラムを受け取る。
-
上記データグラムから、sFlowの情報を収集、解析する。
-
sFlowエージェントが行う、sFlowのサンプリングには、以下の2種類があります。
以下の両方、または、どちらかの情報がsFlowデータグラムに格納されます。
-
パケットフローサンプリング
-
インターフェースで送受信したすべてのパケットのうち、特定の割合をサンプルとして取得する。
-
-
カウンターサンプリング
-
インターフェースのカウンターを定期的にサンプリングする。
-
本製品は、sFlowエージェントとして動作します。
sFlowコレクターは、別途用意する必要があります。
本製品は、sFlow Version 5 (https://sflow.org/sflow_version_5.txt ) に対応しています。
2. 用語の定義
sFlowエージェント
サンプリングでトラフィックを監視し、sFlowの情報を作成後、sFlowの情報をsFlowコレクターに送信する機器。
本製品は、sFlowエージェントとして動作する。
sFlowコレクター
sFlowエージェントから、sFlowの情報を受け取り、情報の収集、解析を行う機器。
パケットフローサンプリング
インターフェースで送受信したすべてのパケットのうち、特定の割合をサンプルとして取得するサンプリング方法。
カウンターサンプリング
インターフェースのカウンターを定期的に取得するサンプリング方法。
sFlowデータグラム
sFlowエージェントがサンプリングによって取得した情報を格納した、UDPのパケット。
sFlowエージェントから、sFlowコレクターに送信される。
3. 機能詳細
sFlow機能の動作仕様について、以下に示します。
-
sFlow機能を有効にする場合は、 sflow enable コマンドで設定を行います。
-
初期設定は、 sflow disable (無効) となっています。
-
-
sflow agent コマンドで、sFlowエージェントの以下の設定を行います。
-
IPアドレス
-
IPv4アドレス
-
IPv6アドレス
-
-
本コマンドで設定したIPアドレスはsFlowデータグラムのsFlowヘッダーに使用されます。
-
初期設定は、設定なしとなっています。
-
-
sflow collector コマンドで、sFlowコレクターの以下の設定を行います。
-
IPアドレス
-
IPv4アドレス
-
IPv6アドレス
-
-
UDPポート番号
-
初期値は、6343 です。
-
-
本コマンドで設定した、IPアドレス、UDPポート番号宛てに、sFlowデータグラムが送信されます。
-
初期設定は、設定なしとなっています。
-
本製品では、sFlowコレクターを1台だけ設定できます。
-
本コマンドが設定されていない場合、サンプリングは開始されません。
-
-
パケットフローサンプリングの動作は以下の通りです。
-
物理ポートに対して、 sflow sampling-rate コマンドで、サンプリングレートを設定することで、対象のポートにて、パケットフローサンプリングが行われます。
-
初期設定は、設定なしとなっています。
-
-
サンプリングレートは、指定したパケットのうちの、1パケットをサンプリングする比率を指定します。
-
例えば、サンプリングレートを 1000 とした場合、対象のポートで 1000 パケットを送信または、受信したときの1パケットがサンプリングされます。
-
-
送信と、受信のサンプリングは別々に行われます。
-
ポートごとに独立してサンプリングが行われます。
-
sflow max-header-size コマンドで、パケットフローサンプリングを行う際の、サンプリングするイーサネットフレームのヘッダーサイズの最大値を設定を行います。
-
初期値は、128です。
-
-
sflow sampling-rate コマンドで、サンプリングレートを設定した場合、以下の動作となります。
-
設定する前のサンプリングレートを用いたサンプリングが終了した後に、新しいサンプリングレートが適用されます。
-
-
-
カウンターサンプリングの動作は以下の通りです。
-
物理ポートに対して、 sflow polling-interval コマンドで、ポーリング間隔を設定することで、対象のポートにて、カウンターサンプリングが行われます。
-
初期設定は、設定なしとなっています。
-
-
ポーリング間隔は、カウンターを取得する秒数を指定します。
-
例えば、ポーリング間隔が30の場合、対象ポートのカウンター情報が30秒に1回サンプリングされます。
-
-
ポートごとに独立してサンプリングが行われます。
-
-
本製品から送信される、sFlowデータグラムは以下の通りです。
-
sflow collector max-datagram-size コマンドで、sFlowデータグラムの最大サイズの設定を行います。
-
パケットフローサンプリングのsFlowデータグラムには、sFlow Version 5 の以下が格納されます。
-
Raw Packet Header(enterprise = 0, format = 1)
-
-
カウンターサンプリングのsFlowデータグラムには、sFlow Version 5 の以下が格納されます。
-
Generic Interface Counters(enterprise = 0, format = 1)
-
Ethernet Interface Counters(enterprise = 0, format = 2)
-
使用できないカウンターには、カウンターの最大値が格納されます。(32ビットカウンターであれば、0xFFFFFFFF)
-
-
4. 関連コマンド
関連コマンドについて、以下に示します。
コマンドの詳細は、コマンドリファレンスを参照願います。
操作項目 | 操作コマンド |
---|---|
sFlow機能の設定 |
sflow |
sFlowエージェントの設定 |
sflow agent |
sFlowコレクターの設定 |
sflow collector |
sFlow データグラムの最大サイズの設定 |
sflow collector max-datagram-size |
パケットフローサンプリングのサンプリングレートの設定 |
sflow sampling-rate |
パケットフローサンプリングのイーサネットフレームの最大ヘッダーサイズの設定 |
sflow max-header-size |
カウンターサンプリングのポーリング間隔の設定 |
sflow polling-interval |
sFlowの状態の表示 |
show sflow |
sFlowのサンプリング情報の表示 |
show sflow sampling |
5. コマンド実行例
port1.1でsFlowのパケットフローサンプリングと、カウンターサンプリングを実施します。
-
sflowエージェントのIPアドレスを設定します。
Yamaha(config)#sflow agent 192.168.100.240
-
sFlowコレクターのIPアドレスを設定します。
Yamaha(config)#sflow collector 192.168.100.2
-
対象ポートのパケットフローサンプリングのサンプリングレートを設定します。
Yamaha(config)#interface port1.1 Yamaha(config-if)#sflow sampling-rate 1000
-
対象ポートのカウンターサンプリングのポーリング間隔を設定します。
Yamaha(config)#interface port1.1 Yamaha(config-if)#sflow polling-interval 30
-
sFlowを有効にします。
Yamaha(config)#sflow enable
6. 注意事項
-
sFlow MIBには対応していません。
-
スタック構成にて、スタックメイン、スタックメンバー間で、show sflow sampling コマンドのサンプリング情報は同期されません。
-
通信量が多い環境で sflow sampling-rate コマンドが小さい値に設定されている場合、以下となる可能性があります。この場合 sflow sampling-rate コマンドの値の見直しを検討してください。
-
show environment コマンドで表示されるCPU使用率が高くなります。
-
show sflow コマンドで表示される「sFlow Drop Sampling Count」がカウントされます。
-
この値がカウントされている場合、パケットフローサンプリングでサンプリングされたパケットが、高負荷のため処理できずにドロップされています。 (※サンプリングはドロップされますが、パケット自体がドロップされるわけではありません)
-
-
サンプリング対象のポート数、他の機能の動作有無によって変わるため、一概に推奨値を示すことはできませんが、目安として、全ポート使用した場合でも、sFlowでのドロップが発生する可能性が低い sflow sampling-rate コマンドの値を以下に示します。
-
1Gのインタフェースを使用する場合 … 2000 (1/2000)
-
10Gのインタフェースを使用する場合 … 10000 (1/10000)
-
-
7. 関連文書
特になし