例:加入者アクセス用の動的プロファイルで静的VLANインターフェイスを設定することで、一定のトラフィックフローを維持する
この例では、静的なトラフィック フローを維持するために、加入者アクセス用の静的スケジューラと CoS パラメーターを使用して、動的プロファイルで静的 VLAN インターフェイスを設定する方法を示します。CoSパラメータは、加入者にベストエフォート型データサービスを設定します。
要件
開始する前に、使用環境が以下の要件を満たしていることを確認してください。
インターフェイスはMX シリーズルーターでホストされます。
階層型スケジューリング設定では、静的CLIで動的プロファイルで参照されるインターフェイスに対して階層型スケジューリングが有効になります。そうでない場合、動的プロファイルは失敗します。
動的プロファイルの下に設定されるトラフィック制御プロファイルは 1 つだけです。
トラフィック制御プロファイルをインターフェイスにバインドする出力トラフィック制御プロファイルは、インターフェイスと同じ動的プロファイル内で定義されます。
概要
動的プロファイルでは、静的に作成された以下の論理インターフェイス タイプを介して VLAN 加入者 インターフェイス を設定できます。
GE — ギガビット イーサネット
XE —10 ギガビット イーサネット
AE -集合型イーサネット
トポロジ
各加入者は、静的に作成された VLAN に設定することをお勧めします。
図 1 は、個々の VLAN 上の加入者インターフェイスの例を示しています。
VLAN インターフェイスを IP demux インターフェイスのセットの基盤となるインターフェイスとして設定することで、加入者インターフェイス上でさらに VLAN を分離できます。
構成
加入者アクセス用の動的プロファイルを持つ静的VLANインターフェイスを設定するには、以下のタスクを実行します。
- CLI クイックコンフィギュレーション
- 静的 VLAN を使用した加入者インターフェイスの設定
- 動的プロファイルと静的に作成されたインターフェイスの関連付け
- ファイアウォールフィルターの設定
- 動的プロファイルでの静的スケジューラの設定
- スケジューラとスケジューラ マップの関連付け
- 動的プロファイルでの静的トラフィック シェーピングおよびスケジューリング パラメーターの設定と適用
CLI クイックコンフィギュレーション
この例を迅速に設定するには、以下の設定コマンドをテキスト ファイルにコピーし、改行を削除してから、 階層レベルの CLI にコマンドを [edit]
貼り付けます。
set interfaces ge-2/2/0 set interfaces ge-2/2/0 hierarchical-scheduler set interfaces ge-2/2/0 vlan-tagging set interfaces ge-2/2/0 vlan-tagging unit 100 vlan-id 100 set interfaces ge-2/2/0 vlan-tagging unit 100 vlan-id 100 family inet set interfaces ge-2/2/0 vlan-tagging unit 100 vlan-id 100 family inet unnumbered-address lo0.0 preferred-source-address 10.0.0.1 set dynamic-profiles data-service set dynamic-profiles data-service interfaces $junos-interface-ifd-name set dynamic-profiles data-service interfaces $junos-interface-ifd-name unit $junos-underlying-interface-unit set dynamic-profiles data-service interfaces $junos-interface-ifd-name unit $junos-underlying-interface-unit family inet set dynamic-profiles data-service firewall family inet filter filter EF_limit_G=768K set dynamic-profiles data-service firewall family inet filter filter EF_limit_G=768K term EF set dynamic-profiles data-service firewall family inet filter filter EF_limit_G=768K term default set dynamic-profiles data-service firewall family inet filter filter EF_limit_G=768K term EF from forwarding-class EF set dynamic-profiles data-service firewall family inet filter filter EF_limit_G=768K term EF then policer POL_EF_G=768K set dynamic-profiles data-service firewall family inet filter filter EF_limit_G=768K term default then accept set dynamic-profiles data-service class-of-service schedulers be-scheduler set dynamic-profiles data-service class-of-service schedulers be-scheduler buffer-size remainder set dynamic-profiles data-service class-of-service schedulers be-scheduler drop-profile-map loss-priority any protocol any set dynamic-profiles data-service class-of-service schedulers be-scheduler drop-profile-map loss-priority any protocol any drop-profile drop3 set dynamic-profiles data-service class-of-service schedulers be-scheduler priority low user@host# set dynamic-profiles data-service class-of-service schedulers be-scheduler transmit-rate percent 40 set dynamic-profiles data-service class-of-service schedulers be-scheduler excess-rate percent 90 set dynamic-profiles data-service class-of-service schedulers be-scheduler excess-priority high set dynamic-profiles data-service class-of-service scheduler-maps data-service-map set dynamic-profiles data-service class-of-service scheduler-maps data-service-map forwarding-class best-effort set dynamic-profiles data-service class-of-service scheduler-maps data-service-map forwarding-class best-effort scheduler be-scheduler set dynamic-profiles data-service class-of-service traffic-control-profiles tcp-data-service set dynamic-profiles data-service class-of-service traffic-control-profiles tcp-data-service scheduler-map data-service-map set dynamic-profiles data-service class-of-service traffic-control-profiles tcp-data-service shaping-rate 50k set dynamic-profiles data-service class-of-service traffic-control-profiles tcp-data-service guaranteed-rate 10k set dynamic-profiles data-service class-of-service traffic-control-profiles tcp-data-service delay-buffer-rate 10k set dynamic-profiles data-service class-of-service interfaces $junos-interface-ifd-name unit $junos-underlying-interface-unit output-traffic-control-profile tcp-data-service
静的 VLAN を使用した加入者インターフェイスの設定
手順
静的VLANインターフェイスを設定した後、動的プロファイルで参照できます。
静的VLANインターフェイスを設定します。
[edit] user@host# set interfaces ge-2/2/0
インターフェイスの階層型スケジューリングを有効にします。
[edit interfaces ge-2/2/0] user@host# set hierarchical-scheduler
VLAN タグ付けを有効にします。
[edit interfaces ge-2/2/0] user@host# set vlan-tagging
ユニットを設定し、VLAN IDを割り当てます。
[edit interfaces ge-2/2/0 vlan-tagging] user@host# set unit 100 vlan-id 100
VLANインターフェイスのファミリーアドレスタイプ(IPv4のinet)を定義します。
[edit interfaces ge-2/2/0 vlan-tagging unit 100 vlan-id 100] user@host# set family inet
物理インターフェイスが、番号なしインターフェイスアドレスを設定して、ループバックインターフェイスからIPアドレスを借りるために有効にします。ループバック インターフェイス lo0.0 でセカンダリ IP アドレスを設定し、それを優先ソース アドレスとして設定します。
[edit interfaces ge-2/2/0 vlan-tagging unit 100 vlan-id 100 family inet] user@host# set unnumbered-address lo0.0 preferred-source-address 10.0.0.1
結果
設定コマンドを入力して、静的VLANインターフェイスの設定を show interfaces
確認します。コマンド出力に意図した設定が表示されない場合は、この手順の手順を繰り返して設定を修正します。
[edit] user@host# show interfaces interfaces { ge-2/2/0 { hierarchical-scheduler; vlan-tagging; unit 100 { vlan-id 100; family inet { unnumbered-address lo0.0 preferred-source-address 10.0.0.1; } } } }
動的プロファイルと静的に作成されたインターフェイスの関連付け
手順
動的プロファイルとは、テンプレートのタイプで定義された一連の特性で、ブロードバンド アプリケーションに動的加入者アクセスとサービスを提供するために使用できます。動的プロファイルの 階層レベルでインターフェイスを [dynamic-profiles profile-name interfaces]
設定する場合、変数を使用してインターフェイス名と論理ユニット値を指定します。DHCP 加入者が DHCP リクエストをインターフェイスに送信すると、動的プロファイルは、DHCP リクエストを受信したインターフェイスのインターフェイス名の変数と論理ユニット名の変数を実際のインターフェイス名と論理ユニット番号に置き換えます。
動的プロファイルを機能させるには、 階層レベルでの [edit dynamic-profiles profile-name interfaces]
インターフェイス名変数と論理インターフェイス名変数の設定が必要です。
加入者向けデータ サービスの新しい動的プロファイルを作成します。
[edit] user@host# set dynamic-profiles data-service
受信インターフェイスの
interface-name
インターフェイス名と一致するためにルーターが使用する内部 $junos-interface-ifd-name 変数で変数ステートメントを定義します。[edit dynamic-profiles data-service] user@host# set interfaces $junos-interface-ifd-name
内部変数で
unit
ステートメントを定義します。既存のインターフェイスを参照する場合、受信インターフェイスの $junos-underlying-interface-unit ユニット値に一致するルーターで使用される変数を指定します。
動的インターフェイスを作成する場合、ルーターがインターフェイスの $junos-interface-unit ユニット値を生成するために使用する変数を指定します。
[edit dynamic-profiles data-service interfaces $junos-interface-ifd-name] user@host# set unit $junos-underlying-interface-unit
または
[edit dynamic-profiles data-service interfaces $junos-interface-ifd-name] user@host# set unit $junos-interface-unit
変数にファミリーアドレスタイプ(IPv4のinet)を $junos-interface-unit 定義します。
[edit dynamic-profiles data-service interfaces $junos-interface-ifd-name unit $junos-underlying-interface-unit] user@host# set family inet
結果
構成コマンドを入力して、動的プロファイルの設定を show dynamic-profiles
確認します。コマンド出力に意図した設定が表示されない場合は、この手順の手順を繰り返して設定を修正します。
[edit] user@host# show dynamic-profiles dynamic-profiles { data-service { interfaces { $junos-interface-ifd-name { unit $junos-underlying-interface-unit { family inet; } } } } }
ファイアウォールフィルターの設定
手順
加入者アクセス用に動的プロファイルを持つ静的VLANインターフェイスを設定するには、レート制限のためのトラフィックのポリサーへのトラフィックの適用、後のキューイングやパケット書き換え操作のためのサービスクラス(CoS)転送クラスへのトラフィックの割り当てなど、さまざまな一致条件に基づいてパケットをブロックすることで、ファイアウォールフィルターを設定してセキュリティを強化することができます。 特定のルーティングインスタンスにトラフィックを誘導したりします
ファイアウォールフィルターにファミリーアドレスタイプ(IPv4のinet)を設定し、フィルター名を指定します。
フィルターの目的を示す名前をフィルターに指定することをお勧めします。この例では、帯域幅制限設定を使用しています。
[edit dynamic-profiles data-service] user@host# set firewall family inet filter EF_limit_G=768K
フィルターの用語名を指定します。各用語名を一意にし、その機能を表します。最初の用語は、Expedited Forwarding(EF)クラスに分類されたトラフィックに一致し、2 番目の条件は EF 以外のすべてのトラフィックと一致します。
[edit dynamic-profiles data-service firewall family inet filter EF_limit_G=768K] user@host# set term EF user@host# set term default
各ファイアウォール フィルター条件で、パケットのコンポーネントの一致に使用する条件を指定します。EFクラスに分類されたすべてのトラフィックに一致するように最初の条件を設定します。
[edit dynamic-profiles data-service firewall family inet filter EF_limit_G=768K term EF] user@host# set from forwarding-class EF
パケットが最初の条件の条件に一致したときに実行するアクションを指定します。という名前のポリサーに EF トラフィックを送信します POL_EF_G=768K。
[edit dynamic-profiles data-service firewall family inet filter EF_limit_G=768K term EF] user@host# set then policer POL_EF_G=768K
パケットが2番目の条件の条件に一致した場合に実行するアクションを指定します。EF 以外のパケット トラフィックはすべて受け入れられます。
[edit dynamic-profiles data-service firewall family inet filter EF_limit_G=768K term default] user@host# set then accept
結果
設定コマンドを入力して、設定を show dynamic-profiles data-service firewall
確認します。コマンド出力に意図した設定が表示されない場合は、この手順の手順を繰り返して設定を修正します。
[edit] user@host# show dynamic-profiles data-service firewall family inet { filter EF_limit_G=768K { term EF { from { forwarding-class EF; } then policer POL_EF_G=768K; } term default { then accept; } } }
動的プロファイルでの静的スケジューラの設定
手順
静的スケジューリングおよびキューイングパラメーターは、加入者アクセス用の動的プロファイルで設定できます。スケジューラは、基本的な CoS(サービス クラス)インフラストラクチャの一部です。転送クラスごとに少なくとも 1 つのスケジューラを定義する必要があります。スケジューラーは、転送クラスの優先度、送信重み、バッファー サイズのほか、さまざまなシェーピングおよびレート制御メカニズムを示します。
パラメーターを設定するベストエフォートスケジューラを指定します。
[edit dynamic-profiles data-service class-of-service] user@host# set schedulers be-scheduler
メモ:設定するスケジューラの名前、または動的加入者インターフェイスに使用するJunos OS定義済み変数(
$junos-cos-scheduler
)に設定schedulers
します。加入者が動的プロファイルが接続されているインターフェイスを介して認証された場合、事前定義された変数は、RADIUSサーバーから取得したスケジューラ名に置き換えられます。(オプション)使用可能な残りのバッファーを使用するようにバッファー・サイズを構成します。
このパラメーターでは、インターフェイス速度のパーセントまたは時間関数(マイクロ秒単位で指定)として、明示的なバッファー サイズを指定できます。
[edit dynamic-profiles data-service class-of-service schedulers be-scheduler] user@host# set buffer-size remainder
(オプション)ドロッププロファイルマップを設定して、1つまたは複数のドロッププロファイルをキューに関連付けます。
明示的なドロップ プロファイル マッピングが指定されていない場合、デフォルトの RED(ランダム早期検出)ドロップ プロファイルが使用されます。任意のパケット損失優先度(PLP)レベルを指定し、指定されたスケジューラが任意のプロトコル タイプを受け入れます。
[edit dynamic-profiles data-service class-of-service schedulers be-scheduler] user@host# set drop-profile-map loss-priority any protocol any
(オプション)ドロッププロファイルを設定して、フィルレベル(キューの完全性)をドロップ確率(パケットがドロップする可能性)にマッピングします。
[edit dynamic-profiles data-service class-of-service schedulers be-scheduler drop-profile-map loss-priority any protocol any] user@host# set drop-profile drop3
スケジューラにドロップ プロファイルを適用して RED を有効にします。
(オプション)保証されたレートトラフィックに対して、キューのスケジューラ優先度を特定のレベル(低)に設定します。
[edit dynamic-profiles data-service class-of-service schedulers be-scheduler] user@host# set priority low
(オプション)キューの送信重み(ビット/秒(bps)または伝送容量の割合(bps)を設定します。
[edit dynamic-profiles data-service class-of-service schedulers be-scheduler] user@host# set transmit-rate percent 40
送信レートは、優先ベースの飢えが発生していないと仮定して、キューのレートを保証します。送信重みを指定しない場合、または送信レートに達した場合、キューの優先度が余剰領域に降格されるため、キューは過剰レートトラフィックのみを送信できます。ゼロ(0)の割合は、キュー内のすべてのパケットをドロップします。
(オプション)共有する未使用の帯域幅トラフィックの割合(割合)としてキューの重みを設定します。
[edit dynamic-profiles data-service class-of-service schedulers be-scheduler] user@host# set excess-rate percent 90
動作は、インターフェイス モード、明示的な設定、および他のキューに明示的な重みが設定されているかどうかによって異なります。デフォルトでは、保証されたレートとシェーピングされたレートの間の余分な帯域幅は、キュー間で均等に共有されます。
(オプション)動的プロファイルのスケジューラーに余分な帯域幅トラフィックを送信する方法の優先度を設定します。
[edit dynamic-profiles data-service class-of-service schedulers be-scheduler] user@host# set excess-priority high
キューが余剰レート トラフィックを送信しないようにするには、 を [なし] に設定します。
結果
構成コマンドを入力して、動的プロファイルの静的値を使用したスケジューラの設定を show dynamic-profiles data-service class-of-service
確認します。コマンド出力に意図した設定が表示されない場合は、この手順の手順を繰り返して設定を修正します。
[edit] user@host# show dynamic-profiles data-service class-of-service class-of-service { schedulers { be-scheduler { buffer-size remainder; drop-profile-map loss-priority any protocol any drop-profile drop3; priority low; transmit-rate percent 40; excess-rate percent 90; excess-priority high; } } }
スケジューラとスケジューラ マップの関連付け
手順
スケジューラーを定義した後、スケジューラ・マップを使用して、論理インターフェース上のキュー・セットにリンクする必要があります。スケジューラ マップをインターフェイスに適用すると、関連するスケジューラ セットが適用され、プロファイルがドロップされます。
スケジューラ マップ名を設定します。
[edit dynamic-profiles data-service class-of-service] user@host# set scheduler-maps data-service-map
スケジューラーマップにスケジューラを関連付ける転送クラスを設定します。
[edit dynamic-profiles data-service class-of-service scheduler-maps data-service-map] user@host# set forwarding-class best-effort
以前に定義したスケジューラ(be-scheduler)をスケジューラ マップに関連付けます。
[edit dynamic-profiles data-service class-of-service scheduler-maps data-service-map forwarding-class best-effort] user@host# set scheduler be-scheduler
結果
設定コマンドを入力して、スケジューラ マップの設定を show dynamic-profiles data-service class-of-service scheduler-maps
確認します。コマンド出力に意図した設定が表示されない場合は、この手順の手順を繰り返して設定を修正します。
[edit] user@host# show dynamic-profiles data-service class-of-service scheduler-maps scheduler-maps { data-service-map { forwarding-class best-effort scheduler be-scheduler; } }
動的プロファイルでの静的トラフィック シェーピングおよびスケジューリング パラメーターの設定と適用
手順
トラフィック制御プロファイルで静的なトラフィック シェーピングとスケジューリング パラメーターを設定します。トラフィック制御プロファイルは、CoS階層のすべてのポイントに適用して、CIR(コミット情報レート)、PIR(ピーク情報レート)、および過剰な帯域幅処理に影響を与えるために適用できる一般的なCoS(サービスクラス)コンテナです。ポート、論理インターフェイス、または論理インターフェイスセットレベルでトラフィック制御プロファイルを指定できます。トラフィック制御プロファイルは、スケジューラ マップも参照します。
トラフィック制御プロファイルを作成し、名前を割り当てます。
[edit dynamic-profiles data-service class-of-service] user@host# edit traffic-control-profiles tcp-data-service
以前に設定した静的スケジューラ マップ data-service-mapを適用します。
[edit dynamic-profiles data-service class-of-service traffic-control-profiles tcp-data-service] user@host# set scheduler-map data-service-map
動的プロファイルのスケジューラに使用するシェーピングレート(ビット/秒(bps)を設定します。
[edit dynamic-profiles data-service class-of-service traffic-control-profiles tcp-data-service] user@host# set shaping-rate 50k
シェーピングレートは、キューの送信容量に最大制限を設定します。デフォルトでは、シェーピングレートはインターフェイス速度/シェーピングレートに等しく、キューがインターフェイスのフルレートを送信できるようにします。
動的プロファイルのスケジューラに使用する保証レート(ビット/秒(bps)を設定します。
[edit dynamic-profiles data-service class-of-service traffic-control-profiles tcp-data-service] user@host# set guaranteed-rate 10k
保証レートは、キューが受信できる最小帯域幅です。使用できる物理インターフェイスの余剰帯域幅が利用可能な場合、CIR/PIRと比較して余分な帯域幅の管理方法とインターフェイスのPIRモードに応じて、論理インターフェイスはインターフェイスにプロビジョニングされた保証レートを超えて受信できます。
遅延バッファの計算に基づいて、遅延バッファ レート(ビット/秒(bps))を設定します。
[edit dynamic-profiles data-service class-of-service traffic-control-profiles tcp-data-service] user@host# set delay-buffer-rate 10k
階層の 1 つのレベルでの遅延バッファ レート設定は、次の上位レベルで使用される基準帯域幅となり、基準帯域幅の合計が下位レベルで使用される値を超えることはできません。このステートメントを含まない場合、遅延バッファレートは、1つが設定されている場合は保証レートに基づき、保証レートが設定されていない場合はシェーピングレートに基づいています。
動的プロファイルでトラフィックシェーピングおよびスケジューリングCoSパラメーターを設定した後、それらをインターフェイスに適用します。出力トラフィック制御プロファイルにより、インターフェイスにトラフィックスケジューリングを提供できます。
変数を使用してインターフェイス名と論理インターフェイスを設定し、出力トラフィック制御プロファイルをインターフェイスに適用します。前に定義したトラフィック制御プロファイルを指定します tcp-data-service。
[edit dynamic-profiles data-service class-of-service] user@host# set interfaces $junos-interface-ifd-name unit $junos-underlying-interface-unit output-traffic-control-profile tcp-data-service
結果
設定コマンドを入力して、静的トラフィックシェーピングおよびスケジューリングパラメーターの設定と適用を show dynamic-profiles
確認します。コマンド出力に意図した設定が表示されない場合は、この手順の手順を繰り返して設定を修正します。
[edit] user@host# show dynamic-profiles dynamic-profiles { data-service { class-of-service { interfaces { $junos-interface-ifd-name { unit $junos-underlying-interface-unit { output-traffic-control-profile tcp-data-service; } } } traffic-control-profiles { tcp-data-service { scheduler-map data-service-map; shaping-rate 50k; guaranteed-rate 10k; delay-buffer-rate 10k; } } } } }
検証
設定が正しく機能していることを確認します。
加入者アクセスのトラフィックシェーピングとスケジューリングプロファイルの検証
目的
加入者アクセス用の動的プロファイルで参照されているCoS(サービスクラス)設定を表示します。
アクション
user@host> show class-of-service traffic-control-profile Traffic control profile: tcp-data-service, Index: 57625 Shaping rate: 50000 Scheduler map: data-service-map Delay Buffer rate: 10000 Guaranteed rate: 10000
意味
シェーピング レート、遅延バッファ レート、および保証レート フィールドは、トラフィック制御プロファイルに対して、それぞれ 50,000 bps、10,000 bps、および 10,000 bps のレートを示します。
加入者アクセス向けスケジューラのマッピングの検証
目的
スケジューラの転送クラスへのマッピングと、各エントリのスケジューラ パラメーターの概要を表示します。
アクション
user@host> show class-of-service scheduler-map Scheduler map: data-service-map, Index: 84 Scheduler: be-scheduler, Index: 8721, Forwarding class: best-effort Transmit rate: 40 percent, Rate Limit: none, Maximum buffer delay: 39 ms, Priority: low Drop profiles: Loss priority Protocol Index Name Any Any 8724 drop3
意味
[スケジューラ マップ] フィールドは、ベストエフォート型スケジューラー用のパラメーターを示します。送信レートフィールドは40%を示しています。レート制限フィールドは制限なしを示します。ドロップ プロファイル フィールドは drop3 用です。