MX、M、VMX、T Series ルーターと NFX250 でフロー アグリゲーションを設定してバージョン 9 のフロー テンプレートを使用する
バージョン9のフローテンプレートを使用すると、IPv4トラフィック、IPv6トラフィック、MPLSトラフィック、IPv4とMPLSトラフィックの組み合わせ、またはピアAS課金トラフィックに適したフローレコードテンプレートを定義できます。テンプレートおよびテンプレートに含まれるフィールドは定期的にコレクターに送信され、コレクターはルーター設定に影響を与えません。
バージョン9では、ルーターに適応型サービスPICやMS-PICなどのサービスPICをインストールする必要があります。MXシリーズ ルーターでは、MS-DPCがこの要件を満たします。お使いのルーターにどのサービスPICが適しているかを判断する方法については、 サービス パッケージの有効化 または適切なハードウェア マニュアルを参照してください。
特定のフロー コレクターに複数のプロトコル ファミリーが設定されている場合、エクスポート パケットは複数のソース ID から発信され、各ソース ID は特定のプロトコルに対応します。複数のソースIDは、エクスポートパケットが複数のサービスPICから発信されていることを示すものではありません。
サンプリングするトラフィックの構成
IPv4、IPv6、MPLS、またはピアAS課金トラフィックのサンプリングを指定するには、[edit forwarding-options sampling]階層レベルでfamilyステートメントの適切な設定を含めます。
[edit forwarding-options]
sampling {
family (inet | inet6 | mpls);
}
family inet、family inet6、または family mpls を含めることができます。
ピアAS課金トラフィックのサンプリングを指定した場合、 family ステートメントはIPv4およびIPv6トラフィック(inetまたはinet6)のみをサポートします。ピアAS請求トラフィックは、グローバルインスタンス階層レベルでのみ有効になり、パケット転送エンジンインスタンスごとには使用できません。
サンプリングするトラフィック ファミリを指定した後、次のようなサンプリング パラメータを設定します。
パケットの最大長(これを超えるとパケットは切り捨てられます)。
1秒あたりにサンプリングされる最大パケット数(これを超えるとパケットはドロップされます)。
レート(例えば、10 を指定すると、10 番目のパケットごとにサンプリングされます)。
実行長(トリガー後にサンプリングされるパケット数を指定します。つまり、
rateが 10 に設定され、run-lengthが 5 に設定されている場合、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ステートメントを含めます。次に、
ipv4-template、ipv6-template、mpls-ipv4-template、またはmpls-templateを含めて、適切なタイプのトラフィックの各テンプレートを指定します。テンプレートをMPLSトラフィックに使用する場合、
label-positionステートメントを含めることで、MPLSヘッダーラベルデータに最大3つのラベル位置を指定することもできます。デフォルト値は[1 2 3]です。テンプレート定義内で、オプションで
flow-active-timeoutおよびflow-inactive-timeoutステートメントの値を含めることができます。これらのステートメントは、テンプレート定義で使用される場合、特定の既定値と範囲値を持ちます。デフォルトは 60 秒で、範囲は 10 から 600 秒です。テンプレート定義で指定した値は、[edit forwarding-options sampling family (inet | inet6 | mpls) output flow-server]階層レベルで構成されたグローバルタイムアウト値を上書きします。また、テンプレート定義内に
option-refresh-rateおよびtemplate-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 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
この場合、IPv4ヘッダーはMPLSヘッダーに直接従わないため、
mpls-ipv4フローはPICで作成されません。パケットはPIC上で破棄され、パーサーエラーとして計上されます。アウトバウンド ルーティングエンジンのトラフィックはサンプリングされません。ファイアウォールフィルターは、エグレスインターフェイスの出力として適用され、パケットをサンプリングしてデータをエクスポートします。トランジットトラフィックの場合、エグレスサンプリングは正しく機能します。内部トラフィックの場合、ネクストホップはパケット転送エンジンにインストールされますが、サンプリングされたパケットはエクスポートされません。
フローは、ルート レコードの再同期操作が完了した後(PIC が立ち上がってから 60 秒後)にのみ、監視 PIC で作成されます。PICに送信されたパケットは、同期プロセスが完了するまで破棄されます。
MPLSラベル付きで到着したパケットの転送は、パケットに含まれるIPアドレスではなくMPLSラベルに基づいて実行されるため、ポップされたMPLSラベルがサンプリング時に利用できない状態で、パケットは出力インターフェイスでサンプリングされます。このような場合、着信インターフェイス(IIF)に応じて、VRF インデックスが識別され、サンプリングされたパケットのルートが VRF テーブルで決定されます。パケットを受信した VRF とは異なる特定のルートが VRF では使用できないため、[出力インターフェイス インデックス(Output Interface Index)]、[送信元マスク(Source Mask)]、および [宛先マスク(Destination Mask)] フィールドが誤って入力されます。この動作は、IPv4テンプレートが、アクションとしてsampleを使用して、エグレスインターフェイス上のファイアウォールフィルターとして適用された場合に発生します。
各テンプレートタイプに含まれるフィールド
以下のフィールドは、すべてのテンプレートタイプに共通です。
入力 インターフェイス
出力インターフェイス
バイト数
パケット数
フロー開始時刻
フロー終了時刻
IPv4 テンプレートには、次の特定のフィールドが含まれています。
IPv4送信元アドレス
IPv4 宛先アドレス
L4 送信元ポート
L4 宛先ポート
IPv4 利用規約
IPv4プロトコル
ICMPタイプとコード
TCPフラグ
IPv4 ネクストホップアドレス
送信元自律システム(AS)番号
宛先AS番号
IPv6 テンプレートには、次の特定のフィールドが含まれます。
IPv6送信元アドレスとマスク
IPv6 宛先アドレスとマスク
L4 送信元ポート
L4 宛先ポート
IPv6 利用規約
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(最後から 2 番目のホップ ポッピング)が有効になっているため、ルート アクションはラベル ポップ です。
MPLSテンプレートを適用する現在の機能では、MPLSフローが作成されます。
最初のケースと同様に、P ルーター上のエグレス インターフェイスで MPLS サンプリングを設定し、MPLS フロー アグリゲーション テンプレートを設定します。ルート アクションはラベル スワップで、スワップされたラベルは 0(明示的な null)です。
その結果、MPLSパケットがPICに送信されるという動作が発生します。サンプリングされるフローは、スワップ前のラベルに対応します。
レイヤー3 VPNネットワークを設定し、カスタマーエッジルーター(CE-1)がPルーターを介して、リモートエンドの類似プロバイダエッジルーター(PE-B)とカスタマーエッジルーター(CE-2)にトラフィックを送信するプロバイダエッジルーター(PE-A)へトラフィックを送信します。
その結果、PE-A to P ルーター リンクで MPLS パケットをサンプリングできないという動作が発生します。
検証
設定プロパティを確認するには、 show services accounting aggregation template template-name name 運用モードコマンドを使用できます。
他のすべての show services accounting コマンドも、 show services accounting flow-detail と show services accounting aggregation aggregation-type を除くバージョン 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パスイングレスのトラフィックストリームの使用統計を収集します。CoS 機能による設定機能は、宛先クラスで使用する場合は FTF を介して実現でき、特定の入力インターフェイスについては forwarding-class を使用します。
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;
}
}
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer を使用します。