リアルタイム流量監視用インバンドフローアナライザー(IFA)2.0プローブ
インバンドフローアナライザー(IFA)2.0は、ネットワーク全体のホップごとにデータを収集します。このデータを外部コレクターにエクスポートして、ローカライズされた分析やエンドツーエンドの分析を実行します。
インバンドフローアナライザー2.0
- インバンドフローアナライザー2.0の概要
- 利点
- モード(Junos OS Evolvedのみ)
- インバンドフローアナライザープロセス
- IFAプローブパケットヘッダー
- IFAプローブパケットのテールスタンプ(QFX5220のみ)
- IFAノードでサポートされる機能
- IFA 2.0設定の制限
- 使用上の考慮事項
インバンドフローアナライザー2.0の概要
Inband Flow Analyzer 2.0(IFA 2.0)は、ネットワークに出入りするパケットを監視および分析するために使用できる機能です。ネットワーク管理者は、この機能を使用して、パケットがネットワークを通過するパスと、パケットが各ホップで費やす時間に関連するデータを収集できます。このデータは、過度の遅延と混雑の可能性を示します。この機能は、データプレーンでホップごとのフローデータを収集することで、複雑なネットワークに関するインサイトを得るのに役立ちます。
IFAは、プローブパケットを使用してネットワーク全体のフローデータを収集します。IFAは対象のフローをサンプリングし、プローブパケットを生成します。これらのパケットは元のフローを表しており、元のフローと同じ特性を持っています。つまり、IFA パケットは、元のパケットと同じネットワーク内のパスとネットワーク要素内の同じキューを通過します。その結果、IFAプローブパケットは元のフローと同じネットワークパスを通過し、同様の遅延と輻輳が発生します。
インバンドフローアナライザー2.0(IFA 2.0)を使用して、次のようなフローデータ情報を収集できます。
- 滞留時間(遅延)
- ホップごとの遅延
- ホップごとのイングレスポート番号
- ホップごとのエグレスポート番号
- 受信パケットのタイムスタンプ値
- キューID
- 混雑通知
- Egressポート速度
IFA 2.0は、IETFドラフト「 Inband Flow Analyzer」(draft-kumar-ippm-ifa-02)で定義されています。
利点
- IFAプローブパケットは元のフローと同じネットワークパスを通過するため、ネットワークの障害やパフォーマンスの問題を監視するのに役立ちます。
- ライブトラフィックを監視することで、パケットレベルの遅延分析とキュー混雑監視を実行し、ネットワークパフォーマンスを最適化するのに役立ちます。
モード(Junos OS Evolvedのみ)
Junos OS Evolvedリリース25.4R1以降、IFA 2.0機能の2つのモードがサポートされています。新しいモードは次のとおりです。
-
ライブモードでは、サポートするスイッチに対して、IFA 2.0は元のパケットをIFAプローブパケットとして使用します。
-
プローブモードでは、IFA 2.0 は元のパケットのコピーを IFA プローブパケットとして使用します。このモードはデフォルトであり、Junos OS Evolvedリリース25.4R1より前の機能と同じように動作します。
IFAイニシエーターノードがIFAプローブパケットを開始するように設定されている場合、以下は次のようになります。
-
ライブモードでは、イニシエーターはIFAヘッダーとメタデータをライブパケットに挿入します。
-
プローブモードでは、イニシエーターがフローをサンプリングし、そのサンプルをコピーしてプローブを作成します。
IFAターミネーターノードを設定して、パケット内のIFAヘッダーを解析して、ライブパケットかプローブパケットかを判断する場合:
-
ライブパケットの場合、ターミネーターはIFAレイヤーを削除し、変更されたライブパケットを宛先に転送します。
-
パケットがプローブパケットの場合、ターミネーターはパケットをドロップし、ミラーコピーをコレクターに送信します。
モードを指定するには、[edit services inband-flow-telemetry]階層レベルでmode (live | probe)ステートメントを設定します。デフォルトモードはprobeです。show services inband-flow-telemetry globalコマンドを使用すると、モード情報を含むプローブ結果が表示されます。
インバンドフローアナライザープロセス
IFAは、以下の処理ノード( 図1を参照)を使用してフローを監視および分析します。
- IFAイニシエーターノード(ingressノードとも呼ばれます)
- IFAトランジットノード
- IFA終端ノード(エグレスノードとも呼ばれます)
IFA 2.0 は、レイヤー 3(L3)フローと VXLAN フローの両方の処理をサポートしますが、同じデバイス上の L3 フローと VXLAN フローの両方に対して IFA を設定することはできません。フロータイプのオプションは相互に排他的です。 flow-type 設定ステートメントを使用して、対象のフロータイプ(L3またはVXLAN)を設定します。 flow-type ステートメントは、IFA開始ノードとIFA終端ノード(一般的にはリーフノード)に対してのみ設定します。IFAトランジットノード(通常はスパインノード)の場合、 flow-type ステートメントを設定する必要はありません。
表 1 は、IFA 処理ノードが実行するさまざまな機能を要約しています。
| IFAノード | 関数 |
|---|---|
| IFAイニシエーターノード | 対象のフロートラフィック(L3 または VXLAN)をサンプリングし、各サンプルに IFA ヘッダーを追加して IFA コピーを作成します。ライブモードを設定した場合、イニシエーターはIFAヘッダーとメタデータをライブパケットに挿入します。 |
| IFAトランジットノード | IFAパケットを識別し、そのメタデータをパケット内のメタデータスタックに追加します。
|
| IFA終端ノード |
注:
IFA終端機能には、有効なジュニパーアドバンスドテレメトリ機能(ATF)ライセンスが必要です。 |
IFAプローブパケットヘッダー
IFA 2.0 プローブ パケットには、次のものが含まれます。
- IFAヘッダー
- IFAメタデータヘッダー
- IFAメタデータスタック
図2は、IFAイニシエーターノードでのL3 IFA 2.0パケット形式を示しています。
でのレイヤー3 IFA 2.0パケット形式
図3は、IFAイニシエーターノードでのVXLAN IFA 2.0パケット形式を示しています。
でのVXLAN IFA 2.0パケット形式
VXLANを使用する場合、IFAヘッダーは3パスメカニズムを使用してVXLANカプセル化後に追加されます。
IFAヘッダー
IFA 2.0では、TCP、UDP、GRE(Generic Routing Encapsulation)、STP(Spanning Tree Protocol)でULHを定義する方法と同様に、上位層ヘッダー(ULH)が定義されています。IFA ULHは、他のIPv4拡張ヘッダーが存在する場合でも、常にIPヘッダーの後の最初のヘッダーです。 NextHdr フィールド(つまり、IFAヘッダーの Protocol Type フィールド)には、元のIPヘッダープロトコルフィールド値が含まれます。 図4 は、IFAヘッダーのフォーマットを示しています。
| IFAヘッダーフィールド | の説明 |
|---|---|
| IFAバージョン | IFA ヘッダーのバージョン。現在の実装では、IFA バージョンは 2.0 です。 |
| GNS | IFA メタデータのグローバル名前空間(GNS)。IFA開始ノードは、このフィールドの値を0xFとして設定します。 |
| プロトコルタイプ | IP ヘッダー プロトコル タイプ。この値はIPヘッダーからコピーされます。 |
| フラグ | 使用されていません |
| 最大長 | メタデータスタックの最大許容長(4オクテットの倍数)。イニシエーターノードは、このフィールドを初期化します。パス内の各ノードは、現在の長さと最大長さを比較します。現在の長さが最大長と同じかそれを超える場合、トランジット ノードはメタデータの挿入を停止します。この最大許容長を設定できます。デフォルト値は240オクテット(30ホップ用)です。 |
IFAメタデータヘッダー
IFA 2.0 では、 図 5 に示すように、コンパクトな 4 バイトのメタデータヘッダーが定義されています。IFA開始ノードは、このヘッダーをプローブパケットに追加します。
| IFAメタデータヘッダーフィールドの | 説明 |
|---|---|
| リクエストベクトル | GNS で指定されたフィールドの存在を指定します。未使用。 |
| アクションベクトル | IFA パケットに対するノードローカルまたはエンドツーエンドのアクションを指定します。未使用。 |
| ホップ制限 | IFAゾーンで許可されるホップの最大数を指定します。イニシエーターノードは、このフィールドを初期化します。ホップ制限はホップごとに減衰します。受信パケットのホップ制限が 0 の場合、現在のノードはメタデータを挿入しません。この制限は設定できます。デフォルト値は250です。 終端ノードは、ホップ制限チェックを実行しません。 |
| 現在の長さ | メタデータスタックの現在の長さを4オクテットの倍数で指定します。 |
IFAメタデータスタック
各IFAホップは、 図6に示すように、ホップ固有のメタデータをIFAメタデータスタックに挿入します。IFA開始ノードは、L4ヘッダーの後にメタデータヘッダーを追加します。
トランジットノードとしてのQFX5220は、IFAプローブパケットヘッダーのメタデータスタックにメタデータを挿入できません。代わりに、QFX5220 は、タイムスタンプやその他のメタデータを含むテールスタンプを IFA プローブパケットの末尾に追加します。これらのテールスタンプの詳細については、 IFAプローブパケットのテールスタンプ(QFX5220のみ)を参照してください。
IFA 2.0メタデータスタックのエグレスポート速度フィールドは、QFX5230ではサポートされていません。フィールドの値は、エグレスポート速度に関係なく常に「0」です。
| IFAメタデータスタックヘッダーフィールド | の説明 |
|---|---|
| LNS | ローカル名前空間。LNS 値を 1 に設定する必要があります。 |
| デバイスID | ユーザー設定可能なデバイスID。デバイスIDを明示的に設定するか、 device-id auto ステートメントを設定することができます。 device-id autoを設定する場合、デバイスIDはルーター IDまたは管理IPアドレスから内部的に生成されます。 |
| IP TTL | 各ホップでのIP TTL(Time-to-Live)値 |
| エグレスポート速度 | エンコーディングは、0〜10Gbps、1〜25Gbps、2〜40Gbps、3〜50Gbps、4〜100Gbps、5〜200Gbps、6〜400Gbpsです。 エグレスポート速度は、IFAメタデータでマッピングされます。例えば、エグレスポート速度が10Gbpsの場合、IFAパケットの速度フィールドは0に設定されます。 |
| 混雑 | パケットに混雑が発生したかどうかを示します。エグレスポートで明示的輻輳通知(ECN)を有効にする必要があります。 |
| キューID | エグレスポートキューID |
| Rx タイムスタンプ秒 | 受信パケットのタイムスタンプ値(秒)。これらの20ビット値からTime-of-Day(ToD)を取得するのはコレクターの責任です。20ビット秒は12日ごとにラップアラウンドされます。コレクターは、ラップアラウンド時間内に定期的にToDを同期し、メタデータからの20ビットと併用して32ビット Rx Timestamp Seconds 値を導き出す必要があります。 |
| エグレスポート番号 | ASIC(エグレスハードウェア)ポート番号。 |
| イングレスポート番号 | イングレスハードウェアポート番号 |
| Rx タイムスタンプ ナノ秒 | ナノ秒単位のタイムスタンプ値を受信しました。このタイムスタンプは、タイムスタンプの後の正確な値(秒単位)です。これを[Rx Timestamp Seconds]値に追加すると、ナノ秒精度で正確なタイムスタンプを取得します。 |
| 滞留時間ナノ秒 | ナノ秒単位のホップあたりの遅延。QFX5120の場合、滞留時間は0x3B9ACA00(ナノ秒単位の1秒)+ TX_NSEC - RX_NSECとして計算されます。(ラップアラウンド処理を避けるために、パケットごとに 1 秒が追加されます)。一方、QFX5130、QFX5220、およびQFX5700については、滞留時間が実際の値として更新されます。 |
IFAプローブパケットのテールスタンプ(QFX5220のみ)
トランジットノードとしてのQFX5220は、IFAプローブパケットヘッダーのメタデータスタックにメタデータを挿入できません。代わりに、QFX5220 は、タイムスタンプやその他のメタデータを含むテールスタンプを IFA プローブパケットの末尾に追加します。QFX5220 は、テールスタンプとして合計 28 バイトのメタデータを追加します。IFAプローブパケットを受信すると、IFA終端ノードはメタデータ内のTTL値を使用してテールスタンプの数(つまり、2つのQFX5120またはQFX5130デバイス間のパス上のQFX5220ホップの数)を識別します。次に、テールスタンプが正しいメタデータ形式に変換され、メタデータスタック内の正しい場所に挿入され、トランジットノードが追加した順序でメタデータが表示されます。完了すると、IFA終端ノードは、設定された外部コレクターにIPFIX形式でデータをエクスポートします。
メタデータをスタックに挿入できないため、QFX5220の IFA メタデータスタックフィールド IP TTL 、 Egress Port Speed 、および Congestion は、コレクターで値 0 で受信されます。QFX5220のこれらのサポートされていないフィールドを無視するようにコレクターを設定する必要があります。
テールスタンプには、14バイトのイングレス(Rx)テールスタンプと14バイトのエグレス(Tx)テールスタンプが含まれます。 図7 と 図8 は、これらのタイムスタンプのフォーマットの詳細を示しています。
IFAノードでサポートされる機能
表5は、IFAノードでサポートされている機能を示しています。
| IFAノード | でサポートされている機能 |
|---|---|
| IFA開始元 | トラフィックとインターフェイスタイプ:
|
| IFAトランジット | IFAパケットを識別し、そのメタデータを追加して転送します。 |
| IFA終端 |
|
サポートされているIFA 2.0 IPFIXフォーマット(終端ノード)
終端ノードは、IFA 2.0パケットをIPFIXフォーマットでフォーマットし、エグレスポート情報を更新して、設定されたコレクターにパケットを送信します。IFA 2.0 IPFIXテンプレートは、L3トラフィックとVXLANトラフィックで同じです。 図9 は、終端ノードがIFA 2.0データをフォーマットしてコレクターに送信するIPFIXテンプレートを示しています。
QFX5240スイッチは、これらのIPFIXテンプレートを使用しません。代わりに、QFX5240スイッチはIFAパケットを終端し、ミラーはそれをカプセル化し、IPFIX PSAMPパケットとしてコレクターにパケットを送信します。PSAMPパケットには、IFAパケットのコレクタの宛先MACアドレス、コレクタの送信元MACアドレス、送信元IPアドレス、宛先IPアドレス、UDP送信元ポート、UDP宛先ポート、IPFIX PSAMPヘッダー、およびMAC送信元アドレスと宛先アドレスが含まれています。これらのフィールドの後には、IPレイヤーヘッダー、IFAヘッダー、L4レイヤー(UDP/TCP)ヘッダー、IFAメタデータヘッダーとスタック、ペイロードが続きます。
図10は、設定されたコレクタがIPFIX形式で受信したVXLAN IFA 2.0パケットのサンプルを示しています。
IFA 2.0設定の制限
Junos OSを実行しているデバイスでIFA 2.0を設定する前に、以下の制限事項に注意する必要があります。
-
プロトコル番号—IFA 2.0は、実験プロトコル番号253を使用します。スイッチがプロトコル番号253のトラフィックを受信した場合、それらのパケットはIFAトランジットフィルターにヒットします。この場合、QFX5220はこれらのパケットに28バイトのテールスタンプを追加します。QFX5130スイッチとQFX5700スイッチでは、パケットがフィルターにヒットしても、IFAメタデータはパケットに追加されません。ただし、IFA トランジット統計は増加します。
-
フィルターリソースの割り当て—フィルターハードウェアリソースがシステム内ですでに枯渇している場合、フィルターリソースが必要なため、IFA機能は機能しません。システムログ(syslog)でフィルター領域枯渇エラーを監視できます。
-
レイヤー2およびBUMトラフィック—IFA 2.0は、レイヤー2スイッチトラフィックとブロードキャスト、不明なユニキャスト、およびマルチキャスト(BUM)トラフィックではサポートされていません。
-
IFA レイヤー 3 および VXLAN フロー
- IFA 2.0 は、L3 フローと VXLAN フローの両方の処理をサポートしていますが、同じデバイスで L3 フローと VXLAN フローの両方に IFA を設定することはできません。
flow-typeオプションは相互に排他的です。flow-type設定ステートメントを使用して、対象のフロータイプ(L3またはVXLAN)を設定します。この制限は、IFA開始ノードと終了ノード(一般的にはリーフノード)にのみ適用されます。IFA トランジットノード(通常はスパインノード)の場合、フロータイプを設定する必要はありません。 - VXLAN IFA フローでは、終端ノードのエグレス ポート関連のメタデータ(エグレス ポート番号、速度、キュー ID、輻輳など)が正しくありません。VXLANフローの終端ノードエグレスポート関連のメタデータは無視することをお勧めします。
-
VXLANフローの場合、コレクターに送信されたIFA終了パケットには、イニシエーターノードとすべてのトランジットノードからのメタデータのみが含まれます。これらのパケットには、ターミネーターノードからのメタデータは含まれません。
- IFA フロー タイプ(L3 または VXLAN)の変更には、IFA フィルターの取り外しと再設定が必要です。フロータイプの不一致が発生した場合(たとえば、
flow-typeVXLANとして設定されているのに、受信トラフィックがL3である、またはその逆の場合)、IFAの動作を保証することはできません(IFAプローブパケットが無効なフィールドで開始される可能性があります)。
- IFA 2.0 は、L3 フローと VXLAN フローの両方の処理をサポートしていますが、同じデバイスで L3 フローと VXLAN フローの両方に IFA を設定することはできません。
-
IFAイニシエーターノード
- IFA開始にはL4ヘッダー(UDP/TCP)が必須です。
- エグレスポートがリンクアグリゲーショングループ(LAG)(リーフとスパインを接続するリンク)として機能するように設定されている場合、VXLANフローのIFA開始は機能しません。
- IFAイニシエーターのポート上のフローごとに異なるサンプルレートを設定することはできません。ポート内のすべてのフローは、同じサンプルレートを持つ必要があります。
-
IFAトランジットノード—Junos OSおよびJunos OS Evolvedを実行しているデバイスは、メタデータスタックの最大長チェックをサポートしていません。
hop-limitオプションを設定して、トランジットノードへのメタデータの挿入を制限します。QFX5220は、テールスタンプを挿入するためのホップリミットチェックを実行できません。また、QFX5220は、IFAプローブパケットヘッダーのメタデータスタックにメタデータを挿入できません。代わりに、QFX 5220は、IFAプローブパケットの末尾にテールスタンプを追加します。QFX5220は、
Rx Seconds Timestamp値で18ビットのみをサポートしています。QFX5130とQFX5700は、20ビットのRx Seconds Timestamp値をサポートします。Residence Time Nano Secondsフィールドは、QFX5220、QFX5130、およびQFX5700トランジットノードでは実際の値として更新されますが、QFX5120トランジットノードでは、1 秒 (10000000000ns) が実際の滞留時間とともに追加されます。 -
IFA終端ノード
- 終端ノードで設定できるIPv4コレクターは1つだけです。
- 終端ノードメタデータのキューIDは47です。このキューIDは、IFAパケットエクスポート用に予約されています。
- 終端ノードは、ホップリミットチェックを実行しません。着信IFAパケットが0に設定され
hop-limit場合でも、終端ノードはメタデータを挿入し、ホップ制限を1減らし、hop-limit値は255にリセットされます。
使用上の考慮事項
以下は、IFA 2.0 関連の使用に関する考慮事項です。
- サンプリングされたIFAパケットは、イニシエーターノードで送信されるときに、さらに40バイト(4バイトIFAヘッダー+4バイトIFAメタデータヘッダー+32バイトメタデータ)があります。後続の IFA ノードでは、32 バイトの IFA メタデータがすべてのホップに挿入されます。IFAパケットにホップごとのメタデータが挿入されるため、ホップごとにパケットサイズが大きくなります。ネットワークパスに沿って、それに応じてインターフェイスの最大送信単位(MTU)を設定する必要があります。多数のトランジットノードがあるIFAゾーンの場合は、MTUに注意する必要があります。または、イニシエーターノードで
hop-limitオプションを設定して、IFAパケットのサイズが指定されたMTU値を超えないようにすることもできます。 - 対象のフローを選択するには、送信元IPアドレス、宛先IPアドレス、送信元ポート、宛先ポート、およびプロトコル一致修飾子を任意に組み合わせて使用できます。VXLAN終端には、外側の送信元IPアドレスと宛先IPアドレスの一致修飾子を使用します。IFA 2.0 では、他の一致修飾子はサポートされていません。
修飾子を使用せずに終了フィルターを設定する方法もあります。この場合、ポート上のすべての着信IFAパケットが終了します。
- IFAゾーン内の各ホップに一意のデバイスIDを設定する必要があります。デバイスIDに
autoオプションを設定している場合、デバイスIDはルーター IDまたは管理IPアドレスの最後の20ビットから生成されます。 - サンプリングレートを
aggressiveとして設定している場合、IFAコピーが多くなってエグレスポートが輻輳する可能性があります。このポート輻輳により、IPFIXエクスポート用にIFAコピーがチッププロセッサーに送信されるときに、終端ノードで輻輳が発生する可能性があります。それに応じてサンプリングレートを選択することをお勧めします。 - IFA 2.0イニシエーターを設定すると、ループバックポート用の内部ミラーセッションが作成されます。その結果、ユーザーが設定可能なミラーセッションの数は4から3に減少します。
- 終端ノードは、最大9000バイト(IFAヘッダーを含む)のIFAパケットサイズを受け入れます。終端ノードでは、複数のIFA受信パケットが1つのIPFIXエクスポートパケットに結合されます。1つのIPFIXエクスポートパケットに最大10個のIFAレコードを結合できます。デフォルトでは、最大256バイトの元のフローパケットが、IFAヘッダーとともにIPFIXエクスポートの一部としてエクスポートされます。1つのIPFIXパケットの最大サイズは9000バイトです。コレクターポートで MTU を正しく設定する必要があります。1 つの IPFIX パケットの最大サイズは 9000 バイトであるため、IPFIX パケットの最大クリップ長は 9000 バイト - (IFA ヘッダー長 + IFA メタデータ ヘッダー長 + IFA メタデータ スタック長) と同じかそれ以下です。
- IFAゾーン内では、IFA対応(サポート対象)デバイスのみを使用することをお勧めします。IFA 非認識デバイスでは、IFA の適切な動作を保証することはできません。
インバンドフローアナライザー2.0を設定する
IFAは、データプレーンによるネットワーク状態に関する情報を収集できるインバンドネットワークテレメトリ(INT)の一種です。
IFA 2.0を設定して、ネットワークの障害やパフォーマンスの問題を監視し、分析用のデータを収集するには、まずIFAロールを設定する必要があります。IFA機能をサポートするJunos OSまたはJunos OS EvolvedデバイスでIFAロールを設定できます。サポートされているデバイスについては 、「機能エクスプローラー:インバンドフローアナライザー(IFA)2.0 」を参照してください。
以下は、IFA ロール用に Junos OS デバイスを設定するためのガイドラインの一部です。
- 同じモデルのスイッチまたは異なるスイッチを使用して、特定のIFAフローのIFAロール(イニシエーター、トランジット、ターミネーター)を果たすことができます。
- 同じデバイスを使用して、異なるフローに対して 3 つの異なる IFA ロールすべてを実行できます。
- IFA フローでは、トランジット IFA ロールはオプションです。
図11は、Junos OSデバイスでIFAノードを設定するシナリオの例を示しています。このシナリオでは、IFA 機能をサポートするさまざまな Junos OS デバイスが、単一の IFA フローで異なる IFA ロールを実行します。
以下に、IFAノードを設定するためのガイドラインの一部を示します。
- インターフェイス上のIFA設定は、ファイアウォールフィルター設定を介してのみ有効にできます。
- IFAフィルターは、ポートのイングレス方向にのみ適用できます。
表6は、IFA開始ノード、トランジットノード、および終端ノードの設定を要約したものです。
| IFA設定パラメータ | 設定ステートメント | IFAロール |
|---|---|---|
| (必須)デバイスIDを設定する | user@host# set services inband-flow-telemetry device-id (<1 - 1048575> | auto) |
IFA開始ノード、トランジットノード、および終端ノードの必須設定。 |
| (オプション、QFX5120-48YMまたはQFX5220のみ)より正確なクロックソースを設定する | user@host# set services inband-flow-telemetry clock-source (ntp|ptp) |
IFAイニシエーター、トランジット、およびターミネーターノード。 |
| (オプション)IFA最大メタデータスタック長 | user@host# set services inband-flow-telemetry meta-data-stack-length <8 - 255> デフォルト値:240(30ホップ用) |
IFAイニシエーターノード |
| (オプション)IFA最大ホップ制限 | user@host# set services inband-flow-telemetry hop-limit <1 - 250> デフォルト値 : 250 |
IFAイニシエーターノード |
| (オプション)IPv6アドレスの一致はありません | user@host# set services inband-flow-telemetry no-ipv6-address-match |
IFA開始/終端ノード |
| (必須)IFAフロータイプ | user@host# set services inband-flow-telemetry flow-type (l3 | vxlan) |
IFAイニシエーターとターミネーターノードの必須設定。この設定は、IFAトランジットノードには必要ありません。 |
| IFAサンプリング | user@host# set services inband-flow-telemetry profile ifa-profile-name sample-rate <1-16777215> |
IFAイニシエーターノード |
| コレクター情報 | user@host# set services inband-flow-telemetry profile ifa-profile-name collector source-address IP-address user@host# set services inband-flow-telemetry profile ifa-profile-name collector destination-address IP-address user@host# set services inband-flow-telemetry profile ifa-profile-name collector destination-port port-number user@host# set services inband-flow-telemetry profile ifa-profile-name collector maximum-clip-length length user@host# set services inband-flow-telemetry profile ifa-profile-name collector mtu size |
IFA終端ノード |
| L3フロー用IFAフィルター | 次に例を示します。 user@host# set firewall family inet filter f1 term t1 from match-condition user@host# set firewall family inet filter f1 term t1 then inband-flow-telemetry-init p1 user@host# set firewall family inet filter f1 term t2 from match-condition user@host# set firewall family inet filter f1 term t2 then inband-flow-telemetry-terminate p2 user@host# set interfaces (interface-name | wildcard) unit 0 family inet filter input f1 |
IFA開始/終端ノード |
| VXLANフロー用IFAフィルター | 次に例を示します。 user@host# set firewall family ethernet-switching filter f1 term term1 from match-condition user@host# set firewall family ethernet-switching filter f1 term t1 then inband-flow-telemetry-init p1 user@host# set firewall family ethernet-switching filter f1 term t2 from match-condition user@host# set firewall family ethernet-switching filter f1 term t2 then inband-flow-telemetry-terminate p2 user@host# set interfaces (interface-name | wildcard) unit 0 family ethernet-switching filter input f1 |
IFA開始/終端ノード |
IFAイニシエーターノードの設定
デバイスをIFA 2.0イニシエーターとして設定するには:
IFAトランジットノードを設定する
デバイスを IFA トランジットノードとして設定するには:
device-idの値autoを設定することもできます。device-idがautoとして設定されている場合、device-idはルーター IDまたは管理IPアドレスから内部的に生成されます。
user@host# set services inband-flow-telemetry device-id (id-number | auto)
次に例を示します。
user@host# set services inband-flow-telemetry device-id 10001
IFA終端ノードを設定する
デバイスを IFA 終端ノードとして設定するには:
インバンドフローアナライザーの統計情報の表示
以下のIFA関連情報を表示できます。
show services inband-flow-telemetry stats運用モードコマンドを使用したIFA統計情報show services inband-flow-telemetry global運用モードコマンドを使用したIFAグローバルパラメータshow services inband-flow-telemetry profile運用モードコマンドを使用したIFA設定プロファイル。
動作モードコマンドを使用して、IFA統計 clear inband-flow-telemetry stats クリアできます。
IFA 統計は PFE から直接取得され、ルーティングエンジンでは維持されません。したがって、PFEプロセスの再起動はIFA統計をクリアし、ルーティングエンジンプロセスの再起動はIFA統計に影響を与えません。
例 - トラフィック監視用にインバンドフローアナライザー2.0を設定する
この例を使用して、レイヤー3またはVXLANトラフィックフローの分析を可能にするQFXシリーズスイッチ上のIFA 2.0ノードを設定します。 図12 は、IFA 2.0機能をサポートするQFXシリーズスイッチでIFA 2.0が設定されているトポロジーを示しています。このトポロジーでは、VXLANトラフィックがイニシエーターで監視され、分析のために終端ノードでデータが収集されます。
を使用してVXLANトラフィックフローを分析するためのトポロジー
要件
この例では、以下のハードウェアおよびソフトウェアコンポーネントを使用しています。
- スパインノードとしての1つのQFX5120-32Cスイッチ
- リーフノードとしての2台のQFX5120-48Yスイッチ
- Junos OSリリース21.4R1
前提条件
この例では、EVPN-VXLANベースのネットワークがすでにあり、QFXスイッチでトラフィック監視を有効にすることを前提としています。
始める前に
- EVPNとVXLANの仕組みを必ず理解してください。EVPN-VXLANについて詳しく理解するには、 例:EVPN-VXLAN環境でIRBインターフェイスを設定して、データセンター内のホストにレイヤー3接続を提供する 、および ブリッジドオーバーレイ設計と実装 を参照してください。
- IFA終端ノード設定を有効にするには、有効なATF(Advanced Telemetry Feature)ライセンスが必要です。
概要
この例では、QFX5120-48Yスイッチの1つ(リーフ1)をイニシエーターノードとして、QFX5120-32Cスイッチをトランジットノードとして、2つ目のQFX5120-48Yスイッチ(リーフ2)を終端ノードとして設定します。VXLANトラフィックは、ホスト1からホスト2に流れます。イングレスノードとエグレスノードにIFAを設定することで、ネットワークの動作を監視し、パフォーマンスの問題を特定できます。
QFX5120-32Cは、QFX5120-48Yリーフノードを接続するスパインとして機能します。終端ノードでは、IPv4コレクターアプリケーションを使用して、IPFIX形式でサンプリングされたトラフィックを収集します。
設定
この例では、スイッチ上で以下の機能を設定します。
- リーフ1をイニシエーターノードとして設定し、グローバルデバイス識別子やサンプリングレートなどのイニシエーター関連属性を設定します。アクションas
inband-flow-telemetry-initでIFAプロファイルとファイアウォールフィルターを設定し、IFAファイアウォールフィルターをインターフェイスにバインドします。 - QFX5120-32Cスパインスイッチを、グローバルデバイス識別子を持つトランジットノードとして設定します。グローバルデバイス識別子を設定すると、スパインデバイスが IFA メタデータを追加し、IFA プローブパケットを転送します。
- リーフ2を終端ノードとして設定します。コレクター情報でIFAプロファイルを設定し、アクションを
inband-flow-telemetry-terminateにファイアウォールフィルターを設定し、IFAファイアウォールフィルターをインターフェイスにバインドします。
CLIクイックコンフィグレーション
QFXシリーズデバイスでこの例をすばやく設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更してから、コマンドを [edit] 階層レベルのCLIにコピー&ペーストしてください。
QFX5120-48Y スイッチの設定(リーフ 1 — IFA イニシエーター ノード)
この例では、事前に設定されたEVPN-VXLANベースラインにIFAを追加していることを思い出してください。ここに示す設定は、ベースラインに IFA を追加するために必要なデルタに焦点を当てています。IFAデルタがベースラインにどのように関連しているかを示すために、既存の設定の一部を示します。
set services inband-flow-telemetry device-id 15000 set services inband-flow-telemetry meta-data-stack-length 100 set services inband-flow-telemetry hop-limit 4 set services inband-flow-telemetry flow-type vxlan set services inband-flow-telemetry profile ifa_profile_host1 sample-rate 1 set interfaces et-0/0/51:0 unit 0 family ethernet-switching filter input f_init set firewall family ethernet-switching filter f_init term t1 from ip-protocol udp set firewall family ethernet-switching filter f_init term t1 from ip-protocol tcp set firewall family ethernet-switching filter f_init term t1 then inband-flow-telemetry-init ifa_profile_host1 set firewall family ethernet-switching filter f_init term t1 then count ifa_stats set firewall family ethernet-switching filter f_init term t1 then accept set firewall family ethernet-switching filter f_init term t2 then count non_ifa_stats set firewall family ethernet-switching filter f_init term t2 then accept
QFX5120-32Cスイッチ(IFAトランジットノード)の設定
set services inband-flow-telemetry device-id 15001
QFX5120-48Y スイッチ(リーフ 2 — IFA 終端ノード)の設定
set services inband-flow-telemetry device-id 15002 set services inband-flow-telemetry meta-data-stack-length 100 set services inband-flow-telemetry hop-limit 5 set services inband-flow-telemetry flow-type vxlan set services inband-flow-telemetry profile p_term collector source-address 172.16.3.1 set services inband-flow-telemetry profile p_term collector destination-address 172.16.3.2 set services inband-flow-telemetry profile p_term collector destination-port 3055 set interfaces xe-0/0/18 unit 0 family inet filter input f_term set interfaces xe-0/0/45 description To_Collector set interfaces xe-0/0/45 unit 0 family inet address 172.16.3.1/24 set firewall family inet filter f_term term ifa then inband-flow-telemetry-terminate p_term set firewall family inet filter f_term term ifa then count ifa_term set firewall family inet filter f_term term other then count non_ifa_term set firewall family inet filter f_term term other then accept
ステップバイステップの手順
QFX5120-48Yスイッチ(リーフ1)をイニシエーターノードとして設定します
IFA開始ノードは、フローに対して次の機能を実行します。
- 設定に基づいて、対象のフロートラフィックをサンプリングします。
- 各サンプルにIFAヘッダーを追加することで、トラフィックをIFAフローに変換します。
- イニシエーターノードのメタデータでパケットを更新します。
-
IFAイニシエーターノードの属性を設定します。トラフィックフロータイプは、イニシエーターノードにVXLANとして設定されます。イニシエーターとターミネーターノードの両方に、L3またはVXLANのいずれかに同じフロータイプを設定する必要があることに注意してください。この例のように、開始ノードに VXLAN トラフィックフロータイプが設定されている場合は、終端ノードにも VXLAN トラフィックフロータイプを設定してください。
[edit] user@host# set services inband-flow-telemetry device-id 15000 user@host# set services inband-flow-telemetry meta-data-stack-length 100 user@host# set services inband-flow-telemetry hop-limit 4 user@host# set services inband-flow-telemetry flow-type vxlan user@host# set services inband-flow-telemetry profile ifa_profile_host1 sample-rate 1
sample-rateが値を1として設定されている場合、イングレスポートで受信したすべてのパケットがサンプリングされます。より積極的でないサンプリングを希望する場合は、sample-rate値を大きくします。 -
フィルターをイニシエーターノードのingressインターフェイスにバインドします。
[edit] user@host# set interfaces et-0/0/51:0 unit 0 family ethernet-switching filter input f_init
-
IFAサンプリングを制御するファイアウォールを作成します。まず、サンプリングするホストトラフィックのタイプを定義します。この例では、UDPとTCPのトラフィックフローを分析したいと思います。この例では、
f_initという名前のファイアウォールフィルターを設定し、用語名term1を設定します。[edit] user@host# set firewall family ethernet-switching filter f_init term t1 from ip-protocol udp user@host# set firewall family ethernet-switching filter f_init term t1 from ip-protocol tcp user@host# set firewall family ethernet-switching filter f_init term t1 then accept
IFAサンプリングを実行するようにフィルターを設定するには、t1条件にアクション修飾子
inband-flow-telemetry-initを追加します。インバンドフローテレメトリプロファイルifa_profile_host1は、フィルターにリンクされていることに注意してください。user@host# set firewall family ethernet-switching filter f_init term t1 then inband-flow-telemetry-init ifa_profile_host1 user@host# set firewall family ethernet-switching filter f_init term t1 then count ifa_stats user@host# set firewall family ethernet-switching filter f_init term t2 then count non_ifa_stats user@host# set firewall family ethernet-switching filter f_init term t2 then accept
QFX5120-32Cスイッチをトランジットノードとして設定する
IFA トランジット ノードは、指定された VXLAN フローの IFA パケットにトランジット ノードのメタデータを挿入します。
トランジットノード、QFX5120-32Cスイッチのグローバルデバイス識別子を設定します。
user@host# set services inband-flow-telemetry device-id 15001
終端ノードとしてQFX5120-48Yスイッチ(リーフ2)を設定します
IFA終了ノードは、フローに対して以下を実行します。
- 終了ノードメタデータをIFAパケットに挿入します。
- メタデータの1つ以上のセグメントに対してローカル分析機能を実行します。例:滞留時間のしきい値違反、混雑通知など。
- トラフィックが複製されている場合にIFAフローをフィルタリングします。
- パケットのコピーまたはレポートをコレクターに送信します。
- IFAヘッダーを削除し、ライブトラフィックの場合はパケットを転送します。
-
グローバルデバイス識別子やフロータイプなどの終端ノード関連属性を設定します。
user@host# set services inband-flow-telemetry device-id 15002 user@host# set services inband-flow-telemetry meta-data-stack-length 100 user@host# set services inband-flow-telemetry hop-limit 5 user@host# set services inband-flow-telemetry flow-type vxlan
コレクター関連情報でIFAプロファイルを設定します。
user@host# set services inband-flow-telemetry profile p_term collector source-address 172.16.3.1 user@host# set services inband-flow-telemetry profile p_term collector destination-address 172.16.3.2 user@host# set services inband-flow-telemetry profile p_term collector destination-port 3055
-
ノードリーフ2を終端するためのコレクターインターフェイスを設定します。
user@host# set interfaces xe-0/0/45 unit 0 family inet address 172.16.3.1/24
事前に設定されたインターフェイスにファイアウォールフィルターを適用して、リーフ2でインバンドフローテレメトリエグレス処理をアクティブにします。
この例では、f-termファイアウォールフィルターを、物理インターフェイスxe-0/0/18の論理インターフェイス0のinetファミリーにマッピングします。user@host# set interfaces xe-0/0/18 unit 0 family inet filter input f_term
-
ファイアウォールフィルターを作成し、アクション
inband-flow-telemetry-terminateを設定します。この例では、アクション
inband-flow-telemetry-terminateを含む条件名t1f-termという名前のファイアウォールフィルターを設定し、インバンドフローテレメトリ終了プロファイルp_termマッピングします。user@host# set firewall family inet filter f_term term t1 then count ifa_term user@host# set firewall family inet filter f_term term t1 then inband-flow-telemetry-terminate p_term user@host# set firewall family inet filter f_term term t1 then accept user@host# set firewall family inet filter f_term term other then count non_ifa_term user@host# set firewall family inet filter f_term term other then accept
結果
QFX5120-48Yスイッチ(リーフ1 — IFAイニシエーターノード)の結果
動作モードから、 show configuration services、 show configuration interfaces、 show configuration firewall コマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
出力には、IFAを追加するために必要な設定デルタに関するコンテキストを提供するために、既存のEVPN-VXLANベースラインの一部が表示されます。
[edit]
user@host> show configuration services
inband-flow-telemetry {
device-id {
15000;
}
meta-data-stack-length 100;
hop-limit 4;
flow-type vxlan;
profile {
ifa_profile_host1 {
sample-rate 1;
}
}
}
[edit]
user@host> show configuration interfaces
[output truncated]
xe-0/0/44 {
description Connected_to_Spine1;
unit 0 {
family inet {
address 10.100.13.1/24;
}
}
}
et-0/0/51:0 {
description Connected_to_Host1_vlan_101;
unit 0 {
family ethernet-switching {
interface-mode trunk;
vlan {
members 101;
}
filter {
input f_init;
}
}
}
}
[output truncated]
[edit]
user@host> show configuration firewall
family ethernet-switching {
filter f_init {
term t1 {
from {
ip-protocol [ udp tcp ];
}
then {
accept;
inband-flow-telemetry-init ifa_profile_host1;
count ifa_stats;
}
}
term t2 {
then {
accept;
count non_ifa_stats;
}
}
}
}
デバイスで機能の設定が完了したら、設定モードから commit を入力します。
QFX5120-32Cスイッチ(IFAトランジットノード)の結果
動作モードから、 show configuration servicesを入力し、コマンド show configuration interfaces して設定を確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit]
user@host> show configuration services
inband-flow-telemetry {
device-id {
15001;
}
}
デバイスで機能の設定が完了したら、設定モードから commit を入力します。
QFX5120-48Yスイッチ(リーフ1 — IFA終端ノード)の結果
動作モードから、 show configuration services、 show configuration interfaces、 show configuration firewall コマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の設定手順を繰り返して修正します。
[edit]
user@host> show configuration services
inband-flow-telemetry {
device-id {
15002;
}
meta-data-stack-length 100;
hop-limit 5;
flow-type vxlan;
profile {
p_term {
collector {
source-address 172.16.3.1;
destination-address 172.16.3.2;
destination-port 3055;
}
}
}
}
[edit]
user@host> show configuration interfaces
[edit]
user@host> show configuration interfaces
[output truncated]
xe-0/0/18 {
description Connected_to_Spine1;
unit 0 {
family inet {
filter {
input f_term;
}
address 10.100.12.1/24;
}
}
}
xe-0/0/44 {
description Connected_to_Host2_vlan_101;
unit 0 {
family ethernet-switching {
interface-mode trunk;
vlan {
members 101;
}
}
}
}
xe-0/0/45 {
description To_Collector;
mtu 9200;
unit 0 {
family inet {
address 172.16.3.1/24;
}
}
}
[output truncated]
[edit]
user@host> show configuration firewall
family inet {
filter f_term {
term t1 {
then {
count ifa_term_c;
inband-flow-telemetry-terminate p_term;
accept;
}
}
term other {
then {
count non_ifa_term;
accept;
}
}
}
}
デバイスで機能の設定が完了したら、設定モードから commit を入力します。
検証
IFA統計の検証
Purpose
イニシエーターノードのIFA統計を表示します。
Action
動作モードから、 show services inband-flow-telemetry stats コマンドを入力します。
IFA Init Packets : 70989449712 IFA Transit Packets : 0 IFA Terminate Rx Packets : 0 IFA Terminate Tx Packets : 0
IFAグローバル設定の確認
Purpose
イニシエーターノードで設定されたIFAグローバルパラメーターを表示します。
Action
動作モードから、 show services inband-flow-telemetry global コマンドを入力します。
Global Device ID : 15000 Meta-data Stack Length : 100 Hop Limit : 4 Flow Type : vxlan
IFAプロファイルの検証
Purpose
イニシエーターノードに設定されているIFAプロファイルを表示します。
Action
動作モードから、 show services inband-flow-telemetry profile コマンドを入力します。
Profile Name : ifa_profile_host1 Sample rate : 1 Source Address : 0.0.0.0 Destination Address : 0.0.0.0 Destination Port : 0
IFA統計の検証
Purpose
トランジットノードのIFA統計情報を表示します。
Action
動作モードから、 show services inband-flow-telemetry stats コマンドを入力します。
IFA Init Packets : 0 IFA Transit Packets : 26057387140 IFA Terminate Rx Packets : 0 IFA Terminate Tx Packets : 0
IFAグローバル設定の確認
Purpose
トランジットノードで設定されたIFAグローバルパラメータを表示します。
Action
動作モードから、 show services inband-flow-telemetry global コマンドを入力します。
Global Device ID : 15001 Meta-data Stack Length : 240 Hop Limit : 250 Flow Type : NA
IFA統計の検証
Purpose
終端ノードのIFA統計情報を表示します。
Action
動作モードから、 show services inband-flow-telemetry stats コマンドを入力します。
IFA Init Packets : 0 IFA Transit Packets : 373569 IFA Terminate Rx Packets : 374448690 IFA Terminate Tx Packets : 41605188
IFAグローバル設定の確認
Purpose
終端ノードで設定されたIFAグローバルパラメータを表示します。
Action
動作モードから、 show services inband-flow-telemetry global コマンドを入力します。
Global Device ID : 15002 Meta-data Stack Length : 100 Hop Limit : 5 Flow Type : vxlan
IFAプロファイルの検証
Purpose
終端ノードに設定されているIFAプロファイルを表示します。
Action
動作モードから、 show services inband-flow-telemetry profile コマンドを入力します。
Profile Name : p_term Sample rate : 0 Source Address : 172.16.3.1 Destination Address : 172.16.3.2 Destination Port : 3055
関連項目
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。