サービスインターフェイスのサービスクラス
クラスサービス概要
M SeriesおよびMXシリーズベースのサービスカードで利用可能なCoS設定により、サービスカードサービスPICを通過するパケットに対して、差別化サービス(DiffServ)コードポイント(DSCP)マーキングと転送クラス割り当てを設定できます。M SeriesおよびMXシリーズベースのサービスカードには、マルチサービスPIC、MS-MIC、MS-MPC、MS-DPC、およびアダプティブサービスPICが含まれます。同様のルール構造を使用して、ステートフルファイアウォールやNATサービスとともにCoSサービスを設定できます。コンポーネントの構造については、 サービスクラスユーザーガイド(ルーターとEX9200スイッチ)で詳しく説明しています。
差別化されたサービスの標準は、以下のドキュメントで説明されています。
RFC 2474、 IPv4およびIPv6ヘッダーの差別化されたサービスフィールド(DSフィールド)の定義
RFC 2475、 差別化されたサービスのためのアーキテクチャ
注:CoS BA分類は、サービスインターフェイスではサポートされていません。CoS設定は、NATおよびステートフルファイアウォールサービスでのみ使用できます。CoS設定は、IPsecなど、サービスカードで実行される他のサービスでは機能しません。
サービスインターフェイスでのCoS設定の制限と注意事項
サービスインターフェイスでのCoS設定には、以下の制限と注意が適用されます。
サービスセットには、少なくとも1つのステートフルファイアウォールルールまたはNATルールを設定する必要があります。そうしないと、CoSは機能しません。
サービスインターフェイスはスケジューリングをサポートしておらず、DiffServマーキングとキュー割り当てのみをサポートしています。スケジューリングは、出力インターフェイスまたはファブリックの
[edit class-of-service]階層レベルで設定する必要があります。デフォルト設定では、キュー1と2は0%の帯域幅を受け取ります。パケットをこれらのキューに割り当てる場合は、スケジューリングマップを設定する必要があります。
設定でカスタム転送クラス名を使用する前に、
commit fullコマンドを発行する必要があります。設定で使用できるのはJunos標準のDiffServ名のみです。カスタム名は認識されません。
M Seriesルーターでは、パケットヘッダーを変更し、ルールを出力インターフェイスにアタッチする書き 換えルール を設定できます。これらのルールは、マルチサービスPICで設定されたDSCPマーキングを上書きする可能性があります。この悪影響を念頭に置き、システム全体の設定を作成する際には注意することが重要です。
例えば、マルチサービスPICは任意のToSまたはDSCP値でパケットをマークでき、出力インターフェイスは8つのDSCP値のみに制限されていることがわかっている場合、出力インターフェイスの書き換えルールは、全体的な粒度を失いながらマッピングを64から8の値に圧縮します。この場合、以下のオプションがあります。
出力インターフェイスから書き換えルールを削除します。
最も重要なマッピングを含むように出力インターフェイスを設定します。
CoSルールの設定
CoSルールを設定するには、[edit services cos]階層レベルでrule rule-nameステートメントを含めます。
[edit services cos] rule rule-name { match-direction (input | output | input-output); term term-name { from { application-sets set-name; applications [ application-names ]; destination-address address; destination-prefix-list list-name <except>; source-address address; source-prefix-list list-name <except>; } then { application-profile profile-name; dscp (alias | bits); forwarding-class class-name; syslog; reflexive; | revert; | reverse { application-profile profile-name; dscp (alias | bits); forwarding-class class-name; syslog; } } } }
各CoSルールは、 [edit firewall] 階層レベルで設定されたフィルターと同様に、一連の条件で構成されています。用語は以下で構成されています。
fromステートメント—含めたり除外したりする一致条件とアプリケーションを指定します。thenステートメント—ルーターソフトウェアが実行するアクションとアクション修飾子を指定します。
[edit services]階層レベルでサービスセットにCoSルールを適用します。
[edit services]
service-set service-set-name {
cos-rules [cos-rule-name];
}
次のセクションでは、CoSルールのコンポーネントを設定する方法について説明します。
CoSルールの一致方向の設定
各ルールには、ルールの一致を適用する方向を指定するmatch-directionステートメントを含める必要があります。一致を適用する場所を設定するには、[edit services cos rule rule-name]階層レベルでmatch-directionステートメントを含めます。
match-direction (input | output | input-output);
match-direction input-outputを設定すると、双方向ルールの作成が許可されます。
一致方向は、マルチサービスPIC、MS-MIC、またはMS-MPCを通過するトラフィックフローに関して使用されます。パケットがPICに送信されると、方向情報も一緒に伝送されます。
インターフェイスサービスセットでは、パケットの方向は、パケットがサービスセットが適用されているインターフェイスに出入りするかどうかによって決定されます。
ネクストホップサービスセットでは、パケットの方向は、マルチサービスPIC、MS-MIC、またはMS-MPCにパケットをルーティングするために使用されるインターフェイスによって決定されます。内部インターフェイスを使用してパケットをルーティングする場合は、パケットの方向が入力されます。外部インターフェイスを使用してパケットをマルチサービスPIC、MS-MIC、またはMS-MPCに誘導する場合、パケットの方向が出力されます。内部インターフェイスと外部インターフェイスの詳細については、 サービスインターフェイスに適用するサービスセットの設定を参照してください。
マルチサービスPIC、MS-MIC、またはMS-MPCでは、フロールックアップが実行されます。フローが見つからない場合は、ルール処理が実行されます。サービスセット内のすべてのルールが考慮されます。ルール処理中、パケットの方向がルールの方向と比較されます。パケットの方向に一致する方向情報を持つルールのみが考慮されます。
CoSルールでの一致条件の設定
CoS一致条件を設定するには、[edit services cos rule rule-name term term-name]階層レベルでfromステートメントを含めます。
from { application-sets set-name; applications [ application-names ]; destination-address address; destination-prefix-list list-name <except>; source-address address; source-prefix-list list-name <except>; }
送信元アドレスと宛先アドレスは、IPv4またはIPv6のいずれかです。ファイアウォールフィルターを設定するのと同じ方法で、送信元アドレスまたは宛先アドレスのいずれかを一致条件として使用できます。詳細については、 『ルーティングポリシー、ファイアウォールフィルター、およびトラフィックポリサーユーザーガイド』を参照してください。
または、[edit policy-options]階層レベルでprefix-listステートメントを設定し、CoSルールにdestination-prefix-listまたはsource-prefix-listのいずれかのステートメントを含めることで、送信元または宛先プレフィックスのリストを指定することができます。例については、「例:ステートフルファイアウォールルールの設定」を参照してください。
from条件を省略すると、ルーターはすべてのトラフィックを受け入れ、デフォルトのプロトコルハンドラーが有効になります。
UDP(User Datagram Protocol)、TCP(Transmission Control Protocol)、ICMP(Internet Control Message Protocol)は、予測される逆フローを持つ双方向フローを作成します。
IP は一方向のフローを作成します。
また、 [edit applications] 階層レベルで設定したアプリケーションプロトコル定義を含めることもできます。詳細については、 アプリケーションプロパティの設定を参照してください。
1つ以上の特定のアプリケーションプロトコル定義を適用するには、
[edit services cos rule rule-name term term-name from]階層レベルでapplicationsステートメントを含めます。定義したアプリケーションプロトコル定義の1つ以上のセットを適用するには、
[edit services cos rule rule-name term term-name from]階層レベルでapplication-setsステートメントを含めます。注:アプリケーションプロトコルを指定するステートメントの1つを含めると、ルーターは
[edit applications]階層レベルの対応する設定からポートとプロトコルの情報を導き出します。これらのプロパティを一致条件として指定することはできません。
CoSルールでアクションを設定する
CoSアクションを設定するには、[edit services cos rule rule-name term term-name]階層レベルでthenステートメントを含めます。
[edit services cos rule rule-name term term-name] then { application-profile profile-name; dscp (alias | bits); forwarding-class class-name; syslog; reflexive; | revert; | reverse { application-profile profile-name; dscp (alias | bits); forwarding-class class-name; syslog; } }
主なCoSアクションは以下の通りです。
dscp—指定されたDSCP(DiffServコードポイント)値またはエイリアスでパケットをマークします。forwarding-class—パケットを指定された転送クラスに割り当てます。
DSCP値と転送クラスの詳細については、 例:サービスインターフェイスでのCoSの設定 または サービスクラスユーザーガイド(ルーターとEX9200スイッチ)を参照してください。
オプションで、[edit services cos rule rule-name term term-name then]階層レベルでsyslogステートメントを含めることで、システムログ機能に情報を記録するように設定することができます。このステートメントは、サービス セットまたはインターフェイスのデフォルト構成に含まれるsyslog設定をすべて上書きします。
追加のCoSアクションについては、次のセクションを参照してください。
CoSルールアクションとして使用するアプリケーションプロファイルの設定
オプションで、CoSアクションに含める1つ以上のアプリケーションプロファイルを定義できます。アプリケーションプロファイルを設定するには、[edit services cos]階層レベルでapplication-profileステートメントを含めます。
[edit services cos] application-profile profile-name { ftp { data { dscp (alias | bits); forwarding-class class-name; } } sip { video { dscp (alias | bits); forwarding-class class-name; } voice { dscp (alias | bits); forwarding-class class-name; } } }
application-profileステートメントには、2つの主要コンポーネントと3つのトラフィックタイプが含まれています。ftpはdataトラフィックタイプ、sipはvideoおよびvoiceトラフィックタイプです。アプリケーションプロファイル内の各コンポーネントに適切なdscp値とforwarding-class値を設定できます。
ftpおよびsipステートメントは、ジュニパーネットワークMXシリーズ3Dユニバーサルエッジルーターではサポートされていません。
アプリケーションプロファイルを [edit services cos rule rule-name term term-name then] 階層レベルに含めることで、アプリケーションプロファイルをCoS設定に適用できます。
リフレクシブ、リバート、リバースCoSルールアクションの設定
CoS サービスは単方向です。反対方向のフローには、異なる処理を指定する必要がある場合があります。
パケットが入出力方向と一致するか、入出力方向に一致するかに関係なく、両方向のフローが作成されます。各フローには、順方向、逆方向、または順方向と逆方向の CoS アクションが関連付けられています。逆方向のフローでは、特に設定していない CoS アクションが関連付けられる可能性があることに注意してください。
ルールの一致が適用される方向とは異なり、サービスが適用される方向を制御するには、[edit services cos rule rule-name term term-name then]階層レベルで(reflexive | revert | reverse)ステートメントを設定します。
[edit services cos rule rule-name term term-name then]
reflexive; | revert; | reverse {
application-profile profile-name;
dscp (alias | bits);
forwarding-class class-name;
syslog;
}
この3つのアクションは相互に排他的です。
reflexiveCoSルールアクションが、逆方向のフローと一致する方向のフローに適用されます。Junos OSリリース16.1R5およびリリース17.4R1以降Junos OS、
revertはルールの一致方向で受信したパケットのDSCPと転送クラスを格納し、同じセッションの逆方向で受信したパケットにそのDSCPと転送クラスを適用します。reverse逆方向のフローの CoS 動作を定義できます。
ステートメントを省略すると、データフローは順方向制御フローの CoS 動作を継承します。
非一致方向のパケット受信時のCoSセッション作成の設定
Junos OSリリース 16.1R5 およびリリース 17.4R1 以降Junos OSリリース 16.1R5 以降、サービス セットに割り当てられたCoSルールに対して間違った方向で最初にパケットを受信した場合でも、CoS セッションを作成するようにサービス セットを設定できます。これにより、正しい一致方向のパケットを受信するとすぐに、CoSルール値が適用されます。この機能を設定するには、[edit services service-set service-set-name cos-options]階層レベルでmatch-rules-on-reverse-flowを含めます。
[edit services service-set service-set-name cos-options] match-rules-on-reverse-flow;
例:CoSルールの設定
以下の例は、2つのルールを含むCoS設定を示しています。1つは指定されたアプリケーションセットでの入力マッチング用、もう1つは指定された送信元アドレスでの出力マッチング用です。
[edit services]
cos {
rule my-cos-rule {
match-direction input-output;
term term1 {
from {
source-address 10.1.3.2/32;
application-set sip;
}
then {
dscp ef;
syslog;
}
}
term term2 {
from {
destination-address 10.2.3.2;
applications http;
}
then {
dscp af21;
}
}
}
}
CoSルールセットの設定
rule-setステートメントは、ルーターソフトウェアがデータストリーム内のパケットに対して実行するアクションを決定するCoSルールの集合を定義します。各ルールを定義するには、ルール名を指定し、条件を設定します。次に、[edit services cos]階層レベルのrule-setステートメントと各ルールのruleステートメントを含めて、ルールの順序を指定します。
rule-set rule-set-name { rule rule-name; }
ルーターソフトウェアは、設定で指定した順序でルールを処理します。ルール内の条件がパケットに一致する場合、ルーターは対応するアクションを実行し、ルール処理は停止します。ルール内のパケットに一致する条件がない場合、処理はルールセット内の次のルールに進みます。どのルールもパケットに一致しない場合、パケットはデフォルトで破棄されます。
例:サービスインターフェイスでのCoSの設定
ジュニパーネットワークスルーター間で一貫した設定にするために、サービスインターフェイスで使用する多くのCoS設定を [edit class-of-service] 階層レベルで構成します。この設定を [edit services cos] 階層レベルで設定したものとともにコミットすると、これらのプロパティがマルチサービスPIC、MS-MIC、またはMS-MPCに適用されます。
[edit class-of-service]階層レベルでの以下の設定例は、サービスインターフェイスに適用できます。詳細については、サービスクラスユーザーガイド(ルーターとEX9200スイッチ)を参照してください。
最初の 2 つの設定、転送クラス名の転送クラス ID へのマッピングと、転送クラス名とキュー番号のマッピングは、相互に排他的です。
転送クラス名から転送クラスIDへのマッピング
転送クラス名を転送クラス ID にマッピングします。
[edit class-of-service]
forwarding-classes {
forwarding-class fc0 0;
forwarding-class fc1 0;
forwarding-class fc2 1;
forwarding-class fc3 1;
forwarding-class fc4 2;
forwarding-class fc5 2;
forwarding-class fc6 3;
forwarding-class fc7 3;
forwarding-class fc8 4;
forwarding-class fc9 4;
forwarding-class fc10 5;
forwarding-class fc11 5;
forwarding-class fc12 6;
forwarding-class fc13 6;
forwarding-class fc14 7;
forwarding-class fc15 7;
}
転送クラス名とキュー番号のマッピング
転送クラス名をキュー番号にマッピングします。
[edit class-of-service]
forwarding-classes {
queue 0 be;
queue 1 ef;
queue 2 af;
queue 3 nc;
queue 4 ef1;
queue 5 ef2;
queue 6 af1;
queue 7 nc1;
}
DSCPビットへのDiffservコードポイントエイリアスのマッピング
エイリアス名をDSCPビット値にマッピングします。その後、エイリアスは、アダプティブサービス設定のDSCPビットの代わりに使用することができます。
[edit class-of-service]
code-point-aliases {
(dscp | dscp-ipv6 | exp | ieee-802.1 | inet-precedence) {
alias | bits;
}
}
次に例を示します。
code-point-aliases {
dscp {
my1 110001;
my2 101110;
be 000001;
cs7 110000;
}
}
関連項目
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。
revert 、ルールの一致方向で受信したパケットの DSCP と転送クラスを格納し、同じセッションの逆方向で受信したパケットにその DSCP と転送クラスを適用します。