このテクニカル ノートでは、フレームリレーにトラフィック シェーピングを実装する際の、プライオリティ キューを設定するための設定例を紹介します。Virtual Circuit(VC; バーチャル サーキット)レベルとインターフェイスレベルの両方におけるプライオリティ キューイングのメカニズムについて説明します。
このドキュメントは、Data-Link Connection Identifier(DLCI; データリ ンク接続識別子)と、Committed Information Rate(CIR; 認定情報レート)や Committed Burst などのトラフィック シェーピングのパラメータを含めたフレームリレーの知識を前提としています。テクノロジーの概要については『Cisco IOS ワイドエリア ネットワーキング設定ガイド』の「フレームリレーの設定」を参照してください。
このドキュメントに特有の要件はありません。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
ドキュメントの表記法の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。
Cisco IOS® のバージョンに応じて、フレームリレーインターフェイスは、VC(またはサブインターフェイス)にプライオリティキューを作成するための3つのメカニズムをサポートします。
frame-relay priority-group - このコマンド構文は、シスコ オリジナルのプライオリティ キューイング メカニズムを使用します。
frame-relay ip rtp priority - このコマンド構文は、ある範囲の UDP 宛先ポートに属する RTP パケット フローのために、完全優先キューを予約します。
priority - この最新の構文は、低遅延キューイング機能を採用し、モジュラ Quality of Service(QoS)Command-Line Interface(CLI; コマンドライン インターフェイス)のコマンド構造を使用します。
上のすべてのコマンドを使用し、フレームリレーのマップ クラス内にプライオリティ キュー メカニズムを設定します。ここでは、シェーピング値を設定する複数のコマンドがサポートされています。シェーピングは、 VC の出力レートを制限し、VC に輻輳のコンセプトを割り当てます。ルータは、VC から送出されるパケットの数がその VC の出力レートを超えたときにパケットのキューイングを開始します。超過パケットはキューに保管されます。そのキュー内で伝送を待っているパケットにキューイング方式を適用できます。
当初、フレームリレー インターフェイスは、 priority-list および priority-group コマンドで設定される、シスコの最初のプライオリティ キューイング メカニズムをサポートしていました。詳細については、『フレームリレーとフレームリレー トラフィック シェーピングの設定』を参照してください。
フレームリレー VC に従来のプライオリティ キューイングを設定するには、次の手順を使用します。
frame-relay traffic-shaping コマンドを使用して、シリアル インターフェイスの Frame Relay Traffic Shaping(FRTS; フレームリレー トラフィックシェーピング)を有効にします。インターフェイス上のすべての Permanent Virtual Circuit(PVC; 相手先固定接続)と Switched Virtual Circuit(SVC; 相手先選択接続)は、デフォルトのトラフィック シェーピング値を継承し、VC 単位のキューを作成します。
R4-4K(config)# interface serial0 R4-4K(config-if)# frame-relay traffic-shaping
フレームリレーのマップクラスを設定します。frame-relay priority-group コマンドを使用して、従来の Cisco IOS プライオリティ キューイングを指定します。
R4-4K(config)# map-class frame-relay ? WORD Static map class name R4-4K(config)# map-class frame-relay priority R4-4K(config-map-class)# frame-relay ? adaptive-shaping Adaptive traffic rate adjustment, Default = none bc Committed burst size (Bc), Default = 56000 bits be Excess burst size (Be), Default = 0 bits cir Committed Information Rate (CIR), Default = 56000 bps custom-queue-list VC custom queueing fecn-adapt Enable Traffic Shaping reflection of FECN as BECN mincir Minimum acceptable CIR, Default = 56000 bps priority-group VC priority queueing traffic-rate VC traffic rate R4-4K(config-map-class)# frame-relay priority-group ? <1-16> Priority group number
CIR および minCIR を含む、シェーピング パラメータを設定します。
R4-4K(config-map-class)# frame-relay traffic-rate ? <600-45000000> Committed Information Rate (CIR) R4-4K(config-map-class)# frame-relay traffic-rate 56000 ? <0-45000000> Peak rate (CIR + EIR)
ポイントツーポイントまたはマルチポイントのサブインターフェイスを作成し、DLCI 番号を割り当てます。
R4-4K(config)# interface s0.20 multi R4-4K(config-subif)# frame-relay interface-dlci ? <16-1007> Define a DLCI as part of the current subinterface R4-4K(config-subif)# frame-relay interface-dlci 400
プライオリティ キューイングを設定したマップ クラスを VC に適用します。
R4-4K(config-fr-dlci)# class ? WORD map class name R4-4K(config-fr-dlci)# class priority
show traffic-shape コマンドで設定を確認します。
R4-4K# show traffic-shape Interface Se0.20 Access Target Byte Sustain Excess Interval Increment Adapt VC List Rate Limit bits/int bits/int (ms) (bytes) Active 400 56000 875 56000 0 125 875 -
注:この設定では、frame-relay traffic-shapeコマンドを使用してCIRを指定します。このコマンドを使用すると、ルータはバースト値を自動的に計算します。バースト値を指定するには、frame-relay bc out および frame-relay be out を含めて、「マップクラスの設定」に記載されているコマンドを使用します。
Cisco IOS 12.0(7)T では、モジュラ QoS CLI のコマンドを使用した完全優先キューの設定をサポートする 低遅延キューイング (LLQ)機能が導入されました。フレームリレーVCレベルでのLLQのサポートは、12.1(2)Tで導入されました。『フレームリレー機能モジュールの低遅延キューイング』を参照してください。
注:この機能にはFRTSが必要です。
LLQ は、frame-relay ip rtp priority および frame-relay priority-group 機能のよりフレキシブルなスーパーセットと考えられます。詳細については、『Cisco IOS 設定ガイド』の「輻輳管理の概要」章にある「フレームリレーのための低遅延キューイング 」を参照してください。
フレームリレーにおける LLQ の設定手順を確認します。
frame-relay traffic-shaping コマンドで、シリアル インターフェイスの FRTS を有効にします。インターフェイス上のすべての PVC および SVC は、デフォルトのトラフィック シェーピング値を継承し、VC 単位のキューを作成します。
Router(config)# interface serial0 Router(config-if)# frame-relay traffic-shaping
class-map および policy-map コマンドで、サービス ポリシーを設定します。完全優先クラスを作成するため、priority コマンドを指定し、そのクラスに割り当てる帯域幅量を指定します(kbps または PVC の帯域幅のパーセンテージ)。
Router(config)# class-map class-map-name Router(config-cmap)# match access-group {access-group | name access-group-name} Router(config)# policy-map policy-map Router(config-pmap)# class class-name Router(config-pmap-c)# priority bandwidth-kbps
マップクラスを設定し、そのクラスにサービス ポリシーを付加します。
次の例では、マップクラスの名称は sample、出力されるサービス ポリシーの名称は llq です。
router(config)# map-class frame-relay sample router(config-map-class)# service-policy output llq
DLCI 設定モードで class コマンドを使用し、マップ クラスを VC に適用します。
router(config)# interface serial0.5 router(config-if)# frame-relay interface-dlci 100 router(config-if-dlci)# class sample
次のコマンドを使用して、設定を確認し、ポリシーの結果を監視します。
show frame-relay pvc {dlci #} - FRTS とサービス ポリシーの情報、さらに、フラグメンテーション、送受信パケット数、および BECN/FECN/DE ビットが設定されているフレーム数などのすべての VC コンポーネントの統計を表示します。
show policy-map interface sX/0.X dlci {#} - 特定の VC におけるポリシー関連の統計だけを表示します。
LLQ に直接関連しないポリシー(たとえば、トラフィック シェーピング、IP 優先順位の設定、およびポリシング)は、フレームリレー VC の class-map および policy-map コマンドではサポートされません。これらのポリシーを設定するには、マップ クラスのコマンドなど他の設定メカニズムを使用する必要があります。次の class-map および policy-map コマンドだけがサポートされます。
match class-map 設定コマンド
priority、bandwidth、queue-limit、random-detect、および fair-queue policy-map 設定コマンド
bandwidth および priority コマンドで、接続に利用できる帯域幅の合計が算出される際、エンティティがシェーピングされたフレームリレー PVC である場合は次のガイドラインが施行されます。
Minimum Acceptable Committed Information Rate(minCIR; 最小許容認定情報 レート)が設定されていない場合は、CIR の 2 分の 1 が計算に使用されます。このメカニズムが選択されているのは、多くのフレームリレーの設定でポート速度を超えるシェーピング レートが使用されるためで、これにより設定された CIR が保証されない場合があります。
minCIR が設定されている場合は、計算に minCIR 設定が使用されます。
「これらのコマンドにおける帯域幅の計算方法」を参照してください。1 つのポリシーマップ内のすべてのクラスに割り当てられる合計帯域幅は、VC に設定されている minCIR を超えず、frame-relay voice bandwidth および frame-relay ip rtp priority commands で予約されている帯域幅よりも少なくなければなりません。
リンク上の追加オーバーヘッドにどのくらい帯域幅が必要かがわかっていて、帯域幅をできる限り音声トラフィックにあてたい場合は、max-reserved-bandwidth コマンドを使用して、割り当ての最大値である(すべてのクラスまたはフローに割り当てられる帯域幅合計の)75 % を無効にできます。一定量の帯域幅を無効にしたい場合は、レイヤ 2 オーバーヘッドを含むトラフィック制御およびベストエフォート型をサポートするのに、十分な帯域幅が残るように注意してください。
LLQ を設定するには、モジュラ QoS CLI (MQC) のコマンドを使用して、複数のトラフィック クラスと 1 つ以上の QoS 機能を含むトラフィック ポリシーマップを作成します。現在の IOS のバージョンでは、service-policy コマンドでポリシーマップをインターフェイス、サブインターフェイス、および VC に適用することが、フレーム リレー インターフェイスによってサポートされています。次の表に、サポートされるポリシーの組み合わせを示します。
入力ポリシー | 出力ポリシー |
---|---|
注:メインインターフェイスとサブインターフェイスはピアインターフェイスではなく、サービスポリシーを同時にサポートすることはできません。 |
|
IP Real-Time Protocol(RTP)のプライオリティ機能により、RTP で使用する UDP ポート番号の範囲によって Voice over IP(VoIP)パケットを簡単に照合し、音声パケットをカプセル化できます。VoIPトラフィックは、既知のUDPポート範囲である16384 ~ 32767を使用します。使用される実際のポートはエンドデバイスまたはゲートウェイ間で動的にネゴシエートされますが、すべてのCisco VoIP製品は同じポート範囲をを使用します。ルータは VoIP トラフィックを認識すると、そのトラフィックを完全優先キューに入れます。
frame-relay ip rtp priority コマンドを使用すると、IP RTP プライオリティ機能がフレームリレーのマップ クラスに拡張され、PVC 単位で一意の UDP ポート範囲を対応させることができます。
フレームリレーの LLQ と IP RTP プライオリティ機能は、補足的な機能を提供するものであり、同時に設定することが可能であることに注意してください。トラフィックが指定された UDP ポート範囲と一致した場合、そのトラフィックは音声として分類され、LLQ プライオリティ キューとインターフェイス プライオリティ キューに入ります。トラフィックが指定された RTP ポート範囲から外れた場合、そのトラフィックはサービス ポリシーによって分類されます。
次に、フレームリレーのマップ クラスと frame-relay ip rtp priority コマンドを使用した一般的な設定例を示します。次の表で、このコマンドのパラメータを説明します。
map-class frame-relay VoIPoFR frame-relay fragment 640 frame-relay ip rtp priority 16384 16383 120 no frame-relay adaptive frame-relay cir 256000 frame-relay bc 2500 frame-relay fair-queue
パラメータ | パラメータの設定方法 |
---|---|
16384 | パケットが送信される最初の UDP ポート番号または最小のポート番号。VoIP では、この値を 16384 に設定します。 |
16383 | UDP 宛先ポートの範囲。UDP ポート番号が最大となるようにこの値を追加します。VoIP では、この値を 16383 に設定します。 |
120 | プライオリティ キューの最大許容帯域幅(kbps)。この数字は同時コール数に基づいて設定します。 |
IP RTP プライオリティ機能では、音声コールのポートを知る必要はありません。むしろ、この機能によって LLQ プライオリティ キューに入るトラフィックのポート範囲を識別することができます。さらに、すべての音声トラフィックに完全優先サービスを提供するため、音声ポート範囲すべて(16384 〜 32767)を指定することもできます。IP RTP プライオリティは、1.544 Mbps より低速のリンクで特に有効です。
このドキュメントでこれまで説明したプライオリティ キューイング メカニズムは、パケットのヘッダーとコンテンツを照合し、フレームリレー PVC 内のパケットに優先順位を付けるものです。フレームリレー PVC Interface Priority Queueing(PIPQ)機能の目的は、インターフェイス キューイング レベルで PVC に優先順位を付けることです。つまり、複数の PVC が 1 つのインターフェイスに設定されている場合、それらは物理メディア上から送信される前にインターフェイス出力キューにデキューされます。
PIPQ を設定する 2 つの手順を次に示します。
注:Cisco IOS 12.2(6)では、フレームリレーのメインインターフェイスでPIPQがサポートされています。
フレームリレー マップ クラスで frame-relay interface-queue priority コマンドを設定し、適切な PVC プライオリティを割り当てます。
Router(config)# map-class frame-relay map-class-name Router(config-map-class)# frame-relay interface-queue priority {high | medium | normal | low}
PIPQ を有効にします。
Router(config)# interface serial number Router(config-if)# encapsulation frame-relay [cisco | ietf] Router(config-if)# frame-relay interface-queue priority [high-limit medium-limit normal-limit low-limit]
Cisco IOS 12.2(2)T では、クラスベース マーキングのコマンド シンタックスの一部として set fr-de コマンドが導入されています。詳細については、『クラスベース マーキング』を参照してください。
Cisco DDTS ID CSCdt92898 では、バス エラーによるルータのリロードの問題が解決されています。このリロードは、Voice over Frame Relay(VoFR)パケットを伝送するフレームリレー インターフェイスに、LLQ の出力サービス ポリシーが適用された際に発生します。この不具合は、多くの Cisco IOS 12.2 リリース トレインで修正されています。