バージョン 9 フロー テンプレートを使用するための MX、M、vMX、T シリーズ ルーターおよび NFX250 でのフロー アグリゲーションの設定
バージョン9のフローテンプレートを使用することで、IPv4トラフィック、IPv6トラフィック、MPLSトラフィック、IPv4とMPLSトラフィックの組み合わせ、またはピアAS課金トラフィックに適したフローレコードテンプレートを定義できます。テンプレートとテンプレートに含まれるフィールドは定期的にコレクターに送信され、コレクターはルーター設定に影響を与えません。
バージョン9では、ルーターにアダプティブサービスPICやMS-PICなどのサービスPICをインストールする必要があります。MX シリーズ ルーターでは、MS-DPC はこの要件を満たします。ルーターに適したサービスPICを決定する方法の詳細については、 サービスパッケージの有効化 または適切なハードウェアマニュアルを参照してください。
特定のフローコレクターに対して複数のプロトコルファミリーが設定されている場合、エクスポートパケットは複数のソースIDから発信され、各ソースIDは特定のプロトコルに対応します。複数のソース ID は、エクスポート パケットが複数のサービス PIC から発信されていることを示すものではありません。
サンプリングするトラフィックの設定
IPv4、IPv6、MPLS、またはピアAS課金トラフィックのサンプリングを指定するには、 階層レベルに ステートメントの family
適切な設定を [edit forwarding-options sampling]
含めます。
[edit forwarding-options] sampling { family (inet | inet6 | mpls); }
、family inet6
、または family mpls
を含family inet
めることができます。
ピアAS課金トラフィックのサンプリングを指定した場合、 family
ステートメントはIPv4およびIPv6トラフィック(inetまたはinet6)のみをサポートします。ピアAS課金トラフィックは、グローバルインスタンス階層レベルでのみ有効になっており、パケット転送エンジンインスタンス単位では利用できません。
サンプリングするトラフィックファミリーを指定した後、次のようなサンプリングパラメータを設定します。
最大パケット長(パケットが切り捨てられる長さ)。
1 秒あたりにサンプリングされる最大パケット数(パケットがドロップされたパケットを超える)。
レート(例えば、10を指定した場合、10番目のパケットごとにサンプリングされます)。
実行長(トリガー後にサンプリングされるパケット数を指定します。つまり、 が 10 と
run-length
5 に設定されている場合rate
、10 番目のパケットから始まる 5 つのパケットがサンプリングされます)。
[edit forwarding-options sampling] input { maximum-packet-length bytes max-packets-per-second number; rate number; run-length number; }
バージョン 9 テンプレートのプロパティの設定
バージョン 9 テンプレートを定義するには、 階層レベルで以下のステートメントを [edit services flow-monitoring version9]
含めます。
[edit services flow-monitoring version9] template template-name { options-template-id template-id source-id flow-active-timeout seconds; flow-inactive-timeout seconds; option-refresh-rate packets packets seconds seconds; template-refresh-rate packets packets seconds seconds; (ipv4-template | ipv6-template | mpls-ipv4-template | mpls-template | peer-as-billing-template) { label-position [ positions ]; } }
以下の詳細は、設定ステートメントに適用されます。
ステートメントを含めることで、各テンプレートに一意の名前を
template template-name
割り当てます。その後、 、
ipv6-template
mpls-ipv4-template
または を含めて、適切なトラフィックタイプの各テンプレートをipv4-template
指定しますmpls-template
。テンプレートが MPLS トラフィックに使用される場合、 ステートメントを含めることで、MPLS ヘッダー ラベル データに最大 3 つのラベル位置を
label-position
指定することもできます。デフォルト値は[1 2 3]
です。テンプレート定義内では、 および
flow-inactive-timeout
ステートメントの値をオプションでflow-active-timeout
含めることができます。これらのステートメントは、テンプレート定義で使用される場合、特定のデフォルト値と範囲値を持ちます。デフォルトは60秒で、範囲は10~600秒です。テンプレート定義で指定した値は、 階層レベルで設定されたグローバルタイムアウト値を[edit forwarding-options sampling family (inet | inet6 | mpls) output flow-server]
上書きします。テンプレート定義内に および
template-refresh-rate
ステートメントのoption-refresh-rate
設定を含めることもできます。これらのプロパティの両方に対して、タイマー値(秒単位)またはパケット 数(パケット数)を含めることができます。オプションのseconds
場合、デフォルト値は60、範囲は10~600です。オプションのpackets
場合、デフォルト値は4800で、範囲は1~480,000です。メディアインターフェイス上のIPv6トラフィックをフィルタリングするには、以下の設定がサポートされています。
interfaces interface-name { unit 0 { family inet6 { sampling { input; output; } } } }
バージョン 9 フロー テンプレートのテンプレート ID、監視ドメイン ID、ソース ID のカスタマイズ
Junos OSリリース14.1以降、IPv4トラフィック、IPv6トラフィック、MPLSトラフィック、IPv4とMPLSトラフィックの組み合わせ、またはピアAS課金トラフィックに適したバージョン9フローレコードテンプレートを定義できるようになりました。テンプレートとテンプレートに含まれるフィールドは定期的にコレクターに送信され、コレクターはルーター設定に影響を与えません。バージョン 9 および IPFIX テンプレートに固有 ID を指定することができます。テンプレートの識別子は、トランスポート セッションと監視ドメインの組み合わせ内でローカルに一意です。テンプレート ID 0~255 は、テンプレート セット、オプション テンプレート セット、その他のセット用に予約されており、今後使用できます。データセットのテンプレート ID には、256~65535 の番号が付いています。通常、テンプレート内のこの情報要素またはフィールドは、テンプレート内の他の情報要素の特性またはプロパティを定義するために使用されます。テンプレートのエクスポート プロセスの再起動後、テンプレート ID の再割り当てを行うことができます。
テンプレートID、オプションテンプレートID、監視ドメインID、ソースIDを設定するこの機能は、MPCを搭載したすべてのルーターでサポートされています。
MPLS および MPLS-IPv4 テンプレート ID を含むテンプレート ID は、IPFIX にのみ適用されます。V9フォーマットには異なるテンプレートIDがあります。
対応するデータセットとオプションデータセットには、セットIDフィールドにそれぞれテンプレートIDとオプションテンプレートIDの値が含まれています。このメソッドを使用すると、コレクターは、テンプレート レコードとデータ レコードを一致させることができます。
バージョン 9 および IPFIX フローのソース ID、監視ドメイン ID、テンプレート ID、オプション・テンプレート ID の指定について詳しくは、 バージョン 9 および IPFIX フローの監視ドメイン ID とソース ID の構成と、バージョン 9 および IPFIX フローのテンプレート ID とオプション・テンプレート ID の構成を参照してください。
制限
バージョン 9 テンプレートには、以下の制限が適用されます。
2 種類のフロー アグリゲーション設定を同時に適用することはできません。
テンプレートに
mpls-ipv4
基づくフロー エクスポートでは、IPv4 ヘッダーが MPLS ヘッダーに従っていることを前提としています。レイヤー 2 VPN の場合、プロバイダ ルーター(P ルーター)上のパケットは次のようになります。MPLS | Layer 2 Header | IPv4
この場合、
mpls-ipv4
IPv4ヘッダーがMPLSヘッダーに直接追従しないため、PIC上でフローは作成されません。パケットはPIC上で破棄され、パーサーエラーとして計上されます。アウトバウンド ルーティング エンジン トラフィックはサンプリングされません。ファイアウォールフィルターは、パケットをサンプリングしてデータをエクスポートするエグレスインターフェイスの出力として適用されます。トランジット トラフィックの場合、エグレス サンプリングは正しく動作します。内部トラフィックの場合、ネクストホップはパケット転送エンジンにインストールされますが、サンプルされたパケットはエクスポートされません。
フローは、ルート レコード再同期操作が完了した後(PIC が立ち上がってから 60 秒)にのみ、監視 PIC 上で作成されます。PIC に送信されたパケットは、同期プロセスが完了するまで破棄されます。
MPLSラベルで到着するパケットの転送は、MPLSラベルに基づいて実行され、パケットに含まれるIPアドレスではなく、出力インターフェイスでサンプリングされるため、ポップされたMPLSラベルはサンプリング時には利用できません。このような場合、受信インターフェイス(IIF)に応じて、VRF インデックスが識別され、サンプリングされたパケットのルートが VRF テーブルで決定されます。パケットを受信したVRFとは異なる特定のルートはVRFで使用できないため、出力インターフェイスインデックス、ソースマスク、および宛先マスクフィールドが正しく入力されません。この動作は、サンプルをアクションとするエグレスインターフェイス上で、IPv4テンプレートがファイアウォールフィルターとして適用されている場合に発生します。
各テンプレート タイプに含まれるフィールド
以下のフィールドは、すべてのテンプレート タイプに共通です。
入力インターフェイス
出力インターフェイス
バイト数
パケット数
フロー開始時間
フロー終了時間
IPv4 テンプレートには、以下の特定のフィールドが含まれています。
IPv4 送信元アドレス
IPv4 宛先アドレス
L4 送信元ポート
L4 宛先ポート
IPv4 ToS
IPv4 プロトコル
ICMP タイプとコード
TCP フラグ
IPv4ネクストホップアドレス
ソース自律システム(AS)番号
宛先AS番号
IPv6 テンプレートには、以下の特定のフィールドが含まれています。
IPv6 送信元アドレスとマスク
IPv6 宛先アドレスとマスク
L4 送信元ポート
L4 宛先ポート
IPv6 ToS
IPv6 プロトコル
TCP フラグ
IP プロトコル バージョン
IPv6ネクストホップアドレス
エグレスインターフェイス情報
送信元自律システム(AS)番号
宛先AS番号
MPLS テンプレートには、以下の特定のフィールドが含まれています。
MPLS ラベル #1
MPLS ラベル #2
MPLS ラベル #3
MPLS EXP 情報
FEC IP アドレス
MPLS-IPv4テンプレートには、IPv4とMPLSテンプレートのすべてのフィールドが含まれています。
ピアAS課金テンプレートには、以下の特定のフィールドが含まれています。
IPv4 サービス クラス(ToS)
イングレス インターフェイス
BGP IPv4ネクストホップアドレス
BGPピア宛先AS番号
MPLS サンプリングの動作
このセクションでは、プロバイダ ルーター(P ルーター)のさまざまなシナリオ(ラベル ポップまたはスワップ)でエグレス インターフェイスで MPLS サンプリングを使用する場合の動作について説明します。MPLSアプリケーションに固有の設定と背景の詳細については、 MPLSアプリケーションユーザーガイドを参照してください。
P ルーター上のエグレス インターフェイスで MPLS サンプリングを設定し、MPLS フロー アグリゲーション テンプレートを設定します。PHP(最後から22ホップポッピング)が有効になっているため、ルートアクションはラベル pop です。
MPLS テンプレートを適用する現在の機能により、MPLS フローが作成されます。
最初のケースと同様に、PルーターのエグレスインターフェイスでMPLSサンプリングを設定し、MPLSフローアグリゲーションテンプレートを設定します。ルート アクションはラベル スワップで、スワップされたラベルは 0(明示的な null)です。
その結果、MPLS パケットが PIC に送信されます。サンプルされるフローは、スワップ前のラベルに対応しています。
レイヤー 3 VPN ネットワークを設定し、カスタマー エッジ ルーター(CE-1)が、P ルーターを介してプロバイダ エッジ ルーター(PE-A)にトラフィックを送信し、リモート エンドの類似のプロバイダ エッジ ルーター(PE-B)とカスタマー エッジ ルーター(CE-2)に送信します。
その結果、PE-A から P へのルーター リンクで MPLS パケットをサンプリングできないという動作が発生します。
検証
設定プロパティを検証するには、 動作モードコマンドを show services accounting aggregation template template-name name
使用できます。
その他show services accounting
のすべてのコマンドは、 および show services accounting aggregation aggregation-type
を除きshow services accounting flow-detail
、バージョン 9 テンプレートもサポートしています。動作モード コマンドの詳細については、 CLI エクスプローラーを参照してください。
例:バージョン 9 フロー テンプレートの設定
以下の例は、バージョン 9 のテンプレート構成を示しています。
services { flow-monitoring { version9 { template ip-template { flow-active-timeout 20; flow-inactive-timeout 120; ipv4-template; } template mpls-template-1 { mpls-template { label-position [1 3 4]; } } template mpls-ipv4-template-1 { mpls-ipv4-template { label-position [1 5 7]; } } template vpls-template-1 { vpls-template; } } } } }
以下の例は、MPLS トラフィックのファイアウォール フィルター設定を示しています。
firewall { family mpls { filter mpls_sample { term default { then { accept; sample; } } } } }
次の例では、ネットワークインターフェイスにMPLSサンプリングフィルターを適用し、IPv4とMPLSトラフィックの両方を受け入れるようAS PICを設定します。
interfaces { at-0/1/1 { unit 0 { family mpls { filter { input mpls_sample; } } } } sp-7/0/0 { unit 0 { family inet; family mpls; } } }
次の例では、MPLSバージョン9テンプレートをサンプリング出力に適用し、AS PICに送信します。
forwarding-options { sampling { input { family mpls { rate 1; } } family mpls { output { flow-active-timeout 60; flow-inactive-timeout 30; flow-server 192.0.2.4 { port 2055; version9 { template mpls-ipv4-template-1; } } interface sp-7/0/0 { source-address 198.51.100.1; } } } } }
以下の例は、ピアAS課金トラフィックのファイアウォールフィルター設定を示しています。
firewall { family inet { filter peer-as-filter { term 0 { from { destination-class dcu-1; interface ge-2/1/0; forwarding-class class-1; } then count count_team_0; } } term 1 { from { destination-class dcu-2; interface ge-2/1/0; forwarding-class class-1; } then count count_team_1; } term 2 { from { destination-class dcu-3; interface ge-2/1/0; forwarding-class class-1; } then count count_team_2; } } } }
次の例では、CoSレベルのデータトラフィック使用情報収集の転送オプション階層の下で、ピアASファイアウォールフィルターをフィルター属性として適用します。
forwarding-options { family inet { filter output peer-as-filter; } }
以下の例では、ピアAS DCUポリシーオプションを適用して、ファイアウォール設定階層がFTF(転送テーブルフィルター)として適用された特定の入力インターフェイスで、as-path ingressingのトラフィックストリームの使用統計を収集します。CoS機能を備えた設定機能は、特定の入力インターフェイスに対して転送クラスを使用して宛先クラスを使用するためのFTFを通じて実現できます。
policy-options { policy-statement P1 { from { protocol bgp; neighbor 10.2.25.5; #BGP router configuration; as-path AS-1; #AS path configuration; } then destination-class dcu-1; #Destination class configuration; } policy-statement P2 { from { neighbor 203.0.113.5; as-path AS-2; } then destination-class dcu2; } policy-statement P3 { from { protocol bgp; neighbor 192.0.2.129; as-path AS-3; } then destination-class dcu3; } as-path AS-1 3131:1111:1123; as-path AS-2 100000; as-path AS-3 192:29283:2; }
以下の例では、vpls バージョン 9 テンプレートを適用して、課金目的でトラフィックのサンプリングを有効にします。
forwarding-options { sampling { } input { rate 1; } family inet { output { flow-server 10.209.15.58 { port 300; version9 { template { peer-as; } } } interface sp-5/2/0 { source-address 203.0.113.133; } } } } } family inet { filter { output peer-as-filter; } }