| ライター翻訳版 - May 24, 2006 |
| Document ID: 10103 |
| ダウンロード: PDF |
目次
概要
前提条件
要件
使用するコンポーネント
背景理論
表記法
Differentiated Service Code Point
確認転送
緊急転送
DSCP フィールドの使用
パケットの分類
マーキング
専用アクセスレートまたはクラスベース ポリシングの使用
DSCP 規格対応 WRED
Cisco IOS ソフトウェア 12.2 リリース トレインでの既知の問題
関連情報
概要
このドキュメントでは、シスコ ルータの Quality of Service(QOS)設定にある Differentiated Services Code Point(DSCP; DiffServ コード ポイント)の値を設定する方法について説明します。さらに、DSCP と IP 優先順位との関係についても要約して説明します。
前提条件
要件
IP ヘッダーのフィールドと Cisco IOS(R) の CLI に精通している必要があります。
使用するコンポーネント
このドキュメントは、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にある装置に基づいて作成されたものです。 このドキュメント内で使用されているデバイスはすべて、クリアな設定(デフォルト)から作業を始めています。 対象のネットワークが実稼働中である場合には、どのような作業についても、その潜在的な影響について確実に理解しておく必要があります。
背景理論
Differentiated Services(DiffServ; 差別化サービス)とは、type of services(TOS; タイプ オブ サービス)バイトをベースとする相対的な優先順位を使用し、中継システムによってトラフィックを制御する新しいモデルです。 RFC 2474
と RFC 2475
で定義されているように、DiffServ 標準により、RFC 791
で説明されているパケット優先度を定義する元の実装が、置き換えられます。 DiffServ では、優先順位を記録する IP パケットのビットを再配置することで、定義できる優先順位のレベルの数が増やされています。
DiffServ のアーキテクチャでは、DiffServ(DS)フィールドを定義しています。これは IPv4 での TOS フィールドに代わるフィールドで、パケットの分類の他、メータリング、マーキング、シェーピング、ポリシングなどのトラフィック調整機能についての per-hop behavior(PHB)を決定します。
RFC では、PHB の実装方法については言及されていないため、実装に関しては各ベンダーが責任を持ちます。 シスコではキューイング技術を実装し、パケットの IP ヘッダーに記述された IP 優先順位または DSCP 値を PHB のベースとしています。 DSCP または IP 優先順位をベースとすることで、トラフィックを特別なサービス クラスへ振り分けることができます。 同じサービス クラスにあるパケットは、同じ方法で処理されます。
表記法
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
Differentiated Service Code Point
DiffServ フィールドの上位 6 ビットは DSCP として使用されています。 DiffServ フィールドの最後の 2 つの Currently Unused(CU; 現在未使用)ビットは、DiffServ フィールドのアーキテクチャでは定義されておらず、現在は Explicit Congestion Notification(ECN; 明示的輻輳通知)ビットとして使用されています。 あるネットワークの端にあるルータでは、Diffserv ネットワークの IP 優先順位か DSCP 値のどちらかに基づいて、パケットのクラス分けやマーキングが行われます。 Diffserv をサポートするコア内の他のネットワーク デバイスでは、IP ヘッダーにある DSCP 値を使用して、そのパケットに対する PHB の動作が選択されて、適切な QoS 処理が行われます。
このセクションの次の図は、RFC 791
によって定義されている ToS バイトと DiffServ フィールドの比較を示しています。
| TOS バイト | |||||||
|---|---|---|---|---|---|---|---|
| P2 | P1 | P0 | T2 | T1 | T0 | CU1 | CU0 |
-
IP 優先順位 — 3 ビット(P2 〜 P0)
-
遅延、スループットおよび信頼性 — 3 ビット(T2 〜 T0)
-
CU(Currently Unused; 現在未使用) — 2 ビット(CU1 〜 CU0)
| DiffServ フィールド | DS5 | DS4 | DS3 | DS2 | DS1 | DS0 | ECN | ECN |
|---|
-
DSCP — 6 ビット(DS5 〜 DS0)
-
ECN — 2 ビット
パケット内の標準化された DiffServ フィールドは、ある値でマークされているため、パケットは各ネットワークノードにおいて、特定の場所への転送または PHB によって処理されます。
デフォルトの DSCP は 000 000 であり、クラス セレクタ DSCP の値には IP 優先順位との下位互換性があります。 IP 優先順位と DSCP との間で変換を行う場合は、上位の 3 ビットを一致させます。 つまり、次のとおりです。
IP Prec 5 (101) maps to IP DSCP 101 000
| TOS バイト | |||||||
|---|---|---|---|---|---|---|---|
| 1 | 0 | 1 | T2 | T1 | T0 | CU2 | CU0 |
| DiffServ フィールド | |||||||
|---|---|---|---|---|---|---|---|
| 1 | 0 | 1 | 0 | 0 | 0 | ECN | ECN |
DiffServ 規格では、優先度の設定に同じ優先順位ビット(上位ビット — DS5、DS4 および DS3)を利用していますが、DSCP の次の 3 ビットを使用することで、より精度を高め、この定義をさらに明確にしています。 DiffServ では、優先順位のレベルを次のカテゴリに沿うように再編成し、名称を変更しています(これらのレベルについてはこのドキュメントの後の部分で詳しく説明しますが、引き続き DSCP の上位 3 ビットで定義されています)。
| 優先順位レベル | 説明 |
|---|---|
|
7 |
以前と同じ(リンク層とルーティング プロトコルはそのまま) |
|
6 |
以前と同じ(IP ルーティング プロトコルのために使用) |
|
5 |
緊急転送(EF) |
|
4 |
クラス 4 |
|
3 |
クラス 3 |
|
2 |
クラス 2 |
|
1 |
クラス 1 |
|
0 |
ベストエフォート |
このシステムでは、デバイスは最初にトラフィックをクラスによって優先順位付けします。 次に、廃棄確率を考慮に入れて、同じクラスのトラフィックを差別化および優先順位付けします。
DiffServ 規格では、「低」、「中」、「高」の廃棄確率の厳密な定義を指定していません。 すべてのデバイスで DiffServ(DS2 および DS1)の設定が判別されるとは限りません。また、設定が判別された場合でも、各ネットワーク ノードで同じ PHB 転送処理が行われるとは限りません。 各ノードには、設定されている内容に基づく独自の対応方法が実装されています。
確認転送
RFC 2597
には、確認転送(AF; Assured Forwarding)の PHB が定義されており、顧客の DS ドメインから受信した IP パケットに対して、さまざまなレベルの転送保証をプロバイダーの DS ドメインで提供する方法として記述されています。 確認転送の PHB では、AF クラスに対して一定量の帯域幅が保証され、使用可能な場合にはさらに多くの帯域幅へのアクセスが許可されます。 ここでは、AF1x から AF4x まで、4 つの AF クラスがあります。 各クラスに、3 種類の廃棄確率があります。 指定されたネットワーク ポリシーに従い、必要なスループット、遅延、ジッタ、損失に基づく PHB に対して、あるいは、ネットワーク サービスへのアクセスの優先順位に基づいてパケットが選択されます。
クラス 1 から 4 は、AF クラスと呼ばれます。 次の表では、廃棄確率によって AF クラスを指定するための DSCP コーディングについて説明します。 ビット DS5、DS4、および DS3 にはクラスが定義されており、ビット DS2 と DS1 には廃棄確率が指定されています。ビット DS0 は常に 0 です。
| 廃棄確率 | クラス 1 | クラス 2 | クラス 3 | クラス 4 |
|---|---|---|---|---|
|
低 |
001010 AF11 DSCP 10 |
010010 AF21 DSCP 18 |
011010 AF31 DSCP 26 |
100010 AF41 DSCP 34 |
|
中 |
001100 AF12 DSCP 12 |
010100 AF 22 DSCP 20 |
011100 AF32 DSCP 28 |
100100 AF42 DSCP 36 |
|
高 |
001110 AF13 DSCP 14 |
010110 AF23 DSCP 22 |
011110 AF33 DSCP 30 |
100110 AF43 DSCP 38 |
緊急転送
RFC 2598
には、緊急転送(EF; Expedited Forwarding)の PHB が次のように定義されています。 「EF PHB は、DS(Diffserv)ドメインを経由する低損失、低遅延、低ジッタ、帯域幅保証、エンドツーエンドのサービスの構築に使用できます。 このようなサービスは、ポイントツーポイント接続または「仮想専用回線」などのエンドポイントに見られます。 このサービスは、プレミアム サービスとも呼ばれます。」 EF PHB には、コードポイント 101110 を推奨します。
さらに、これらの PHB の実装には、ベンダー特有のメカニズムが構成されている必要があります。 EF PHB の詳細については、RFC 2598
を参照してください。
DSCP フィールドの使用
DSCP フィールドは、次の 3 つの方法で使用されます。
-
クラス識別子 — パケット ヘッダーのある部分の内容に基づいてパケットを選択し、DSCP 値で定義されたサービスの特性に基づいて PHB を適用します。
-
マーカー — トラフィックのプロファイルに基づいて、DSCP フィールドを設定します。
-
メータリング — シェーパまたはドロッパ機能を使用して、トラフィック プロファイルへの適合性をチェックします。
Cisco IOS ソフトウェアでは、Weighted Fair Queuing(WFQ; 重み付け均等化キューイング)、Weighted Random Early Detection(WRED; 重み付けランダム早期検出)、または Weighted Round Robin(WRR)でトラフィックがキューイングされている場合、TOS フィールドの優先順位ビットが考慮されます。 ポリシー ルーティング、プライオリティ キューイング(PQ; Priority Queuing)、カスタム キューイング(CQ; Custom Queuing)、またはクラスベースの重み付け均等化キューイング(CBWFQ; Class Based Weighted Fair Queuing)が設定されている場合は、この優先順位ビットは考慮されません。
パケットの分類
パケットの分類には、トラフィックの記述子を使用してパケットを特定のグループにカテゴリ化することと、パケットをアクセス可能にしてネットワーク内で QOS 処理を行うことが含まれます。 パケットの分類使用して、ネットワークのトラフィックを複数の優先順位レベルやサービス クラス(CoS)に分けることができます。
DSCP の値への照合には、アクセス リスト(ACL)、または、モジュラ QOS CLI の match コマンドが使用できます。 ACL の使用法の詳細については、『Cisco 7200/7500 の QOS』を参照してください。Cisco IOS ソフトウェア リリース 12.1(5)T からは、match コマンドの DSCP 値を選択できます。
Router1(config)# access-list 101 permit ip any any ? dscp Match packets with given dscp value fragments Check non-initial fragments log Log matches against this entry log-input Log matches against this entry, including input interface precedence Match packets with given precedence value time-range Specify a time-range tos Match packets with given TOS value
class map コマンドで ip dscp 値を指定すると、次のように表示されます。
Router(config)# class-map match-all VOIP
1751-uut1(config-cmap)# match ip dscp ?
<0-63> Differentiated services codepoint value
af11 Match packets with AF11 dscp (001010)
af12 Match packets with AF12 dscp (001100)
af13 Match packets with AF13 dscp (001110)
af21 Match packets with AF21 dscp (010010)
af22 Match packets with AF22 dscp (010100)
af23 Match packets with AF23 dscp (010110)
af31 Match packets with AF31 dscp (011010)
af32 Match packets with AF32 dscp (011100)
af33 Match packets with AF33 dscp (011110)
af41 Match packets with AF41 dscp (100010)
af42 Match packets with AF42 dscp (100100)
af43 Match packets with AF43 dscp (100110)
cs1 Match packets with CS1(precedence 1) dscp (001000)
cs2 Match packets with CS2(precedence 2) dscp (010000)
cs3 Match packets with CS3(precedence 3) dscp (011000)
cs4 Match packets with CS4(precedence 4) dscp (100000)
cs5 Match packets with CS5(precedence 5) dscp (101000)
cs6 Match packets with CS6(precedence 6) dscp (110000)
cs7 Match packets with CS7(precedence 7) dscp (111000)
default Match packets with default dscp (000000)
ef Match packets with EF dscp (101110)
Router1(config-cmap)# match ip dscp af31
マーキング
「パケットの分類」のセクションに示されているようにコア デバイスがパケットを分類して、適切なレベルのサービスを提供しやすくするために、ネットワークの端で DSCP を必要な値に設定できます。 クラスベースのパケット マーキングを使用すれば、次のように DSCP の値を設定できます。
policy-map pack-multimedia-5M
!--- pack-multimedia-5M という名前のポリシー マップを作成します。
class management
!--- class management によって分類されたトラフィック用に
!--- ポリシーが作成されるように指定します。
bandwidth 50
set ip dscp 8
!--- class management に一致するパケットの
!--- DSCP 値を 8 に設定します。
class C1
priority 1248
set ip dscp 40
class voice-signalling
bandwidth 120
set ip dscp 24
専用アクセスレートまたはクラスベース ポリシングの使用
専用アクセスレートまたはクラスベース ポリシングは、合意されたサービス パラメータに従ってトラフィック フローを規制するために使用されるトラフィック規制メカニズムです。 これらのメカニズムを DSCP とともに使用して、DSCP 値を適切に変更すれば、規制に準拠するトラフィックと準拠しないトラフィックに対して異なるレベルのサービスを提供できます。このセクションでは、その例を示します。
詳細については、『トラフィック ポリシングの設定』および『クラスベースのポリシングおよび専用アクセスレートの比較』を参照してください。
interface Serial1/0.1 point-to-point bandwidth 5000 ip address 192.168.126.134 255.255.255.252 rate-limit output access-group 150 8000 1500 2000 conform-action set-dscp-transmit 10 exceed-action set-dscp-transmit 20 !--- アクセス リスト 150 に一致するトラフィックに対して、 !--- 規制に準拠するトラフィックには DSCP 値 10 を、 !--- 準拠しないトラフィックには DSCP 値 20 を設定します。 rate-limit output access-group 152 8000 1500 2000 conform-action set-dscp-transmit 15 exceed-action set-dscp-transmit 25 rate-limit output access-group 154 8000 1500 2000 conform-action set-dscp-transmit 18 exceed-action set-dscp-transmit 28 frame-relay interface-dlci 17 class shaper-multimedia-5M
DSCP-WRED に対する懸念
Weighted Random Early Detection(WRED; 重み付けランダム早期検出)では、インターフェイスに輻輳が発生し始めると優先度の低いトラフィックが選択的に廃棄されます。 WRED では、差別化したパフォーマンス特性をさまざまな CoS に提供できます。 次に示すように DSCP に基づいて、この差別化サービスを提供できます。
class C2
bandwidth 1750
random-detect dscp-based
!--- DSCP ベースの WRED を廃棄ポリシーとして有効にします。
random-detect exponential-weighting-constant 7
!--- キューの平均キュー サイズの計算に使用する
!--- 指数加重係数を指定します。
random-detect dscp 16 48 145 10
!--- 各 DSCP 値のキューの最小しきい値と最大しきい値を
!--- 指定します。
random-detect dscp 32 145 435 10
詳細については、『輻輳回避に関する概要』の「DiffServ WRED に対する懸念」のセクションを参照してください。
Cisco IOS ソフトウェア 12.2 リリース トレインでの既知の問題
次の不具合に関する詳細事項を調べるには、Bug Toolkit(登録ユーザ専用)を使用してください。
-
CSCdt63295(登録ユーザ専用)— Cisco IOS ソフトウェア リリース 12.2.2T にある新しい DSCP マーキング コマンドを使用して、ダイヤルピア(0 に設定)に対する TOS バイトの設定に失敗した場合、そのパケットはマークされず、TOS は 0 に設定されたままになる。
-
CSCdt74738(登録ユーザ専用)— マルチキャスト パケット用の Cisco 7200 ルータおよびローエンドのプラットフォームでの set ip dscp コマンドは、Cisco IOS ソフトウェア リリース 12.2(3.6) 以降でサポートされる。
関連情報
- エンドツーエンドの QOS としての DiffServ の実装に関する概要(英語)
- コンテンツ ネットワーキングを使用した QOS の実現(英語)
- Cisco IOS ソフトウェア: QOS: 差別化サービス モデル(DiffServ)(英語)
- RSVP 用コントロール プレーン DSCP サポート(英語)
- Diff-Serv-aware Traffic Engineering(DS-TE)(英語)
- 差別化サービス規格対応重み付けランダム早期検出(英語)
- RFC 3168: The Addition of Explicit Congestion Notification (ECN) to IP

- Quality of Service(QOS)に関するサポート ページ(英語)
