A. QoS とは、Frame Relay、Asynchronous Transfer Mode(ATM)、Ethernet と 802.1 のネットワーク、SONET、IP ルーテッド ネットワークなどの多様な基本テクノロジーによる、他のトラフィックよりもよいサービスを特定のネットワーク トラフィックに提供するネットワークの機能を意味します。
QoS は、データ スループットのキャパシティ(帯域幅)、遅延のばらつき(ジッタ)、遅延について、要求した予測可能なサービスレベルをアプリケーションが受けることができるようにする技術の集まりです。QoS 機能では、特に次の方法を取り入れることにより、より高品質で予測が可能なネットワーク サービスを提供しています。
-
専用に割り当てられた帯域幅のサポート。
-
損失特性を改善。
-
ネットワークの輻輳を回避および管理。
-
ネットワーク トラフィックのシェーピング。
-
ネットワーク全体にトラフィックの優先順位を設定。
Internet Engineering Task Force(IETF; インターネット技術特別調査委員会)では、QoS に関して次の 2 種類のアーキテクチャを定義しています。
-
統合サービス(IntServ)
-
差別化サービス(DiffServ)
IntServ は、Resource Reservation Protocol(RSVP; リソース予約プロトコル)を使用して、ネットワークにわたるエンドツーエンドのパス上にあるデバイスに対して、アプリケーション トラフィックに QoS を行う必要があることを信号で示します。経路上にあるすべてのネットワーク デバイスで必要な帯域幅が予約できると、送信元のアプリケーションは送信を開始します。Request for Comments(RFC; コメント要求)2205 では RSVP を定義し、また RFC 1633 では IntServ を定義しています。
DiffServ は、集約化およびプロビジョニングされた QoS に重点を置いています。DiffServ では、アプリケーションの QoS 要求として信号を送信する代わりに、IP ヘッダー内の DiffServ Code Point(DSCP; DiffServ コード ポイント)を使用して、必要な QoS のレベルを示します。Cisco のルータは、Cisco IOS(R) ソフトウェア リリース 12.1(5)T で DiffServ 準拠になっています。詳細は、次のドキュメントを参照してください。
』で説明されています。リアルタイムでインタラクティブなトラフィックをサポートするには、遅延とジッタの両方を制御し、最小化する必要があります。
』を参照してください。) Cisco 7500 や 12000 シリーズなどのハイエンドの分散プラットフォームの受信インターフェイスでは、発信インターフェイスへスイッチされたトラフィックのうち超過したものを、受信インターフェイスのスイッチングの決定に従って、自身のパケット バッファに保存します。まれに、通常は受信インターフェイスから低速の発信インターフェイスへパケットが送られている場合、パケット メモリが使い尽くされると無視エラーが増加する場合があります。また、過度の輻輳によって出力キューの廃棄が引き起こされる場合があります。ほとんどの場合、入力キューの廃棄には、他に根本原因があります。廃棄をトラブルシューティングする場合の詳細は、次のドキュメントを参照してください。
A. 均等化キューイングは、アクティブな会話間、あるいは、IP フロー間で、インターフェイスの帯域幅の均等な割り当てを試みます。パケットは会話識別番号で識別されてサブキューに分類されます。このとき、IP ヘッダーのフィールドやパケットの長さに基づいて、ハッシュ アルゴリズムが使用されます。重み付けは次のように計算されます。
K は、Cisco IOS 12.0(4)T 以前のリリースでは 4096、12.0(5)T 以降のリリースでは 32384 です。
重みが小さいほど、割り当てられる優先順位と帯域幅が高くなります。重みの他、パケットの長さも関係します。
CBWFQ を使用すると、トラフィックのクラスを定義でき、これを最小帯域幅の保証として割り当てることができます。このメカニズムの背後にあるアルゴリズムは、名前が表しているとおり、WFQ です。CBWFQ を設定するには、map-class 文で特定のクラスを定義します。次に、ポリシーマップを使って各クラスにポリシーを割り当てます。このポリシーマップをインターフェイスの発信側に割り当てます。詳細は、次のドキュメントを参照してください。
A. VIP または FlexWAN に十分な SRAM があると仮定して、250 バイトの平均パケット サイズでの最大遅延 500 ミリ秒をもとに、キュー制限が算出されます。帯域幅が 1 Mbps のクラスの例を次に示します。
キュー制限値 = 1000000 / (250 x 8 x 2) = 250
より大きな数の Virtual Circuit(VC; 仮想回線)により使用可能なパケット メモリが減少するにつれて、小さなキュー制限が割り当てられます。
次の例では、Cisco 7600 シリーズ用として FlexWAN に PA-A3 が取り付けられ、2 MB の Permanent Virtual Circuit(PVC; 相手先固定接続)を持つ複数のサブインターフェイスをサポートしています。各 VC にはサービス ポリシーが適用されています。
class-map match-any XETRA-CLASS
match access-group 104
class-map match-any SNA-CLASS
match access-group 101
match access-group 102
match access-group 103
policy-map POLICY-2048Kbps
class XETRA-CLASS
bandwidth 320
class SNA-CLASS
bandwidth 512
interface ATM6/0/0
no ip address
no atm sonet ilmi-keepalive
no ATM ilmi-keepalive
!
interface ATM6/0/0.11 point-to-point
mtu 1578
bandwidth 2048
ip address 22.161.104.101 255.255.255.252
pvc ABCD
class-vc 2048Kbps-PVC
service-policy out POLICY-2048Kbps
Asynchronous Transfer Mode(ATM; 非同期転送モード)インターフェイスでは、インターフェイス全体に対してキュー制限が適用されます。この制限は、使用できるバッファ全体の機能、FlexWAN 上での物理インターフェイスの数、インターフェイスで許される最大キュー遅延です。各 PVC では、PVC の Sustained Cell Rate(SCR; 平均セルレート)または Minimum Cell Rate(MCR; 最小セルレート)に基づいてインターフェイスの制限の一部を適用しています。また、各クラスでは、帯域幅の割り当てに基づいて、PVC の制限の一部を適用しています。
3687 グローバル バッファ装備の FlexWAN では show policy-map interface コマンドによる出力例は次のようになります。この値を表示するには show buffer コマンドを発行します。2 つの Mbps PVC に、それぞれ 50 パケットが、2 つの Mbps の PVC 帯域幅に基づいて割り当てられています(2047/149760 x 3687 = 50)。各クラスには、次の出力で示されているように、50 のうちの一部が割り当てられています。
service-policy output: POLICY-2048Kbps
class-map: XETRA-CLASS (match-any)
687569 packets, 835743045 bytes
5 minute offered rate 48000 bps, drop rate 6000 BPS
match: access-group 104
687569 packets, 835743045 bytes
5 minute rate 48000 BPS
queue size 0, queue limit 7
packets output 687668, packet drops 22
tail/random drops 22, no buffer drops 0, other drops 0
bandwidth: kbps 320, weight 15
class-map: SNA-CLASS (match-any)
2719163 packets, 469699994 bytes
5 minute offered rate 14000 bps, drop rate 0 BPS
match: access-group 101
1572388 packets, 229528571 bytes
5 minute rate 14000 BPS
match: access-group 102
1146056 packets, 239926212 bytes
5 minute rate 0 BPS
match: access-group 103
718 packets, 245211 bytes
5 minute rate 0 BPS
queue size 0, queue limit 12
packets output 2719227, packet drops 0
tail/random drops 0, no buffer drops 0, other drops 0
bandwidth: kbps 512, weight 25
queue-limit 100
class-map: class-default (match-any)
6526152 packets, 1302263701 bytes
5 minute offered rate 44000 bps, drop rate 0 BPS
match: any
6526152 packets, 1302263701 bytes
5 minute rate 44000 BPS
queue size 0, queue limit 29
packets output 6526840, packet drops 259
tail/random drops 259, no buffer drops 0, other drops 0
トラフィック ストリームで大きなパケット サイズが使われている場合は、キュー制限に達する前にバッファを使い果たしてしまう可能性があるので、show policy-map インターフェイス コマンド出力では no buffer drops フィールドの値の増加が報告されることがあります。この場合は、手動で non-priority クラスのキュー制限を下方に調整してみてください。詳細は、
A. 非分散型プラットフォームでは、キュー制限はデフォルトで 64 パケットになっています。次の出力例は、Cisco 3600 シリーズ ルータで得られたものです。
november# show policy-map interface s0
Serial0
Service-policy output: policy1
Class-map: class1 (match-all)
0 packets, 0 bytes
5 minute offered rate 0 bps, drop rate 0 BPS
Match: ip precedence 5
Weighted Fair Queueing
Output Queue: Conversation 265
Bandwidth 30 (kbps) Max Threshold 64 (packets)
!--- Max Threshold はキュー制限値です。
(pkts matched/bytes matched) 0/0
(depth/total drops/no-buffer drops) 0/0/0
Class-map: class2 (match-all)
0 packets, 0 bytes
5 minute offered rate 0 bps, drop rate 0 BPS
Match: ip precedence 2
Match: ip precedence 3
Weighted Fair Queueing
Output Queue: Conversation 266
Bandwidth 24 (kbps) Max Threshold 64 (packets)
(pkts matched/bytes matched) 0/0
(depth/total drops/no-buffer drops) 0/0/0
Class-map: class-default (match-any)
0 packets, 0 bytes
5 minute offered rate 0 bps, drop rate 0 BPS
match: any
:このコマンドにより、インターフェイスや VC のキューイング統計情報が表示されます。輻輳が発生していない場合でも、いくつかのデータが表示されます。これは、プロセス交換されたパケットは、輻輳の有無に関係なく常にカウントされるからです。Cisco Express Forwarding(CEF; Cisco エクスプレス転送)およびファースト スイッチングされたパケットは輻輳が発生しない限り、カウントされません。Priority Queueing(PQ; プライオリティ キューイング)、Custom Queueing(CQ; カスタム キューイング)、および Weighted Fair Queueing(WFQ; 重み付け均等化キューイング)などの従来型のキューイング メカニズムの場合、分類の統計は作成されません。この統計情報は、12.0(5)T 以降のイメージにある modular Quality of Service Command Line Interface(MQC; モジュラ QoS コマンドライン インターフェイス)ベースの機能だけで作成できます。
すべてのプラットフォームで、ポリサーに同じ範囲の値を使用またはサポートしているとは限りません。使用しているプラットフォームでサポートされている値を調べるには、次のドキュメントを参照してください。
A. トラフィック ポリサーでは、設定された CIR に達したことを確認するのに、通常のバーストの値と大規模なバーストの値を使っています。良好なスループットを得るには、十分に大きいバースト値を設定する必要があります。設定されているバースト値が小さすぎると、到達した値が設定された値より非常に小さくなる場合があります。一時的なバーストをなくすと、Transmission Control Protocol(TCP; 伝送制御プロトコル)のトラフィックのスループットに重大な悪影響を及ぼすことがあります。CAR により、show interface rate-limit コマンドを発行して、現在のバーストを監視し、表示された値が定常的に limit(BC)と extended limit(Be)の値に接近しているかどうかを判断してください。
rate-limit 256000 7500 7500 conform-action continue exceed-action drop
rate-limit 512000 7500 7500 conform-action continue exceed-action drop
router# show interfaces virtual-access 26 rate-limit
Virtual-Access26 Cable Customers
Input
matches: all traffic
params: 256000 BPS, 7500 limit, 7500 extended limit
conformed 2248 packets, 257557 bytes; action: continue
exceeded 35 packets, 22392 bytes; action: drop
last packet: 156ms ago, current burst: 0 bytes
last cleared 00:02:49 ago, conformed 12000 BPS, exceeded 1000 BPS
Output
matches: all traffic
params: 512000 BPS, 7500 limit, 7500 extended limit
conformed 3338 packets, 4115194 bytes; action: continue
exceeded 565 packets, 797648 bytes; action: drop
last packet: 188ms ago, current burst: 7392 bytes
last cleared 00:02:49 ago, conformed 194000 BPS, exceeded 37000 BPS
詳細は、次のドキュメントを参照してください。
A. フレームリレーのインターフェイスでは、インターフェイスのキューイング メカニズムと Virtual Circuit(VC; 仮想回線)ごとのキューイング メカニズムの両方をサポートしています。Cisco IOS 12.0(4)T では、Frame Relay Traffic Shaping(FRTS; フレームリレー トラフィック シェーピング)を設定した場合にだけ、.インターフェイス キューで First In First Out(FIFO; 先入れ先出し)または Per Interface Priority Queueing(PIPQ; インターフェイス単位プライオリティ キューイング)がサポートされます。したがって、Cisco IOS 12.1 にアップグレードした場合、次の設定は動作しません。
interface Serial0/0
frame-relay traffic-shaping
bandwidth 256
no ip address
encapsulation frame-relay IETF
priority-group 1
!
interface Serial0/0.1 point-to-point
bandwidth 128
ip address 136.238.91.214 255.255.255.252
no ip mroute-cache
traffic-shape rate 128000 7936 7936 1000
traffic-shape adaptive 32000
frame-relay interface-dlci 200 IETF
FRTS が有効にされていない場合は、Class Based Weighted Fair Queueing(CBWFQ; クラスベース重み付け均等化キューイング)などの他のキューイング方法を主インターフェイスに適用します。主インターフェイスは単一の帯域幅のパイプのように動作します。さらに、Cisco IOS 12.1.1(T) では、フレームリレーの主インターフェイスで、フレームリレーによる Permanent Virtual Circuit(PVC; 相手先固定接続)の Priority Interface Queueing(PIPQ; プライオリティ インターフェイス キューイング)を有効にできます。次の例に示すように、メイン インターフェイスで、高、中、ノーマル、および、低優先順位の PVC を定義でき、さらに、frame-relay interface-queue priority コマンドの発行ができます。
interface Serial3/0
description framerelay main interface
no ip address
encapsulation frame-relay
no ip mroute-cache
frame-relay traffic-shaping
frame-relay interface-queue priority
interface Serial3/0.103 point-to-point
description frame-relay subinterface
ip address 1.1.1.1 255.255.255.252
frame-relay interface-dlci 103
class frameclass
map-class frame-relay frameclass
frame-relay adaptive-shaping becn
frame-relay cir 60800
frame-relay BC 7600
frame-relay be 22800
frame-relay mincir 8000
service-policy output queueingpolicy
frame-relay interface-queue priority low