インバンドフローアナライザー(IFA)2.0プローブによるリアルタイムフローモニタリング
インバンドフローアナライザー(IFA)2.0は、ネットワーク全体のホップごとにデータを収集します。このデータを外部コレクターにエクスポートして、ローカライズされた分析またはエンドツーエンドの分析を実行します。
インバンドフローアナライザー2.0
- インバンドフローアナライザー2.0の概要
- 利点
- インバンドフローアナライザープロセス
- IFA プローブ パケット ヘッダー
- IFAプローブパケットのテールスタンプ(QFX5220のみ)
- IFA ノードでサポートされている機能
- IFA 2.0 設定の制限事項
- 使用上の考慮事項
インバンドフローアナライザー2.0の概要
インバンドフローアナライザー2.0(IFA 2.0)は、ネットワークに出入りするパケットを監視および分析するために使用できる機能です。ネットワーク管理者は、この機能を使用して、パケットがネットワークを通過するパスと、各ホップでのパケットの滞在時間に関連するデータを収集できます。このデータは、過度の遅延と輻輳の可能性を示します。この機能は、データプレーンでホップごとのフローデータを収集することで、複雑なネットワークに関するインサイトを得るのに役立ちます。
IFAは、プローブパケットを使用してネットワーク全体のフローデータを収集します。IFA は目的のフローをサンプリングし、プローブパケットを生成します。これらのパケットは元のフローを表し、元のフローと同じ特性を持ちます。つまり、IFA パケットは、元のパケットと同じパスとネットワーク要素の同じキューを通過します。その結果、IFA プローブパケットは元のフローと同じネットワークパスを通過し、同様の遅延と輻輳が発生します。
Inband Flow Analyzer 2.0(IFA 2.0)を使用して、次のようなフローデータ情報を収集できます。
- 滞留時間(レイテンシー)
- ホップ単位の遅延
- ホップ単位のイングレスポート番号
- ホップ単位のエグレスポート番号
- 受信パケットのタイムスタンプ値
- キュー ID
- 混雑通知
- エグレスポート速度
IFA 2.0 は、 Inband Flow Analyzer(draft-kumar-ippm-ifa-02)というタイトルの IETF ドラフトで定義されています。
利点
- IFAプローブパケットは、元のフローと同じネットワークパスを通過するため、ネットワークの障害やパフォーマンスの問題を監視するのに役立ちます。
- ライブトラフィックを監視することで、パケットレベルのレイテンシ分析やキュー輻輳監視を実行し、ネットワークパフォーマンスを最適化します。
インバンドフローアナライザープロセス
IFA は、以下の処理ノード ( 図 1 を参照) を使用してフローを監視および分析します。
- IFA イニシエータ ノード(イングレス ノードとも呼ばれる)
- 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終端機能には、有効なJuniper Advanced Telemetry Feature(ATF)ライセンスが必要です。 |
IFA プローブ パケット ヘッダー
IFA 2.0 プローブ パケットには、次のものが含まれています。
- IFAヘッダー
- IFAメタデータヘッダー
- IFAメタデータスタック
図 2 は、IFA イニシエータ ノードでの L3 IFA 2.0 パケット形式を示しています。
図 3 は、IFA イニシエータ ノードでの VXLAN IFA 2.0 パケット形式を示しています。
VXLAN を使用する場合、IFA ヘッダーは VXLAN カプセル化の後に 3 パス メカニズムを使用して追加されます。
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 ヘッダーからコピーされます。 |
| フラグ | 未使用。 |
| 最大長(MAX Length) | メタデータスタックの最大許容長(4 オクテットの倍数)。イニシエータ・ノードは、このフィールドを初期化します。パス内の各ノードは、現在の長さと最大長を比較します。現在の長さが最大長以上の場合、トランジットノードはメタデータの挿入を停止します。この最大許容長を設定できます。デフォルト値は240オクテット(30ホップの場合)です。 |
IFAメタデータヘッダー
IFA 2.0 では、 図 5 に示すように、コンパクトな 4 バイトのメタデータ ヘッダーが定義されています。IFA イニシエータ ノードは、このヘッダーをプローブ パケットに追加します。
| IFA メタデータ ヘッダー フィールド | の説明 |
|---|---|
| 要求ベクトル | GNS で指定されているフィールドの存在を指定します。未使用。 |
| アクションベクトル | IFA パケットのノードローカルまたはエンドツーエンドのアクションを指定します。未使用。 |
| ホップ制限 | IFA ゾーンで許可されるホップの最大数を指定します。イニシエータ・ノードは、このフィールドを初期化します。ホップ制限は、ホップごとにデクリメントされます。受信パケットのホップ制限が 0 の場合、現在のノードはメタデータを挿入しません。この制限は設定できます。デフォルト値は 250 です。 終端ノードはホップ制限チェックを実行しません。 |
| 現在の長さ(Current Length) | メタデータ スタックの現在の長さを 4 オクテットの倍数で指定します。 |
IFAメタデータスタック
図 6 に示すように、各 IFA ホップは、ホップ固有のメタデータを IFA メタデータ スタックに挿入します。IFA イニシエータ ノードは、L4 ヘッダーの後にメタデータ ヘッダーを追加します。
トランジットノードとしてのQFX5220は、IFA プローブパケットヘッダーのメタデータスタックにメタデータを挿入できません。代わりに、QFX5220 はタイムスタンプとその他のメタデータを含むテールスタンプを IFA プローブ パケットの末尾に追加します。これらのテールスタンプの詳細については、「 IFA プローブパケットのテールスタンプ (QFX5220 のみ)」を参照してください。
| IFA メタデータ スタック ヘッダー フィールド | の説明 |
|---|---|
| LNSの | ローカル名前空間。LNS 値を 1 に設定する必要があります。 |
| デバイスID | ユーザー設定可能なデバイスID。デバイスIDを明示的に設定するか、 auto ステートメントを設定できます。 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 ビット値から時刻 (ToD) を取得するのはコレクターの責任です。20 ビット秒は 12 日ごとにラップアラウンドされます。Collector は、ラップアラウンド時間内に定期的に ToD を同期し、それを 20 ビットのメタデータとともに使用して、32 ビットの Rx Timestamp Seconds 値を導き出す必要があります。 |
| エグレスポート番号 | エグレスハードウェア(ASIC)ポート番号。 |
| イングレスポート番号 | イングレス ハードウェア ポート番号。 |
| Rx タイムスタンプ ナノ秒 | 受信したタイムスタンプ値(ナノ秒単位)。 |
| 滞留時間 ナノ秒 | ナノ秒単位のホップあたりの遅延。QFX5120の場合、滞留時間は0x3B9ACA00(ナノ秒単位で1秒)+ TX_NSEC - RX_NSECとして計算されます。(ラップアラウンド処理を回避するために、各パケットに秒が追加されます)。これに対し、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 テンプレートを示しています。
図 10 は、設定されたコレクターによって受信された VXLAN IFA 2.0 パケットのサンプルを IPFIX 形式で示しています。
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 フローの終端ノード エグレス ポート関連のメタデータは無視することを推奨します。
- 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 秒(1000000000 ns)が追加されます。 -
IFA 終端ノード
- 終端ノードで設定できるIPv4コレクターは1つだけです。
- 終端ノード メタデータのキュー ID は 47 です。このキュー ID は、IFA パケット エクスポート用に予約されています。
- 終端ノードはホップ制限チェックを実行しません。受信 IFA パケット
hop-limit0 に設定されていても、終端ノードはメタデータを挿入し、ホップ制限を 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 アドレス、送信元ポート、宛先ポート、プロトコル一致修飾子を任意に組み合わせて使用できます。IFA 2.0 は、他の試合修飾子をサポートしていません。
- IFA ゾーン内のホップごとに一意のデバイス ID を設定する必要があります。デバイスIDに
autoオプションを設定した場合、デバイスIDはルーターIDまたは管理IPアドレスの最後の20ビットから生成されます。 - サンプリングレートを
aggressiveに設定した場合、IFAコピーが増えるため、エグレスポートで輻輳が発生する可能性があります。このポート輻輳は、IFA コピーが IPFIX エクスポートのためにチップ プロセッサに送信されるときに、終端ノードで輻輳を引き起こす可能性があります。それに応じてサンプリングレートを選択することをお勧めします。 - IFA 2.0イニシエータを設定すると、ループバックポートに対して内部ミラーセッションが作成されます。その結果、ユーザーが設定可能なミラーセッションの数が4から3に減少します。
- 終端ノードは、最大 9000 バイト(IFA ヘッダーを含む)の IFA パケット サイズを受け入れます。終端ノードでは、複数の IFA 受信パケットが 1 つの IPFIX エクスポート パケットに結合されます。最大 10 個の IFA レコードを 1 つの IPFIX エクスポート パケットに結合できます。デフォルトでは、最大 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 デバイスで IFA ロールを設定できます。次の QFX スイッチは IFA 2.0 機能をサポートしています。
-
QFX5120-32C、QFX5120-48Y、QFX5120-48T、およびQFX5120-48YM、Junos OS実行中
-
QFX5130-32CD、Junos OS Evolvedを実行(トランジットノードの役割のみ)
-
QFX5220-32CDおよびQFX5220-128C、Junos OS Evolvedを実行(トランジットノードロールのみ)
-
QFX5700、Junos OS Evolved の実行(トランジットノードロールのみ)
デバイスが Junos OS で最初にサポートされた時期については、このトピックの最後にあるリリース履歴の表を参照してください。
以下に、IFA ロール用に Junos OS デバイスを設定する際のガイドラインを示します。
- 同じモデルのスイッチまたは異なるスイッチを使用して、特定の IFA フローの IFA ロール(イニシエーター、トランジット、終端)を果たすことができます。
- 同じデバイスを使用して、異なるフローに対して 3 つの異なる IFA ロールをすべて実行することができます。
- IFA フローでは、トランジット IFA ロールはオプションです。
図 11 は、Junos OS デバイスで IFA ノードを設定するシナリオの例を示しています。このシナリオでは、IFA 機能をサポートする異なる Junos OS デバイスが、1 つの 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設定済みプロファイル。
運用モードコマンドを使用して clear inband-flow-telemetry stats IFA 統計情報をクリアできます。
IFA 統計は PFE から直接取得され、ルーティングエンジンでは維持されません。そのため、PFE プロセスを再起動しても IFA 統計情報はクリアされ、ルーティング エンジン プロセスの再起動は IFA 統計に影響を与えません。
例:トラフィック監視用のインバンドフローアナライザー2.0の設定
この例では、レイヤー 3 または VXLAN のトラフィック フローを分析できるように、QFXシリーズ スイッチ上の IFA 2.0 ノードを設定します。 図 12 は、IFA 2.0 機能をサポートする QFXシリーズ スイッチ上で IFA 2.0 が構成されているトポロジーを示しています。このトポロジーでは、イニシエータで VXLAN トラフィックを監視し、分析のために終端ノードでデータを収集します。
を使用して VXLAN トラフィック フローを分析するためのトポロジー
必要条件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
- スパインノードとしてのQFX5120-32Cスイッチ1台
- リーフノードとしての 2 つの QFX5120-48Y スイッチ
- Junos OS リリース 21.4R1
前提条件
この例では、EVPN-VXLANベースのネットワークがすでに構築されており、QFXスイッチでトラフィック監視を有効にしたいと想定しています。
始める前に
- EVPNとVXLANの仕組みを必ず理解してください。 EVPN-VXLAN の詳細については、「例:データセンター内のホストにレイヤー 3 接続を提供するための EVPN-VXLAN 環境での IRB インターフェイスの設定 」および「 ブリッジオーバーレイの設計と実装 」を参照してください。
- IFA 終端ノード設定を有効にするには、有効な Advanced Telemetry Feature(ATF)ライセンスが必要です。
概要
この例では、QFX5120-48Yスイッチの1つ(リーフ1)をイニシエータノードとして、QFX5120-32Cスイッチをトランジットノードとして、2番目のQFX5120-48Yスイッチ(リーフ2)を終端ノードとして設定します。VXLAN トラフィックは、ホスト 1 からホスト 2 に流れます。イングレスノードとエグレスノードでIFAを設定することで、ネットワーク動作を監視し、パフォーマンスの問題を特定することができます。
QFX5120-32Cは、QFX5120-48Yリーフノードを接続するスパインとして機能します。終端ノードでは、IPv4 コレクター アプリケーションを使用して、サンプリングされたトラフィックを IPFIX 形式で収集します。
構成
この例では、スイッチで次の機能を構成します。
- リーフ1をイニシエータノードとして設定し、グローバルデバイス識別子やサンプリングレートなどのイニシエータ関連の属性を設定します。アクション として
inband-flow-telemetry-initで IFA プロファイルとファイアウォール フィルターを設定し、IFA ファイアウォール フィルターをインターフェイスにバインドします。 - QFX5120-32C スパインスイッチを、グローバルデバイス識別子を持つトランジットノードとして設定します。グローバルデバイス識別子を設定すると、スパインデバイスがIFAメタデータを追加し、IFAプローブパケットを転送します。
- リーフ 2 を終端ノードとして設定します。コレクター情報と のアクションで
inband-flow-telemetry-terminateのファイアウォール フィルターを使用して IFA プロファイルを設定し、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 1sample-rateの値を 1 に設定すると、イングレス ポートで受信されるすべてのパケットがサンプリングされます。あまり積極的でないサンプリングを使用する場合は、sample-rate値を増やします。 -
フィルターをイニシエーターノードのイングレスインターフェイスにバインドします。
[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 acceptIFA サンプリングを実行するようにフィルターを構成するには、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を設定します。この例では、
f-termという名前のファイアウォール フィルターを、アクションinband-flow-telemetry-terminateを含む条件名t1で設定し、インバンド フロー テレメトリ終了プロファイル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
参照
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer を使用します。