Cisco MGX ルート プロセッサ モジュール (RPM-XF) インストレーション コンフィギュレーション ガイド Release 5.1
サービス品質(QoS)の設定
サービス品質(QoS)の設定
発行日;2012/02/07 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 2MB) | フィードバック

目次

サービス品質(QoS)の設定

一般的な QoS 設定手順

QoS ボイラープレートの作成

クラス マップの作成

ポリシー マップの作成

インターフェイスへの QoS ボイラープレートの割り当て

クラス マップのコマンド

クラス マップの作成

属性の一致

ポリシー マップのコマンド

ポリシー マップの作成

ポリシー マップへのクラスの割り当て

専用アクセス レートの指定

重み付けランダム早期検出の有効化

帯域予約と低遅延プライオリティ キューイング

帯域予約キューイング

低遅延プライオリティ キューイング

汎用トラフィック シェーピング

キュー限度の指定

セット値の適用

service-policy コマンド

表示コマンド

show policy-map

show policy-map interface

show class-map

show vlans

ボーダーゲートウェイ プロトコルを使用したサービス品質ポリシー伝搬例

Versatile Traffic Management System

VTMS バッファ管理

VTMS キューイング

キューイング CLI コマンド

マルチリンク PPP/リンク断片化インターリービング

MLP/LFI の設定

インターネット プロトコル ヘッダー圧縮の設定

IPHC の設定

圧縮の設定

IPHC をサポートしているコマンド

IPHC の例

IP 無線アクセス ネットワークの有効化

IP-RAN をサポートしているコマンド

hw-module rpm ipran

ppp iphc max-time

show rpm ipran

show ip rtp header-compression

IP-RAN の設定

IP-RAN 向けの RPM-XF の設定

IP-RAN 向けの MPSM カードの設定

IP-RAN の例

設定例

表示例

サービス品質(QoS)の設定

この章では、RPM-XF におけるQuality of Service(QoS; サービス品質)の設定方法を説明します。この章の内容は次のとおりです。

一般的な QoS 設定手順

クラス マップのコマンド

ポリシー マップのコマンド

service-policy コマンド

表示コマンド

ボーダーゲートウェイ プロトコルを使用したサービス品質ポリシー伝搬例

Versatile Traffic Management System

マルチリンク PPP/リンク断片化インターリービング

インターネット プロトコル ヘッダー圧縮の設定

IP 無線アクセス ネットワークの有効化

RPM-XF のサービス品質(QoS)では、次の機能をサポートします。

Committed Access Rate(CAR; 専用アクセス レート)はトラフィック レートを測定し、そのレートに基づいて(パケットの廃棄などの)アクションを行います。RPM-XF の QoS は、入力パケットの CAR("police")および出力パケットのシェーピング("shape")をサポートします。

Random Early Detection(RED; ランダム早期検出)は輻輳回避機構であり、TCP の輻輳制御機構を利用しています。輻輳度の高い期間に先立ってランダムにパケットを廃棄することにより、RED はパケット ソースに伝送速度を下げるよう指示します。パケット ソースが TCP を使用している場合、パケット ソースはすべてのパケットが送信先に到達して輻輳が解消されるまで伝送速度を下げます。

Weighted Random Early Detection(WRED; 重み付けランダム早期検出)は、輻輳中にランダムにパケットを廃棄するアルゴリズムを使用します。この方法によってパケット ソースが減速されるため、輻輳が低減します。

重み付け RED(WRED)は通常、IP 優先順位に基づいて選択的にパケットを廃棄します。IP 優先順位の高いパケットは、優先順位の低いパケットに比べて廃棄される可能性が低くなります。したがって、優先順位の高いトラフィックは、優先順位の低いトラフィックよりも配送される可能性が高くなります。

帯域予約はフェア キューイングとも呼ばれ、帯域を一定のパケット ストリームに割り当てます。

低遅延プライオリティ キューイングは、音声や映像などのリアルタイム トラフィックに割り当てることができます。

トラフィック シェーピングは、データ フローを設定レートに維持することによってトラフィックを制御するのに使用されます。

セットは IP 優先順位や DSCP または MPLS EXP 値を指定します。この値は他のルータが QoS を管理するのに使用できます。

802.1q のサポートにより、ARPA カプセル化を行うための PXF スイッチングを可能にします。

Versatile Traffic Management System(VTMS)

MultiLink PPP/Link Fragmentation Interleaving(MLP/LFI; マルチリンク PPP/リンク断片化インターリービング)

Internet Protocol Header Compression(IPHC; インターネット プロトコル ヘッダー圧縮)

さらに、RPM-XF は QoS policy propagation through the Border Gateway Protocol(QPPB; ボーダー ゲートウェイ プロトコルによる QoS ポリシー伝搬)をサポートします。QPPB の設定例については、「ボーダーゲートウェイ プロトコルを使用したサービス品質ポリシー伝搬例」を参照してください。

一般的な QoS 設定手順

WRED、CAR、およびその他のサービス品質は、次の作業により設定できます。

1. トラフィックの優先順位付け基準を定義する QoS ボイラープレートを作成します。

2. ボイラープレートをインターフェイスに適用します。

図10-1 に、QoS プロセスの概要を示します。

図10-1 QoS プロセス

 

QoS ボイラープレートの作成

ここでは、QoS ボイラープレートの作成方法について説明します。QoS ボイラープレートを作成するには、次の 2 つの手順を行います。

1. クラス マップの作成:クラス マップは、QoS の対象となるパケットの認識方法を RPM-XF に指示します。

2. ポリシー マップの作成:ポリシー マップには、1 つまたは複数のクラス マップによって記述されたパケットに適用される QoS サービスがリストアップされます。

クラス マップの作成

次の手順では、クラス マップの作成方法を説明します。


ステップ 1 class-map name コマンドを入力して、クラス マップに名前を割り当てます。次の例では、 mink という名前のクラス マップが作成されます。

Router(config)# class-map mink
Router(config-cmap)#
 

上記の例のように、 class-map name コマンドを入力すると、クラス マップ設定モード(config-cmap)になります。


) 一部の Cisco IOS のマニュアルでは、QoS 設定モードをモジュラ CLI と呼んでいます。


ステップ 2 match コマンドを入力して、QoS の対象となるパケットの特性を記述します。次の例では、アクセス グループ 10 に関連付けられ、IP 優先順位ビットが 1 に設定されたパケットが記述されています。

Router(config-cmap)# match access-group 10
Router(config-cmap)# match ip precedence 1
 

ステップ 3 クラス マップ設定モードを終了します。

Router(config-cmap)# exit
Router(config)
 


 

クラス マップを設定すると、ルータは QoS の対象となるパケットを認識できます。次に、それらのパケットをどのように扱うかをルータに指示する必要があります。

ポリシー マップの作成

次の手順では、ポリシー マップの作成方法を説明します。


ステップ 1 policy-map name コマンドを入力して、ポリシー マップに名前を割り当てます。次の例では、 lynx という名前のポリシー マップが作成されます。

Router(config)# policy-map lynx
Router(config-pmap)#
 

上記の例のように、 policy-map name コマンドを入力すると、ポリシー マップ設定モード
config-pmap)になります。

ステップ 2 ポリシー マップをクラス マップに関連付けます。

Router(config-pmap)# class mink
Router(config-pmap-c)#
 

上記の例のように、 class name コマンドを入力すると、ポリシー マップ クラス設定モード
(config-pmap-c)になります。

ステップ 3 クラス マップによって記述された特性を持つパケットをルータが検出したときに、ルータに実行させる QoS アクションを記述します。

次の例では、ルータは police コマンドのデフォルトの動作を実行します(詳細については、「専用アクセス レートの指定」を参照してください)。

Router(config-pmap-c)# police 80000
 

ステップ 4 ポリシー マップ設定モードを終了します。

Router(config-pmap-c)# exit
Router(config-pmap)# exit
Router(config)#
 


 

QoS ボイラープレートの作成が完了しました。これをインターフェイスに割り当てることができます。

インターフェイスへの QoS ボイラープレートの割り当て

service-policy コマンドを使用して、QoS ボイラープレートをインターフェイスに割り当てます。次の例では、ポリシー マップ lynx が、RPM-XF のギガビット イーサネット インターフェイスに到達するトラフィックに割り当てられます。

Router(config)# interface gigabitethernet 1/0
Router(config-if)# service-policy input lynx

クラス マップのコマンド

ここでは、クラス マップの作成と修正に使用するコマンドを説明します。

ポリシー マップは 2048 個まで作成することができます。ポリシー マップ 1つにつき、32 個までのクラス マップを作成することができます。ただし、クラス デフォルトを含めて合計で 256 個までのクラス マップしか作成できません。同じクラス マップを複数のポリシー マップに適用することができます。

クラス マップの作成

クラス マップを作成してクラス マップ設定モードに入るには、 class-map コマンドを入力します。

class-map [match-any | match-all] class-map-name
[no] class-map class-map-name

 

パラメータ
説明

match-any

1 つの match ルールに該当すればクラスのメンバーとみなします。

match-all

指定された属性すべてを持つパケットだけをクラスに含めます。

class-map-name

任意の単語または数値


class-default という名前のクラスは予約されており、match 文で変更できません。


 

デフォルト値は match-all です。

クラス マップを削除する場合は、 no class-map コマンドを使用します。

Cisco IOS ソフトウェアでは、最大 255 の一意のクラス マップをサポートします。

次の例では、 mink という名前のクラス マップが作成されます。この例では、デフォルト値の match-all が使用されます。

Router(config)# class-map mink
Router(config-cmap)#

属性の一致

match コマンドを使用して、クラス マップに属するパケットの特性を定義します。

match match_statement
[no] match match_statement
 

match コマンドの match_statement は、次の値のいずれかを指定します。

match [ not ] access-group number:パケットがアクセス グループによって許可される(または許可されない)必要があることを指定します。アクセス グループの番号は 1~2699 です。

match [ not ] access-group name access-list-name:パケットがアクセス リストによって許可される(または許可されない)必要があることを指定します。アクセス リストの名前は access-list-name です。

match [ not ] any :すべてのパケットがこのクラスに属する(または属さない)ことを指定します。

match [ not ] ip dscp code-point-value1 […[code-point_value8]]:パケットの IP differentiated service code point(DSCP; DiffServ コード ポイント)値が、範囲 0~63 のコード ポイント 値(1 つまたは複数)に一致する(または一致しない)必要があることを指定します。コード ポイント値は 8 つまで指定できます。複数の値を指定する場合はスペースで区切ります。

match [ not ] ip precedence prec_value1 […[prec_value8]]:パケットの IP 優先順位値が範囲 0~7 の優先値(1 つまたは複数)に一致する(または一致しない)必要があることを指定します。優先値は 8 つまで指定できます。複数の値を指定する場合はスペースで区切ります。

match [ not ] qos-group number:パケットの QoS グループ番号値が、0~99 の範囲内のグループ番号である(またはグループ番号でない)ことを指定します。

match [ not ] ip rtp lowest-udp-port:2000-65535 range:0-16383:指定された範囲内の(または範囲外の)偶数番号の UDP ポートを持っているパケットを指定するのに使用します。偶数番号のポートがリアルタイム データ ストリームを伝送するので、一致するのは偶数番号のポートだけです。奇数番号のポートは制御情報しか伝送しないため、一致しません。

match [ not ] mpls experimental experimental-value:パケットの EXP ビットが、指定された EXP 値(範囲 0~7)に一致する(または一致しない)ことを指定します。EXP 値は 8 つまで指定できます。複数の値を指定する場合はスペースで区切ります。このコマンドで一致するのは、MPLS(タグ付き)フレームだけです。

match 属性を無効にする場合は、このコマンドに no を付けます。

必要なマッピング ルールを作成するには、1 つ以上の match コマンドを入力します。各パケットは match コマンドによって指定された基準と比較され、指定の属性を含んでいるかどうか判別されます。

RPM-XF では、1 つのクラス マップで最大 16 の match 文をサポートします。

次の例では、アクセス グループ 1 に属し、IP 優先順位値が 3 または 7 のパケットを検索するようルータに指示するクラス マップが作成されます。

Router(config)# class-map mink
Router(config-cmap)# match access-group 1
Router(config-cmap)# match ip precedence 3 7

ポリシー マップのコマンド

ここでは、ポリシー マップの作成と修正に使用するコマンドを説明します。

ポリシー マップは 2048 個まで作成することができます。ポリシー マップ 1つにつき、最大 32 個のクラス マップを作成することができます。ただし、クラス デフォルトを含めて合計で 256 個までのクラス マップしか作成できません。同じクラス マップを複数のポリシー マップに適用することができます。

ポリシー マップの作成

ポリシー マップを作成してポリシー マップ設定モードに入るには、グローバル設定モードで policy-map コマンドを入力します。

policy-map policy-map-name
[no] policy-map policy-map-name
 

policy-map-name には、任意の単語または数字を使用できます。

ポリシー マップを削除する場合は、このコマンドに no を付けます。

次の例では、 lynx という名前のポリシー マップが作成されます。

Router(config)# policy-map lynx
Router(config-pmap)#

ポリシー マップへのクラスの割り当て

ポリシー マップ設定モードから class class-map-name コマンドを使用して、クラス マップをポリシー マップに割り当てます。

class class-map-name
[no] class class-map-name
 

class-map-name はクラス マップに割り当てた名前です。

クラスを削除する場合は、このコマンドに no を付けます。

class-default という特別なクラス マップ名を任意のインターフェイスに使用すると、別の名前のクラスによってポリシー マップに記述されていないすべてのパケットに QoS ポリシーを割り当てることができます。

class class-map-name コマンドを入力すると、ポリシー マップ クラス設定モードに入ります。ここで QoS ポリシーを入力することができます。


ヒント 一致が確認されたパケットはすぐに、ポリシー マップによって処理されます。複数のクラス名をポリシー マップに割り当てる際は、最もよく使用されると思われるクラスを最初に割り当てます。これによって QoS のパフォーマンスが向上します。


次の例では、mink という名前のクラス マップが lynx という名前のポリシー マップに割り当てられます。

Router(config)# policy-map lynx
Router(config-pmap)# class mink
Router(config-pmap-c)#

次の例では、デフォルトのクラス マップが lynx という名前のポリシー マップに割り当てられます。

Router(config)# policy-map lynx
Router(config-pmap)# class class-default
Router(config-pmap-c)#

専用アクセス レートの指定

専用アクセス レートを指定するには、ポリシー マップ クラス設定モードで police コマンドを入力します。このコマンドを使用して低優先順位トラフィックを制御し、インターフェイスが高優先順位トラフィックにより多くの帯域幅を使用するようにしたり、特定のレートをインターフェイスに強制したりできます。

レートの認定は、ビット レートとして、あるいは帯域幅のパーセンテージとして指定できます。IP-RAN 機能を使う場合は、動的帯域幅機能を利用できるよう、Committed Information Rate(CIR; 認定情報レート)をパーセンテージで指定してください。詳細については、「IP 無線アクセス ネットワークの有効化」を参照してください。次のコマンドの要約は、この 2 種類のコマンド形式を示しています。

police bps [ burst-normal ] [ burst-max ] [ conform-action action exceed-action action ]

police cir percent percent [ bc conform-burst-in-msec ] [ be peak-burst-in-msec ]
[ conform-action action exceed-action action ]

no police


) RPM-XF では、police コマンドでの pir percent キーワードと violate-action キーワードの使用はサポートしていません。


 

パラメータ
説明

bps

平均レート(Bps)。有効な値は 8000~200000000 です。

normal-burst

(オプション)通常バースト サイズ(バイト単位)。有効な値は 1000~51200000 です。デフォルトの通常バースト サイズは 1500 バイトです。

max-burst

(オプション)超過バースト サイズ(バイト単位)。有効な値は 1,000~51200000 です。

conform-action action

レート(またはパーセンテージ)を超過していないときのアクションを指示します。
アクションのリストは 表10-1 を参照してください。

exceed-action action

レート(またはパーセンテージ)を超過したときのアクションを指示します。
アクションのリストは 表10-1 を参照してください。

cir

認定情報レート(CIR)。トラフィックのポリシングに CIR を使うことを指定します。

percent

CIR の計算に帯域幅のパーセンテージを使うことを指定します。

percent

帯域幅のパーセンテージを指定します。有効な範囲は 1~100 です。

bc

(オプション)トラフィック ポリシングの最初のトークン バケットが使用する適合バースト(bc)サイズです。

conform-burst-in-msec

(オプション)bc 値をミリ秒(Ms)単位で指定します。有効な範囲は 1~2000 です。

 

表10-1 CAR アクション

アクション
説明

drop

一致するトラフィックをすべて廃棄します。

set-clp-transmit value

ATM セルに対して ATM Cell Loss Priority(CLP; セル損失優先度)ビットを 0 から 1 に設定し、ATM CLP ビットを 1 に設定した状態でパケットを送信します。

set-dscp-transmit value

dscp を設定してそれを送信します(一致しないトラフィックを新しい dscp 値でマークします)。値の範囲は 0~63 です。

set-mpls-exp-transmit value

MPLS EPX ビットを設定してそれを送信します。値の範囲は 0~7 です。

set-prec-transmit value

パケット プロシージャを書き換えてそれを送信します(一致するトラフィックを新しい IP 優先順位値でマークします)。値の範囲は 0~7 です。

set-qos-transmit value

QoS グループを設定してそれを送信します(一致するトラフィックを新しい QoS 値でマークします)。値の範囲は 0~99 です。

transmit

トラフィックを転送します。

コマンドラインで police bps だけを入力すると、デフォルト動作が行われます。つまり、bps 値に適合するトラフィックは送信され、bps 値を超過しているトラフィックは廃棄されます。

ポリシーを無効にする場合は、このコマンドに no を付けます。

次の例では、 mink という名前のクラスに CAR が割り当てられます。

Router(config)# policy-map lynx
Router(config-pmap)# class mink
Router(config-pmap-c)# police 720000 90000 90000 conform-action transmit exceed-action drop

重み付けランダム早期検出の有効化

random-detect コマンドを使用して、重み付けランダム早期検出(WRED)を有効にします。WRED は輻輳中、IP 優先順位に基づいてパケットをランダムに廃棄します。 random-detect コマンドは、帯域幅保証を含むトラフィック クラスに対して WRED 廃棄ポリシーを有効にします。


) WRED を有効にする前に帯域幅を設定しておく必要があります(「帯域予約と低遅延プライオリティ キューイング」を参照)。



) ATM インターフェイスでは、Variable Bit Rate(VBR; 可変ビット レート)の PVC のみで WRED を使用できます。Unspecified Bit Rate(UBR; 未指定ビット レート)として設定された PVC では WRED を使用できません。


random-detect [ewc value | prec prec-value min-value max-value mark-denom]
[no] random-detect [ewc value | prec prec-value min-value max-value mark-denom]

 

パラメータ
説明

ewc value

Exponential-Weighting-Constant(EWC; 指数加重定数)値によって、ランダム検出が平均キュー サイズの計算に使用するデフォルトの方式を変更することができます。ランダム検出は、現在のキューの長さと最新の平均キューの長さに基づいて平均キュー サイズを決定します。1~16 の値を指定できます。

値が大きくなるほど、平均は過去の平均に依存する度合いが高くなります。これにより、単に一時的なトラフィック状態の変化に WRED が反応するのが遅くなります。

値が小さいほど、平均が過去の平均に依存する度合いが低くなります。これにより、頻繁に変化するトラフィック状態に WRED が敏感に反応します。

prec

次の表に示す情報に従って、優先順位値を指定します。


ヒント 通常、WRED の利点を最もよく生かせるのは、引数なしで random-detect キーワードを使用した場合です。


 

説明

precedence

0~7 の値です。通常、0 は低優先順位トラフィックを表し、積極的に管理(廃棄)できます。7 は高優先順位トラフィックを表します。

min-value

最小しきい値を指定します。32~16,384 の値を入力します。

max-value

最大しきい値を指定します。32~16,384 の値を入力します。

mark-denom

廃棄確率を指定します。1~65,535 の値を入力します。たとえば、この値を 256 に設定すると、平均キューが最大しきい値に達したときに、256 のうち 1 つの割合でパケットが廃棄されます。

WRED を無効にする場合は、このコマンドに no を付けます。

次の例では、WRED を適用します。

Router(config)# policy-map lynx
Router(config-pmap)# class class-default
Router(config-pmap-c)# random-detect

帯域予約と低遅延プライオリティ キューイング

ここでは、帯域予約および低遅延プライオリティの設定方法を説明します。これらのキューイング方式によって、差別化したサービスを顧客に提供できます。

RPM-XF は通常、リンクから伝送されるのを到着順に待機している全トラフィック ストリームからのパケットに対して、単一のキューを使用します。この方式は常にリンク帯域幅全体を使用するため、単純で効率的であり、パケットあたりの平均遅延を最小に抑えることができます。しかし、単一キュー方式はトラフィック ストリーム間の違いを認識しません。つまり、ストリーム内のトラフィックが多いほど、リンク帯域幅の共有度合いが大きくなります。

帯域予約は異なるトラフィック ストリーム間でリンク帯域幅を複数のキューに分割します。各キューには、すべての空でない キュー間で分割されたリンク帯域幅が適切に割り当てられます。空のキューに関連付けられた帯域幅は無駄に使用されず、送信するパケットのあるキューに未使用の帯域幅を分割することによって、単一のキュー方式と同じように複数のキューの平均遅延が同じになり、しかも均等化のメリットがあります。

低遅延プライオリティ キューイングでは、保証された最小帯域幅を 1 つのキューに割り当て、生の音声や映像など、遅延に影響されやすいトラフィックに対してパケット遅延の変動を最小に抑えます。


) 同じクラスで帯域幅と低遅延プライオリティを組み合わせることはできません。


帯域予約キューイング

bandwidth コマンドを使用して、複数のクラス キューを作成します。

bandwidth rate-in-kbps
[no] bandwidth
 

rate-in-kbps パラメータの値は 8~2,000,000 で、リンク帯域幅の 1~99% を表します。

帯域幅キューイングを無効にする場合は、このコマンドに no を付けます。

次の例では、2 つのクラス キューを設定しています。

IP 優先順位ビットの設定が 1、2、3、4 のいずれかであるパケットの場合、18Kbps のキュー

IP 優先順位ビットの設定が 5、6、7 のいずれかであるパケットの場合、54Kbps のキュー

インターフェイスの帯域幅が 128Kbps であると仮定すると、2 つのクラス キューには、インターフェイス帯域幅の 25% および 62% が与えられます。IP 優先順位 0 を含む他のすべてのトラフィックには、帯域幅の残りの 8Kbps つまり 13% が与えられます。

Router# enable
Router# configure terminal
Router(config)# class-map city
Router(config-cmap)# match ip precedence 1 2 3 4
Router(config-cmap)# class-map boston
Router(config-cmap)# match ip precedence 5 6 7
Router(config-cmap)# policy-map precedence-queues
Router(config-pmap)# class city
Router(config-pmap-c)# bandwidth 16
Router(config-pmap-c)# class boston
Router(config-pmap-c)# bandwidth 40
Router(config-pmap-c)# interface switch1:1
Router(config-if)# service-policy output precedence-queues
Router(config-if)# end
 

キューの実際のスループットは、リンクその他のキューが未使用の場合、高くなります。

低遅延プライオリティ キューイング

低遅延プライオリティ キューイングでは、リンク帯域幅の指定の割り当てを 1 つのキューに割り当てることで、そのキューが他のすべてのキューより優先されるようにします。低遅延プライオリティ キューイングは、生の音声や映像など遅延に影響されやすいトラフィックに対して、パケット遅延の変動を最小に抑えます。

priority コマンドを使用して、低遅延プライオリティ キューを作成します。

priority rate-in-kbps
[no] priority
 

rate-in-kbps パラメータの値は 8~2,000,000 で、保証された 最小 帯域幅を表します。

プライオリティ キューイングを無効にする場合は、このコマンドに no を付けます。

次の設定例では、音声トラフィックに対するプライオリティ キューを作成し、それをインターフェイス switch1.1 に適用します。

Router# enable
Router# configure terminal
Router(config)# class-map voice
Router(config-cmap)# match ip rtp 2000 2000
Router(config-cmap)# policy-map voice-queue
Router(config-pmap)# class voice
Router(config-pmap-c)# priority 56
Router(config-pmap-c)# interface switch1:1
Router(config-if)# service-policy output voice-queue
Router(config-if)# end
 

プライオリティ キューの実際のスループットは、最小値より高くなることがあります。リンクの他のすべてのキューが空の場合、リンク帯域幅全体がプライオリティ キューに割り当てられるためです。

汎用トラフィック シェーピング

RPM-XF では、リモート サイトの要件に適合するために、またはそのインターフェイスで提供されるサービス レートを維持するためにインターフェイスのトラフィック フローを制御または変更するメカニズムとして、トラフィック シェーピングを使用します。Generic Traffic Shaping(GTS; 汎用トラフィック シェーピング)は、インターフェイスがカプセル化されているかどうかにかかわらず、すべてのインターフェイスのトラフィック シェーピングをサポートします。

現在の Cisco IOS ソフトウェアには 2 つのトラフィック シェーピングが実装されています。GTS と Frame Relay Traffic Shaping(FRTS; フレームリレー トラフィック シェーピング)です。ここでは、GTS について説明します。


) RPM-XF はフレームリレーをサポートしていません。



) トラフィックの shape コマンドは、ポリシー マップ クラス設定モードで使用します。インターフェイス設定モードではサポートされていません。


shape コマンドは、スループットを rate-in-kbps(単位 KBps のレート)と等しくなるよう制限します。

shape rate-in-kbps
[no] shape
 

rate-in-kbps パラメータの値は 56~2,000,000 で、可能な最大スループットを表します。

トラフィック シェーピングを無効にする場合は、このコマンドに no を付けます。

次の設定例では、トラフィック シェープがスループット 100 に設定されます。

Router(config-pmap-c)# shape 100
Router(config-pmap-c)#

キュー限度の指定

ここでは、キューが保持するパケット数の指定方法を説明します。キュー限度を高くすると、割り当てられたインターフェイスでの一時的な輻輳によって廃棄されるパケットの数を減らすことができます。キュー限度は、輻輳管理におけるデフォルトのパケット廃棄方式として動作します。未指定ビット レート(UBR)として設定された ATM PVC で queue limit コマンドを使用することはできません。


) ATM インターフェイスでは、可変ビット レート(VBR)の PVC のみでキュー限度を適用できます。


queue-limit packets
[no] queue-limit
 

packets パラメータは 32~16,384 のパケット数で、2 のべき乗です(64、128、256 など)。


) 指定されたパケット数が 2 のべき乗でない場合、入力された数は自動的に 2 のべき乗に切り上げられます。たとえば、パケット数を 60 と入力すると、64 に切り上げられます。


キュー限度をデフォルト値に戻す場合は、このコマンドに no を付けます。

show interface コマンドを使用すると、現在のキュー限度を調べることができます。キュー限度を高い値に設定すると、他のインターフェイスが使用できるパケット バッファ数が少なくなります。

次の例では、キュー限度は 256 パケットに設定されます。

Router(config)# policy-map lynx
Router(config-pmap)# class class-default
Router(config-pmap-c)# queue-limit 256

セット値の適用

set コマンドによって、他のルータが QoS 管理に使用できるビット値をマークすることができます。

set {ip {dscp value | precedence value} | qos-group value | atm-clp | mpls experimental value}
[no] set {ip {dscp value | precedence value} | qos-group value | mpls experimental value}
 

外部から見える は次のとおりです。

 

パラメータ
説明

dscp

0~63 の値

precedence

0~7 に設定された優先順位ビット。通常、0 は低優先順位トラフィックを表します。7 は高優先順位トラフィックを表します。

内部で見える は次のとおりです。

 

パラメータ
説明

qos-group

パケットを QoS グループに分類するのに使用できるグループ ID をルーティング テーブルに設定します。値は 0~99 です。

atm-clp

ATM セル損失優先度を設定します。この引数を使用して、輻輳が激しい場合に指定の PVC の ATM セルが廃棄される確率を設定します。

mpls experimental

0~7 の値で、通常、0 は低優先順位トラフィックを表し、7 は高優先順位トラフィックを表します。


set mpls experimental は、EXP ビットをインポジション フレーム(MPLS タグ スタックに追加されるタグの付いたフレームなど)のみに設定します。



set mpls experimental は、入力ポリシー マップのみで有効です。


 

設定値をデフォルトに戻す場合は、このコマンドに no を付けます。

次の設定例では、IP 優先順位と QoS グループに対してビット値が設定されます。

Router(config)# policy-map lynx
Router(config-pmap)# class mink
Router(config-pmap-c)# set ip precedence 7
Router(config-pmap-c)# set qos-group 8

service-policy コマンド

ポリシー マップをインターフェイスに関連付けるには、 service-policy コマンドを使用します。

service-policy [input | output] name
[no] service-policy [input | output] name

 

パラメータ
説明

input

インターフェイスの着信トラフィック

output

インターフェイスの発信トラフィック

name

ポリシー マップの名前


) 帯域幅、低遅延プライオリティ、ランダム廃棄、キュー限度、およびシェープ パラメータは output の場合にのみ使用され、input 引数を使用する場合は無視されます。


インターフェイスからサービス ポリシーを削除する場合は、このコマンドに no を付けます。

2 つを超えるサービス ポリシーをインターフェイスに関連付けることはできません。関連付けられるのは input に 1 つと output に 1 つです。

ATM インターフェイスでは、PVC だけにポリシー マップを適用できます。

次の例では、ポリシー マップ lynx が、ギガビット イーサネット ラインカードのインターフェイスの着信トラフィックに適用されます。


service-policy コマンドを使用するには、CEF スイッチングがオンになっている必要があります。


Router(config)# interface gigabitethernet 1/0
Router(config-if)# service-policy input lynx
 

次の例では、ポリシー マップが ATM PVC に適用されています。

Router(config)# interface switch1.1
Router(config-if)# pvc 0/101
Router(config-if-atm-vc)# service-policy input lynx
 

表示コマンド

ここでは、クラス マップとポリシー マップに関する情報の表示に使用するコマンドを説明します。

show policy-map

このコマンドは、1 つまたはすべてのポリシー マップの設定を表示し、設定に関する情報を一覧表示します。この例を次に示します。

Router# show policy-map lynx
Policy Map lynx
class mink
set qos-group 8
Policy Map jaguar
class class-default
random-detect
random-detect exponential-weighting-constant 9
random-detect precedence 0 16 32 10
random-detect precedence 1 18 32 10
random-detect precedence 2 20 32 10
random-detect precedence 3 22 32 10
random-detect precedence 4 24 32 10
random-detect precedence 5 26 32 10
random-detect precedence 6 28 32 10
random-detect precedence 7 30 32 10

show policy-map interface

このコマンドは 1 つまたはすべてのインターフェイスのポリシー マップの統計情報を表示します。この例では、特定のシリアル インターフェイスの統計情報を表示します。

Router# show policy-map interface [pos1/0]
Pos1/0
service-policy input: lynx
class-map: mink (match-all)
0 packets, 0 bytes
5 minute rate 0 bps
match: access-group 3
set:
qos-group 8

show class-map

このコマンドは、クラス マップを一覧表示し、それぞれの match 文を表示します。この例を次に示します。

Router# show class-map mink
Class Map match-all mink (id 3)
Match access-group 3
 
Class Map match-all pink (id 4)
Match access-group 23
Match qos-group 32
 
Class Map match-any class-default (id 0)
Match any
Class Map match-all customer_pri (id 2)

show vlans

このコマンドは、仮想 LAN サブインターフェイスを 1000 までリストアップします。この例を次に示します。

Router# show vlans
Virtual LAN ID: 1 (IEEE 802.1Q Encapsulation)
VLAN Trunk Interface: GigabitEthernet1/0
Protocols Configured: Address: Received: Transmitted:
IP 200.1.1.1 18 273894058

ボーダーゲートウェイ プロトコルを使用したサービス品質ポリシー伝搬例

ボーダーゲートウェイ プロトコルを使用したサービス品質(QoS)ポリシー伝搬(QPPB)によって、BGP コミュニティ リスト、BGP 自律システム パス、およびアクセス リストに基づいて IP 優先順位別にパケットを分類できます。パケットが分類された後、専用アクセス レート(CAR)や重み付けランダム早期検出(WRED)など他の QoS 機能を使用して、ビジネス モデルに適したポリシーを指定して適用することができます。

この例では、次の設定方法を示しています。

1. BGP コミュニティ リスト、アクセス リスト、および BGP AS パスに一致するルート マップを作成

2. 近隣ルータから取得したルートに IP 優先順位を適用

この例では、RPM-XF は autonomous system(AS; 自律システム)10 と AS 60 からルートを取得します。定義されたルート マップに一致するすべてのパケットに QoS ポリシーが適用されます。RPM-XF から AS 10 または AS 60 へのパケットはすべて、該当の QoS ポリシーへ送られます(図10-2 を参照)。

図10-2 RPM-XF ルートと QoS ポリシーの適用

 

RPM-XF の設定

Router(config)# router bgp 30
Router(config)# table-map precedence-map
Router(config-router)# neighbor 20.20.20.1 remote-as 10
Router(config-router)# neighbor 20.20.20.1 send-community
Router(config-router)# neigh 20.20.20.1 route-map precedence-map out
!
Router(config)# ip bgp-community new-format
 

コミュニティ 1 に一致、IP 優先順位を priority に設定、QoS グループを 1 に設定。

Router(config)# route-map precedence-map permit 10
Router(config-route-ma)# match community 1
Router(config-route-ma)# set ip precedence priority
Router(config-route-ma)# set ip qos-group 1
 

コミュニティ 2 に一致、IP 優先順位を immediate に設定。

Router(config)# route-map precedence-map permit 20
Router(config-route-ma)# match community 2
Router(config-route-ma)# set ip precedence immediate
 

コミュニティ 3 に一致、IP 優先順位を flash に設定。

Router(config)# route-map precedence-map permit 30
Router(config-route-ma)# match community 3
Router(config-route-ma)# set ip precedence flash
 

コミュニティ 4 に一致、IP 優先順位を flash-override に設定。

Router(config)# route-map precedence-map permit 40
Router(config-route-ma)# match community 4
Router(config-route-ma)# set ip precedence flash-override
 

コミュニティ 5 に一致、IP 優先順位を critical に設定。

Router(config)# route-map precedence-map permit 50
Router(config-route-ma)# match community 5
Router(config-route-ma)# set ip precedence critical
 

コミュニティ 6 に一致、IP 優先順位を internet に設定。

Router(config)# route-map precedence-map permit 60
Router(config-route-ma)# match community 6
Router(config-route-ma)# set ip precedence internet
 

コミュニティ 7 に一致、IP 優先順位を network に設定。

Router(config)# route-map precedence-map permit 70
Router(config-route-ma)# match community 7
Router(config-route-ma)# set ip precedence network
 

IP アドレス アクセス リスト 69 に一致、または AS パス 1 に一致、IP 優先順位を critical に設定、QoS グループを 9 に設定。

Router(config)# route-map precedence-map permit 75
Router(config-route-ma)# match ip address 69
Router(config-route-ma)# match as-path 1
Router(config-route-ma)# set ip precedence critical
Router(config-route-ma)# set ip qos-group 9
 

上記以外は、IP 優先順位を routine に設定します。

Router(config)# route-map precedence-map permit 80
Router(config-route-ma)# set ip precedence routine
 

コミュニティ リストを定義します。

Router(config)# ip community-list 1 permit 60:1
Router(config)# ip community-list 2 permit 60:2
Router(config)# ip community-list 3 permit 60:3
Router(config)# ip community-list 4 permit 60:4
Router(config)# ip community-list 5 permit 60:5
Router(config)# ip community-list 6 permit 60:6
Router(config)# ip community-list 7 permit 60:7
 

AS パスを定義します。

Router(config)# ip as-path access-list 1 permit ^10_60
 

アクセス リストを定義します。

Router(config)# access-list 69 permit 69.0.0.0

ルータ B の実行設定

RouterB(config)# router bgp 10
RouterB(config-router)# neighbor 30.30.30.1 remote-as 30
RouterB(config-router)# neighbor 30.30.30.1 send-community
RouterB(config-router)# neigh 30.30.30.1 route-map send_community out
!
RouterB(config)# ip bgp-community new-format
 

プレフィックス 10 に一致、コミュニティを 60:1 に設定。

RouterB(config)# route-map send_community permit 10
RouterB(config-route-ma)# match ip address 10
RouterB(config-route-ma)# set community 60:1
 

プレフィックス 20 に一致、コミュニティを 60:2 に設定。

RouterB(config)# route-map send_community permit 20
RouterB(config-route-ma)# match ip address 20
RouterB(config-route-ma)# set community 60:2
 

プレフィックス 30 に一致、コミュニティを 60:3 に設定。

RouterB(config)# route-map send_community permit 30
RouterB(config-route-ma)# match ip address 30
RouterB(config-route-ma)# set community 60:3
 

プレフィックス 40 に一致、コミュニティを 60:4 に設定。

RouterB(config)# route-map send_community permit 40
RouterB(config-route-ma)# match ip address 40
RouterB(config-route-ma)# set community 60:4
 

プレフィックス 50 に一致、コミュニティを 60:5 に設定。

RouterB(config)# route-map send_community permit 50
RouterB(config-route-ma)# match ip address 50
RouterB(config-route-ma)# set community 60:5
 

プレフィックス 60 に一致、コミュニティを 60:6 に設定。

RouterB(config)# route-map send_community permit 60
RouterB(config-route-ma)# match ip address 60
RouterB(config-route-ma)# set community 60:6
 

プレフィックス 70 に一致、コミュニティを 60:7 に設定。

RouterB(config)# route-map send_community permit 70
RouterB(config-route-ma)# match ip address 70
RouterB(config-route-ma)# set community 60:7
 

上記以外は、コミュニティを 60:8 に設定します。

RouterB(config)# route-map send_community permit 80
RouterB(config-route-ma)# set community 60:8
 

アクセス リストを定義します。

RouterB(config)# access-list 10 permit 61.0.0.0
RouterB(config)# access-list 20 permit 62.0.0.0
RouterB(config)# access-list 30 permit 63.0.0.0
RouterB(config)# access-list 40 permit 64.0.0.0
RouterB(config)# access-list 50 permit 65.0.0.0
RouterB(config)# access-list 60 permit 66.0.0.0
RouterB(config)# access-list 70 permit 67.0.0.0
 

次の例では、IP 優先順位と QoS グループ ID に基づいてパケットを分類するようにいくつかのインターフェイスを設定する方法を示しています。

interface switch1.1
ip address 200.28.38.2 255.255.255.0
bgp-policy source ip-prec-map
no ip mroute-cache
no cdp enable
frame-relay interface-dlci 20 IETF
 
interface switch1.2
ip address 200.28.28.2 255.255.255.0
bgp-policy source qos-group
no ip mroute-cache
no cdp enable
 

Versatile Traffic Management System

RPM-XF 上の Versatile Traffic Management System(VTMS)では、Virtual Channel(VC; 仮想チャネル)間で帯域幅を共有することができます。アイドル状態になっている VC の帯域幅を、他の VC が使用することができます。VTMS では、すべての VC が同じ VTMS リンクを共有することができます。また、VTMS は、ATM リンクと Packet Over SONET(POS)リンクまたは GigE リンクのいずれかをサポートします。

RPM-XF 上の VTMS では 65535 の帯域幅除数を使用し、またトラフィック輻輳を処理するためにダミーのフル キューを使用します。これにより、UBR(未指定ビット レート)のパケット廃棄を含むパケット廃棄が可能になります。

VTMS は、パケット デキューイングを抑止するためにパケット ヘッダー内のフロー ビットを使用します。

フロー ビット制御には次の 2 種類があります。

ソフトウェア フロー ビット

ハードウェア キュー ステータス

ソフトウェア フロー ビットとハードウェア キュー ステータスの両方がレディ状態を示す場合はパケットがエンキューされ、ソフトウェア フロー ビットとハードウェア キュー ステータスの両方が輻輳状態を示す場合はデキューされます。

パケットがエンキューされると、フロー ビット テーブルにフロー ビットが追加されます。フロー ビット テーブルは、ライン カードが輻輳しているか調べるために使用されます。ライン カードが輻輳している場合、VTMS はダミーのフル キューを作成します。これにより、パケットは強制的に廃棄、またはデキューされます。


) VTMS は UBR でもダミーのフル キューを使用しますが、RPM-XF は UBR パケットのヘッダーを廃棄するため、インターフェイス上にトラフィックの輻輳がある場合に UBR は廃棄されます。



) RPM-XF では、VTMS がデフォルトで有効になっています。


VTMS バッファ管理

VTMS では、バッファとキューの違いを知っておくことが必要です。

バッファはパケットだけを保存するメモリ領域です。RPM-XF には 128MB のバッファ メモリがあります。

キューはデータ構造体であり、特定の順序でバッファ内のパケットを指し示します。

パケットはクラス別に分類され、first-in-first out(fifo; 先入れ先出し)の原則に基づいてキューイングされます。キューイングされたパケットは、次の 3 つのパスの 1 つに振り分けられます。

ファースト パス

パント パス

ドロップ パス

メモリ バッファは、管理者が設定し、初期化時に割り当てることができます。管理者は、メモリ バッファ プールを 8 個まで設定できます。これらのプールは、pool 0~7 として指定できます。メモリ バッファ プールの割り当ての例を次に示します。

プール 0:9216 バイト(合計 100)

プール 1:4672 バイト(合計 500)

プール 2:1600 バイト(合計 30000)

プール 3:640 バイト(合計 67671)

プール 4:256 バイト(合計 98173)

プール 5:64 バイト(合計 131000)

バッファ管理 CLI コマンド

show pxf cpu buffers
show pxf cpu buffers leaked <pool no>

VTMS キューイング

キューはデータ構造体であり、VTMS 設定に基づいて特定の順序でバッファ内のパケットを指し示します。VTMS はパケットを次の 2 つのキュー クラスの 1 つに割り当てます。

ワーク キュー

パケット キュー

キューイング方式は、必要な QoS 機能、スループット、遅延、パケット サイズによって異なります。RMP-XF のキューイングは、小さいパケット、低遅延、高度な QoS に対応する低速、高速どちらのインターフェイス用にも最適化できます。

VTMS スケジューラは、パケットの振り分け方法を決定します。パケットがクラスに割り当てられると、VTMS スケジューラは、これらのパケットを VTMS 設定に基づいて次のさまざまなタイプのキューに振り分けます。

先入れ先出し(FIFO)

フェア キューイング

Weighted Fair Queuing(WFQ; 均等化キューイング)

Class Based WFQ(CBWFQ; クラス ベース WFQ)

Low Latency Priority Queuing(LLQ; 低遅延プライオリティ キューイング)

カスタム キューイング

先入れ先出し(FIFO)キューイングは、最優先タイプのキューイングで、ルーティング アップデートのような制御トラフィックで使用します。

フェア キューイングでは、フロー サイズとパケット サイズを基にして、大きいパケットの後の小さいパケットが待たされないように小さいパケットから処理します。

均等化キューイング (WFQ) では、重みに基づいてパケットを処理します。重みは、各ワーク キュー内のパケットの IP 優先順位値に基づいて、そのキューに割り当てられます。

クラス ベース WFQ(CBWFQ)は、分類されたトラフィックを処理します。トラフィックの分類はユーザが設定します。重みは、そのキューの帯域幅に基づいて VTMS が設定します。

低遅延プライオリティ キューイング(LLQ)は、このキューイング方式の設定後にオンデマンドで作成される追加のキューです。LLQ は、送られてきた分類済みのトラフィックを処理し、小さいパケットと音声に使用されます。

カスタム キューイングでは、特定のユーザの設定情報に基づいてラウンドロビン方式でパケットを処理します。カスタム キューイングでは、最大 16 個のキューを使用できます。

キューイング CLI コマンド

show pxf cpu queue <interface> - summarized info
show pxf cpu queue <qid> - detailed info including CIR, MIR, EIR, stats, etc.
show pxf cpu statistics qos <interface>
show pxf cpu police <policy map>

マルチリンク PPP/リンク断片化インターリービング

マルチリンク PPP/リンク断片化インターリービング(MLP/LFI)では、大きいパケットを小さいフラグメントに分割することにより、VoIP パケットのような小さいパケットのために回線が閉塞されないようにすることができます。

T1 速度より低速のインターフェイスでは、特に Voice over IP(VoIP)アプリケーションで、パケットの Maximum Transmission Unit(MTU; 最大伝送単位)が最大である場合、低遅延プライオリティ キュー(LLQ)で回線閉塞の危険に達する可能性があります。これを解決するためには、これらのインターフェイスに MLP/LFI を実装します。

RPM-XF は MLPPP インターフェイスで MLP/LFI をサポートします。MLP/LFI を有効にしたインターフェイスを最大 200 個までサポートします。MLP/LFI および PPP インターフェイスでは、Multilink Point-to-Point Protocol(MLPPP)の長いシーケンス番号のフラグメント形式ヘッダーを使用します。

MLPPP バンドルでの複数リンク上の MLP/LFI はサポートされません。アウト オブ シーケンス フラグメントの受信と再組み立てもサポートされません。

パケットがデキューされると、MLP/LFI は各フラグメントを個別に再スケジュールし、再送します。MLP/LFI は、すべてのフラグメントを受信した後にのみ遠端でパケットを再組み立てします。

MLP/LFI の設定

MLP/LFI の設定には、次の設定コマンドを使用できます。

 

MLP/LFI 設定コマンド

コマンド
説明

ppp multilink

インターフェイスでマルチリンクを有効にします。

ppp multilink fragmentation

マルチリンク断片化を有効にします。

ppp multilink fragment-delay
< milliseconds >

フラグメント間の最大遅延(ミリ秒)を設定します。たとえば、音声ストリームの最大遅延を 20 ミリ秒として設定できます。MLPPP はこの値に基づいてフラグメント サイズを選択します。

ppp multilink interleave

バンドルされた伝送でリアルタイムのパケット インターリーブを有効にします。

match ip rtp
< starting-port-number >
< range-of-ports >

starting-port-number または range-of-ports に基づいて、インターリーブで優先するトラフィックを設定します。これらの割り当てを使用してパケットを特定のクラスにマップできます。

match ip rtp コマンドを使用する方法は、インターリーブの際にトラフィックを分類する方法の 1 つにすぎません。アクセス リストを使用する方法もあります。 policy-map コマンドでは、トラフィックのクラスをプライオリティ キューに関連付け、 priority コマンドでポリシー マップ内でのそのクラスのプライオリティを設定します。次に、 service policy でこの分類とアクションをインターフェイスに対応付けます。たとえば、次のように設定します。

class-map match-all VOIP
match ip rtp 16384 16383
 
class-map LESS_CRITICAL
match access-group 101
policy-map VOIP_PRI
class VOIP
priority 50
class LESS_CRITICAL
set ip precedence 5
interface sw1.100 point-to-point
pvc toortr01 0/58
vbr-nrt 406 406
protocol ppp Virtual-Template15
interface Virtual-Template15
bandwidth 320
ip address 10.16.0.105 255.255.255.252
ip tcp header-compression iphc-format
service-policy output VOIP_PRI
ppp multilink
ppp multilink fragment-delay 14
ppp multilink interleave
ip rtp header-compression iphc-format
 

インターネット プロトコル ヘッダー圧縮の設定

Internet Protocol Header Compression(IPHC; インターネット プロトコル ヘッダー圧縮)を使うと、IP ヘッダーのサイズがきわめて大きい場合やヘッダーとペイロードの大きさがほぼ同じ場合に、
PPP リンクの帯域幅利用率が増加します。PPP リンクの利用率は、1 つの集約ノードが処理できる呼び出しの数に直接影響する点で重要です。IPHC は、compressed Real Time Protocol(cRTP; 圧縮 RTP)、compressed User Datagram Protocol(cUDP; 圧縮 UDP)、および compressed Transport Control Protocol(cTCP; 圧縮 TCP)をサポートします。

RPM-XF は、エンドポイント ルータ向けのマルチリンク PPP または PPPoATM PVC 上の IP データグラムを圧縮します。各 PVC は複数の IPHC データ フローをサポートします。各フローは、IP/UDP ヘッダーの一意な組み合わせを表します。RPM-XF は、PVC あたり 1000 のフロー、カードあたり 200 の PVC をサポートします。非アクティブなフローは、一定のタイムアウト時間の経過後、解放されます。このタイムアウト時間は設定可能です。

IPHC の設定

IPHC が有効なフローは、最初のパケットを完全なヘッダー(通常の IP+UDP および IPHC ヘッダーの特殊な形式)付きで送信します。後続のパケットは、cUDP または cRTP プロトコルを使用して圧縮されます。このプロトコルにより、完全なヘッダーは置換されて、IPID、RTP シーケンス、RTP タイムスタンプなど元のヘッダーとは異なる IP/UDP/RTP ヘッダー フィールドに対応するデルタとなります。各デルタはゼロまたは非ゼロです。ゼロはヘッダーに変更がなかったことを示します。デルタがゼロのパケットは、基本フィールドだけを含み、サイズも最小限です。デルタが非ゼロのパケットは、デルタの数と値に応じてサイズが異なります。デコンプレッサは、元の完全なヘッダーのコピーを保持し、パケット ヘッダーを再組み立てします。IPHC は次のように設定できます。

IPID デルタ付きの圧縮パケット(すべてのデルタ付きでの通常圧縮)

デコンプレッサは、IPID デルタ付きの圧縮パケットを受け取ると、保存してあった圧縮前のヘッダーのそれぞれのフィールドにデルタを追加することにより、パケット ヘッダーを再組み立てします。一般に、IPHC は、cUDP 向けに 8 ビット圧縮が使用されている場合は、ヘッダーを 2~5 バイト(16 ビット圧縮が使用されている場合はもう 1 バイト追加、UDP チェックサムが存在している場合はさらにもう 2 バイト追加)に圧縮します。cRTP 向けに 8 ビット圧縮が使用されている場合は、2~8 バイト(16 ビット圧縮が使用されている場合は もう 1 バイト追加、UDP チェックサムが存在する場合はさらにもう 2 バイト追加)に圧縮します。

この機能を有効にするには、 ip rtp header-compression iphc-format コマンドを使用します。

IPID デルタなしの圧縮パケット(IPID デルタなしの cUDP)

デコンプレッサは、圧縮パケットを受け取ると、保存してあったヘッダー情報を使って、上記と同じ方法により、パケットを再組み立てします。ただし、コンプレッサが IPID デルタを符号化しないために、デルタが 0 とされ、IPID フィールドの完全性が保証されない場合を除きます。

この機能を有効にするには、 ip rtp header-compression iphc-format および hw-module rpm ipran コマンドを使用します。詳細については、「IP-RAN 向けの RPM-XF の設定」を参照してください。


) この機能は、IPHC 拡張機能の 1 つで、IP-RAN が有効な場合のみ有効です。IP-RAN が無効な場合、IPHC は通常の圧縮を使用します。



) RPM-XF は TCP 圧縮解除をサポートしていますが、TCP 圧縮はサポートしていません。TCP パケットは常に圧縮なしで送信されます。圧縮された TCP パケットの圧縮解除は、それらをルート プロセッサにパントすることによって行われます。圧縮された TCP トラフィックには、PXF とルート プロセッサ間で個別のキューが使用されます。TCP パケットは 2.4MBps を超える速度で廃棄されます。IPHC を有効にしたインターフェイスでは、特にカスタマー エッジ ルータが TCP 圧縮を選択的に停止できない場合は TCP トラフィックを搬送しないでください。


圧縮の設定

デフォルトでは、cRTP プロトコルは UDP および RTP パケットをすべて圧縮します。RTP は別として UDP パケットを圧縮することが容認できないネットワークの場合には、UDP 圧縮の無効を選択することができます。cRTP が有効なときの UDP 圧縮の有効/無効を指定するには、 hw-module rpm udp-comp コマンドを使用します。


) IP-RAN が有効なときは UDP 圧縮を無効にはできません。IP-RAN は cUDP パケットのみを圧縮します。


IPHC をサポートしているコマンド

次の CLI コマンドは IPHC をサポートしています。

 

表10-2 設定コマンド

コマンド
説明

clear ip rtp header-compression

インターフェースの cRTP/cUDP 統計情報を 0 にリセットします。

clear ip tcp header-compression

インターフェイスの TCP 圧縮解除統計情報をリセットします。

hw-module rpm udp-comp

UDP ヘッダー圧縮を有効にします。このコマンドの no バージョンは UDP 圧縮を無効にします。デフォルトでは、cRTP が有効な場合 cUDP は有効です。

ip rtp compression-connections < number >

インターフェイスでサポートする cRTP/cUDP ヘッダー圧縮接続の総 を指定します。デフォルトは 16、最大値は 1000 です。このコマンドの no バージョンは、デフォルト(16)を復元します。

ip rtp header-compression iphc-format

インターフェイス上で、 iphc 形式を使用した cRTP/cUDP ヘッダー圧縮を有効にします。このコマンドの no バージョンは、ヘッダー圧縮を無効にします。

ppp iphc max-time

IPHC フローのタイムアウト値を設定します。デフォルトは 5 秒に設定されています。このコマンドの no バージョンは、デフォルトのタイムアウト値を復元します。

show pxf cpu queue < qid >

cTCP キューの専用キュー ID( qid) を使用します。

show pxf cpu queue RP

ルート プロセッサにパントされた cTCP パケットを表示します。

show pxf cpu statistics crtp [interface]

インターフェイスのすべての PXF IPHC 統計情報を表示します。ルート プロセッサが行うすべての処理の統計値は、この情報には反映されません。

show int <interface> rpmxf-iphc-db

デバッグ対象のインターフェイス IPHC データベースを表示します。

show ip rtp header-compression [interface]

インターフェイスのすべての統計情報を表示します。

show ip tcp header-compression [interface]

インターフェイスの TCP 圧縮解除統計情報を表示します。

show ip rtp header-compression および show ip tcp header-compression コマンドは、次のような IPHC 統計情報を表示します。

 

表10-3 IPHC 統計情報

統計情報
説明

Rcvd:

total

デコンプレッサが処理した総パケット数。

compressed

受信した圧縮 cRTP/cUDP パケット数。

status msgs

受信したコンテキスト ステータス メッセージ。このメッセージは、圧縮パケットのヘッダーに格納されたシーケンス番号がデコンプレッサが予期するものと異なる場合にデコンプレッサが送信します。また、フローがデコンプレッサでタイムアウトとなり、タイムアウトに対する応答としてコンプレッサが完全なヘッダーを送信しなかった場合にも、このメッセージが送信されます。

dropped

エラーのため廃棄された圧縮パケットの数を示します。

Sent:

total

コンプレッサが処理した総パケット数。

compressed

送信した圧縮 cRTP/cUDP パケット数。

status msgs

送信したコンテキスト ステータス メッセージ。このメッセージは、デコンプレッサが、受信した圧縮パケットにシーケンス番号の問題を見つけた場合に送信します。

Connect:

collisions

再試行の後に空の接続 ID が見つからない場合に送信した非圧縮パケットの数。

rx slots、tx slots

仮想アクセス インターフェイス上の cRTP/cUDP 接続の数を示します。この数は、PPPoATM またはマルチリンク PPP の最終ネゴシエート値を表します。

IPHC の例

次の例は IPHC 情報を表示しています。

show pxf cpu statistics crtp [interface]

Interface Virtual-Access3:
Rcvd: compressed : 0 pkts / 0 bytes
fullheader : 0 pkts / 0 bytes
dropped : 0 pkts
cs (status) : 0 pkts
Sent: compressed : 0 pkts / 0 bytes
fullheader : 0 pkts / 0 bytes
uncompressed: 0 pkts / 0 bytes
cs (status) : 0 pkts
Collisions : 0 pkts
Punted to RP : 0 pkts (IP Options/RTP ext/CSRC)
Compressed TCP in : 0 pkts
Max CID : 1000
Cids in use : 0
Timeout (compr) : 9
Timeout (decompr) : 8
 

show int <interface> rpmxf-iphc-db

Interface : Virtual-Access3
IPHC enabled: yes IPHC id: 1 vcci: 15 states: 0 hashMask: 0x3E8
 
Tx stats in shadow memory:
compressedout :pkts = 0 , bytes = 0
uncompressedout :pkts = 0 , bytes = 0
fullheaderout :pkts = 0 , bytes = 0
cs_packet_rcvd 0 num_cid_collisions 0
 
Rx stats in shadow memory:
compressedin :pkts = 0 , bytes = 0
fullheaderin :pkts = 0 , bytes = 0
compressed_tcp_in :pkts = 0
cs_packet_sent 0 punted(IP options/RTP ext/CSRC list) 0
tossed packets(bad CRC) 0
IPHC enabled on PXF(read from PXF): yes
 

IP 無線アクセス ネットワークの有効化

IP Radio Access Network(IP-RAN; IP 無線アクセス ネットワーク)は、IP 通信を無線アクセス ネットワーク向けに最適化する機能の集まりです。IP-RAN には次のような機能があります。

IPHC パケット フローにおける IP ID フィールド デルタの送信の無効化

cUDP シーケンス番号不一致に関する CS パケットの抑制

フロー期限切れタイマー

cUDP 圧縮のみの実行

動的帯域幅ネゴシエーション

これらの機能は、基本的に、帯域幅利用を無線アクセス ネットワーク向けに最適化します。この最適化は、T1/E1 回線などコストが重視される WAN リンクを介した音声トラフィックに効果を発揮します。

IP-RAN をサポートしているコマンド

IP-RAN をサポートしている CLI コマンドは次のとおりです。

 

表10-4 IP-RAN 設定コマンド

コマンド
説明

hw-module rpm ipran

IP-RAN 機能を有効にします。このコマンドの no バージョンは IP-RAN を無効にします。

ppp iphc max-time

IPHC フローのタイムアウト値を設定します。このコマンドの no バージョンは、デフォルトのタイムアウト値を復元します。これは、IP-RAN だけでなく、すべての IPHC フローに適用される汎用機能です。

show rpm ipran

IP-RAN の動作ステータス(有効か無効か)を表示します。

show ip rtp header-compression virtual-access

ヘッダー圧縮統計情報を表示します。

hw-module rpm ipran

ルート プロセッサ モジュール(RPM-XF)で IP 無線アクセス ネットワーク(IP-RAN)機能を有効にするには、グローバル設定モードで hw-module rpm ipran コマンドを使用します。IP-RAN を無効にするには、このコマンドを no 形式で使用します。

hw-module rpm ipran

no hw-module rpm ipran

このコマンドは、RPM-XF カードの IP-RAN 機能を有効にします。IP-RAN 機能は、無線アクセス ネットワークを全面的に利用できるよう、MPSM を介したマルチリンク PPP 接続を最適化します。

ppp iphc max-time

IPHC フローが期限切れになるまでの最大待ち時間を指定するには、インターフェイス設定モードで ppp iphc max-time コマンドを使用します。デフォルト値に戻すには、 no 形式でこのコマンドを使用します。

ppp iphc max-time length-of-time

no ppp iphc max-time

 

length-of-time

IPCH フローが期限切れになるまでの待ち時間を秒単位で指定します。指定できる時間の範囲は 0~255 秒です。デフォルト値は 5 秒です。

ppp iphc max-time コマンドは、アイドル状態になっているフローのフロー コンテキスト ID を期限切れにすることにより、IPHC パフォーマンスを改善できます。 length-of-time で指定した時間の間、フローに対してアクティビティがなかった場合、そのフロー コンテキスト ID は新しいフローで再利用できます。このコマンドは、IP-RAN ソリューションだけでなく、すべての IPHC フローに適用されます。

このコマンドが実装する機能は、 ip header-compression max-time コマンドと同じです。

show rpm ipran

IP 無線アクセス ネットワーク(IP-RAN)機能の動作ステータスを表示するには、特権 EXEC モードで show rpm ipran コマンドを使用します。

show rpm ipran

このコマンドは、IP-RAN の動作ステータス(有効か無効か)を表示します。

show ip rtp header-compression

Compressed Real-Time Transport Protocol(CRTP; 圧縮リアルタイム転送プロトコル)を表示するには、特権 EXEC モードで show ip rtp header-compression コマンドを使用します。

show ip rtp header-compression [ detail ] [ interface-type interface-number ]

 

detail

(オプション)各接続の詳細を表示します。

interface-type interface-number

(オプション)インターフェイスのタイプと番号。RPM-XF の場合は、 virtual-access とインターフェイス番号を入力します。

特定のインターフェイス上での RTP ヘッダー圧縮についての情報を取得するときには、このコマンドを入力します。 detail キーワードを指定すると、次の情報が表示されます。

 

表10-5 仮想アクセス統計情報

統計情報
説明

Max Header

リンクに送信できる完全なヘッダーの最大サイズ。完全なヘッダーとは、圧縮なしで送信される IP パケットのことです。完全なヘッダーには、そのフローで使用されるコンテキスト ID など追加の情報が含まれています。RPM-XF ではサポートしていません。

Max Time

特定のフローに対して完全なヘッダーを送信するときの最大時間間隔。この時間が経過した後、該当のフローで完全なヘッダーを 1 つ送信することが必要です。RPM-XF ではサポートしていません。

Max Period

圧縮パケット数で表した最長期間。この期間を超過すると、該当のフローで完全なヘッダーを1 つ送信することが必要です。RPM-XF ではサポートしていません。

Feedback

CS パケットの送受信を有効にします。CS パケットは、デコンプレッサがコンプレッサにパケット損失について通知するためのフィードバック機構として使用されます。

Tx Context

Tx 方向で現在使用されているフローの数。

Rx Context

Rx 方向で現在使用されているフローの数。

IP-RAN の設定

IP-RAN ソリューションは、RPM-XF および MPSM カードを使用します。MPSM カードは、RPM-XF ルータを接続して、MLPPP(マルチリンク PPP)リンクを介して他のルータにアクセスできるようにします(IP-RAN ソリューション を参照)。

図10-3 IP-RAN ソリューション

 

MPSM と RPM-XF の間は、PPPoATM カプセル化を使用した ATM PVC で接続されます。RPM-XF でスレーブ側接続エンドポイントを作成するには、MLPPP バンドル用の帯域幅情報が必要です。MPSM でマスター側接続エンドポイントを作成するには、RPM で使用されている NSAP アドレスと VPI/VCI が必要です。

ここでは、RPM-XF の設定手順を詳しく説明し、MPSM の設定手順の概要を示します。

IP-RAN 向けの RPM-XF の設定

IP-RAN の設定では次の作業を行います。

QoS サービス ポリシーの定義

IP-RAN の有効化と設定

PVC の設定

QoS サービス ポリシーの定義

QoS サービス ポリシーを定義するには、次の手順を実行します。


ステップ 1 ネットワーク上で使用されているデータ タイプについて QoS クラスを定義します。音声およびデータ クラスの一般的な定義の例を次に示します。

Router(config)# class-map <data>
Router(config-cmap)# match ip precedence <0>
Router(config-cmap)# class-map <voice>
Router(config-cmap)# match ip precedence <1>
 

ステップ 2 ポリシー マップを設定します 動的帯域幅機能を最大限に活かせるよう、クラスの帯域幅をパーセンテージで指定します。一般的なポリシーの例を次に示します。

Router(config)# policy-map <ipran-policy-name>
Router(config-pmap)# class <voice>
Router(config-pmap-c)# priority
Router(config-pmap-c)# police cir percent <1-100>
Router(config-pmap)# class <data>
Router(config-pmap-c)# bandwidth percent <1-100>
 


 

IP-RAN の有効化と設定

IP-RAN を有効にして設定するには、次の手順を実行します。


ステップ 1 IP-RAN 機能セットを有効にします。

Router(config)# hw-module rpm ipran
 

ステップ 2 PVC エンドポイントに対して仮想テンプレートを設定します。これらのテンプレートにより、IPHC の有効化と設定を行います。

Router(config)# interface VirtualTemplate <1>
Router(config-if)# ip address <address> <mask>
Router(config-if)# ip tcp header-compression iphc-format
Router(config-if)# ppp iphc max-time <1-255>
Router(config-if)# ip rtp header-compression iphc-format
Router(config-if)# ip rtp compression-connections <1-1000>
 

ステップ 3 SAR ベースの QoS に Switch1 を設定します。動的帯域幅機能はこのモードで実行する必要があります。

Router(config)# interface Switch1
Router(config-if)# atm sar-based-cbwfq

PVC の設定

IP-RAN ソリューションの場合、PVC を使って RPM-XF を MPSM-16-T1E1 に接続します。IP-RAN が有効なときには、PVC に関して次の制約事項が適用されます。

Cisco PPP over AAL5 カプセル化は、MPSM-16-T1E1 カードでのみ使用できます。FRSM または MPSM (ASAP) カードで Cisco PPP over AAL5 カプセル化を使用するには、IP-RAN を無効にしてください。

PVC を MLP-LFI 向けに設定することはできません。

動的帯域幅機能は、RPM-XF 上のすべての PVC スレーブ側接続エンドポイントに適用されます。

PVC に接続するサービス ポリシーの場合、帯域幅は絶対値ではなくパーセンテージで設定する必要があります。

RPM-XF と MPSM-16-T1E1 の間に IP-RAN ソリューション向けの PVC を作成するには、次の手順を実行します。


ステップ 1 Switch1 上にポイントツーポイント サブインターフェイスを作成します。RPM-XF は、このインターフェイスを介してトラフィックをエンドポイント ルータにルーティングします。

Router(config)# interface Switch1.1 point-to-point
 

ステップ 2 このサブインターフェイスに PVC を追加し設定します。サービス タイプを vbr-rt または vbr-nrt に設定し、対応する MLPPP バンドルの帯域幅(PCR および SCR)とバースト サイズ(MBS)を指定します。Cisco PPP over AAL5 カプセル化と適切な仮想テンプレートを適用します。最後に、「QoS サービス ポリシーの定義」で作成したポリシーマップを適用します。

Router(config-subif)# pvc <vpi/vci>
Router(config-if-atm-vc)# vbr-nrt <pcr> <scr> <mbs>
Router(config-if-atm-vc)# encapsulation aal5ciscoppp Virtual-Template<1>
Router(config-if-atm-vc)# service-policy output <ipran-policy-name>
 

ステップ 3 スレーブ側接続エンドポイントを作成し、その情報を表示します。

Router(config-subif)# switch connection vcc <vpi> <vci> master remote
 
Router# show switch connection vcc <vpi> <vci>
----------------------------------------------------------
Alarm state : No alarm
Local Sub-Interface : 1
Local VPI : 0
Local VCI : 101
Remote NSAP address : default
Local NSAP address : 47.009181000000000164444B61.000001011802.00
Remote VPI : 0
Remote VCI : 0
Routing Priority : N/A
Max Cost : N/A
Preferred Route Id : N/A
Directed Route : N/A
Percent Util : 100
Remote PCR : 34400
Remote SCR : 34400
Remote MBS : 1024
Local PCR : 34400
Local SCR : 34400
Remote Percent Util : 100
Connection Master : Remote
Slave type : N/A
Synch Status : inSynch
Auto Synch : OFF
Admin Status : UP
Conn-Id : 0
Update Count : 140840001
 

ステップ 4 ローカル NSAP アドレス、VPI、VCI、リモート PCR、およびリモート SCR の値(太字で表示)を記録します。これらの値は、MPSM でエンドポイントに追加する必要があります。

ステップ 5 MPSM 接続を該当の PVC に追加します。詳細については、「IP-RAN 向けの MPSM カードの設定」を参照してください。

ステップ 6 PXM カードの管理セッションを開き、接続を確認します。

MGX.PXM> dspcons
Local Port Vpi.Vci Remote Port Vpi.Vci State Owner Pri Persisteny
----------------------+------------------------+---------+-------+---+----------
1:1.2:2 0 101 27.65535 8 1000 OK SLAVE - Persistent
Local Addr: 47.009181000000000164444b61.000001011802.00
Remote Addr: 47.009181000000000164444b61.0000011b1fff.00
Preferred Route ID:- Cast Type: P2P
 


 

ステータスの表示

IP-RAN ステータスを表示するには show rpm ipran コマンドを使用します。IP-RAN 統計情報を表示するには、IP-RAN 接続に対応する仮想アクセス インターフェイスを指定して show ip rtp
header-compression virtual-access
コマンドを使用します。

IP-RAN 向けの MPSM カードの設定

ここでは、MPSM-16T1E1 カードに回線、バンドル、および接続を設定するためのクイックスタートを紹介します。詳細については、『 Cisco ATM and Frame Relay Services (MPSM-T3E3-155 and
MPSM-16T1E1) Configuration Guide and Command Reference for MGX Switches, Release 5.1
』の「Adding a Connection to an MP Bundle for the IP-RAN Solution」を参照してください。

 

コマンド
説明

ステップ 1

MPSM カードとの間に設定セッションを確立します。

GROUP 1 以上の特権を持つユーザ名を使用してください。

ステップ 2

addmpbundle

バンドルを追加します。

ステップ 3

addppplink

バンドルに PPP リンクを追加します。

ステップ 4

addpppmux

バンドルに PPPMux を追加します。

ステップ 5

addcon

バンドルを RPM-XF に接続します。

addcon コマンドのパラメータのうち IP-RAN PVC に適用されるものを 表10-6 に示します。

ステップ 6

dspcon

接続情報を表示します。

MPSM でマスター側接続エンドポイントを追加するための addcon コマンドの引数を 表10-6 に示します。 addcon のその他の引数は MLPPP 接続では使用しません。

 

表10-6 IP-RAN ソリューションに適用される addcon コマンドのパラメータ

パラメータ
説明

ifnum

設定する接続のローカル側の論理インターフェイスを、1~16 の範囲で指定します。

dlci

Data Link Connection Identifier(DLCI; データ リンク接続識別子)の値を指定します。すべての IP-RAN 接続に対して値 1000 を使用してください。

chanType

値 5 を使用してフレーム転送チャネル タイプを指定します。

serviceType

接続の ATM サービス タイプを指定します。IP-RAN 接続の場合、rtVBR と nrtVBR のみがサポートされています。次のいずれか 1 つだけを選択します。

2 = rtVBR

3 = nrtVBR

mastership

接続の役割。IP-RAN 接続を追加するときには、接続のマスター側は MPSM カードにプロビジョニングし、接続のスレーブ側は RPM-XF 側にプロビジョニングします。値 1 を使用してマスターを選択します。

cir

認定情報レート(bps)。範囲は 0~1984001。この引数は MPSM でのバンドルの帯域幅に設定します。

-slave

接続の RPM-XF エンドポイントのスレーブ側接続識別子(形式は
nsap_address.vpi.vci )。NSAP アドレスを見つけるには、RPM-XF の show switch
connection vcc
<vpi> <vci> コマンドを使用します。該当の NSAP アドレスから小数点をすべて削除した後、RPM-XF 接続エンドポイントの vpi と vci を小数点で区切って追加します。

-lpcr

ローカル PCR。値の範囲は 10~104268 cps です。RPM-XF スレーブ側接続の rpcr セル レートに設定します。「PVC の設定」を参照してください。

-lscr

ローカル SCR。値の範囲は 10~104268 cps です。RPM-XF スレーブ側接続の rscr セル レートに設定します。「PVC の設定」を参照してください。

IP-RAN の例

一般的な IP-RAN の設定例を次に示します。

設定例

IP-RAN を有効にして、関連する QoS およびスイッチパラメータを設定する例を次に示します。

 
Router> enable
Router# configure terminal
 
Router(config)# hw-module rpm ipran
 

帯域幅をパーセンテージのみで指定して、レイヤ 3 の QoS を設定します。詳細については、「クラス マップのコマンド」「ポリシー マップのコマンド」を参照してください。

Router(config)# class-map data
Router(config-cmap)# match ip precedence 0
Router(config-cmap)# class-map voice
Router(config-cmap)# match ip precedence 1
 
Router(config)# policy-map foo
Router(config-pmap)# class voice
Router(config-pmap-c)# priority
Router(config-pmap-c)# police cir percent 50
Router(config-pmap-c-police)# conform-action transmit
Router(config-pmap-c-police)# exceed-action drop
Router(config-pmap-c-police)# class data
Router(config-pmap-c)# bandwidth percent 35
Router(config-pmap-c)# class class-default
Router(config-pmap-c)# bandwidth percent 15
 

IPHC 設定を定義する仮想テンプレートを設定します。

 
Router(config)# interface Virtual-Template1
Router(config-if)# ip address 192.168.1.1 255.255.255.0
Router(config-if)# ip tcp header-compression iphc-format
Router(config-if)# ip ospf hello-interval 1
Router(config-if)# ip ospf dead-interval 3
Router(config-if)# keepalive 1
Router(config-if)# ppp timeout retry 1
Router(config-if)# ppp iphc max-time 8
Router(config-if)# ip rtp header-compression iphc-format
Router(config-if)# ip rtp compression-connections 1000
 

SAR ベースの QoS 向けのスイッチを設定します。

Router(config-if)# interface Switch1
Router(config-if)# atm sar-based-cbwfq
 

サブインターフェイスと PVC を設定します。この例の場合、バンドルの帯域幅は 6,144.000 bps です。

Router(config-if)# interface Switch1.1 point-to-point
Router(config-subif)# pvc 0/101
Router(config-if-atm-vc)# encapsulation aal5ciscoppp Virtual-Template1
Router(config-if-atm-vc)# vbr-nrt 6144 6144 1024
Router(config-if-atm-vc)# service-policy output foo
Router(config-if-atm-vc)# switch connection vcc 0 101 master remote
 

表示例

Router# show ip rtp header-compression virtual-access 1 detail
RTP/UDP/IP header compression statistics:
Configured:
Max Header 168 Bytes, Max Time 5 Secs, Max Period 256 Packets, Feedback On
Negotiated:
Max Header 168 Bytes, Max Time 5 Secs, Max Period 256 Packets, Feedback On
TX contexts:
RX contexts: