このドキュメントでは、Cisco ルータの Quality of Service(QoS)設定にある DiffServ コードポイント(DSCP)の値を設定する方法について説明します。
IPヘッダーとCisco IOS® CLIのフィールドに精通している必要があります。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
ドキュメントの表記法の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。
ディファレンシエーテッドサービス(DiffServ)は、ネットワークノードがディファレンシエーテッドサービス(DS)フィールドに基づいてディファレンシエーテッドホップ単位の処理を適用するアーキテクチャです。RFC 2474とRFC 2475で定義されているように、DiffServ規格により、RFC 791で説明されているパケット優先順位を定義する元の仕様が置き換えられます。RFC 2474では、IPv4タイプオブサービス(ToS)オクテットがDSフィールドとして再定義され、その上位6ビットがDifferentiated Services Code Point(DSCP)に割り当てられています。
DiffServのアーキテクチャでは、DiffServ(DS)フィールドを定義しています。これはIPv4のToSフィールドに代わるフィールドで、パケットの分類に加え、メータリング、マーキング、シェーピング、ポリシングなどのトラフィック調整機能に関してPer-Hop Behavior(PHB)を決定します。
RFC では、PHB の実装方法については言及されていないため、実装に関しては各ベンダーが責任を持ちます。シスコではキューイング技術を実装し、パケットの IP ヘッダーに記述された IP 優先順位または DSCP 値を PHB のベースとしています。DSCP または IP 優先順位をベースとすることで、トラフィックを特別なサービス クラスへ振り分けることができます。同じサービス クラスにあるパケットは、同じ方法で処理されます。
注:このドキュメントで参照されているCommitted Access Rate(CAR;専用アクセスレート)、Priority Queuing(PQ;プライオリティキューイング)、Custom Queuing(CQ;カスタムキューイング)、Interface-Based Weighted Fair Queuing(WFQ;インターフェイスベースの重み付け均等化キューイング)、フレームリレーQoS、およびIP優先順位ベースの分類など、一部の方式とテクノロジーは、現行のシスコプラットフォームレガシーものと見なされています。この内容は、DSCPの基本的な概念と実装の履歴を説明するために保持されています。
現在の導入については、Modular QoS CLI(MQC)、クラスベースポリシング、クラスベース重み付け均等化キューイング(CBWFQ)、低遅延キューイング(LLQ)、およびDSCPベースのWREDを確認してください。対象のプラットフォームとソフトウェアリリースの設定ガイドで、機能の可用性とコマンド構文を確認します。
DSフィールドの上位6ビットがDSCPを形成します。RFC 2474では最初に、2つの最下位ビットをCurrently Unused(CU;現在未使用)として指定し、RFC 3168では、これらのビットを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 |
遅延、スループット、信頼性:3ビット(T2 ~ T0)
CU(現在未使用):2ビット(CU1 ~ CU0)
DiffServ フィールド
| DS5 | DS4 | DS3 | DS2 | DS1 | DS0 | ECN | ECN |
|---|
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には、Assured Forwarding(AF;確認転送)のPHBが定義されており、クライアントのDSドメインから受信したIPパケットに対して、さまざまなレベルの転送保証をプロバイダーのDSドメインで提供する方法として記述されています。相対的優先(確認)転送の PHB では、AF クラスに対して一定量の帯域幅が保証され、使用可能な場合にはさらに多くの帯域幅へのアクセスが許可されます。ここでは、AF1x から AF4x まで、4 つの AF クラスがあります。各クラスに、3 種類の廃棄確率があります。指定されたネットワークポリシーに応じて、必要なスループット、遅延、ジッタ、損失に基づいて、またはネットワークサービスへのアクセスの優先順位に基づいて、PHBに対してパケットを選択できます。
クラス 1 から 4 は、AF クラスと呼ばれます。次の表に、確率でAFクラスを指定するDSCPコードを示します。ビット DS5、DS4、および DS3 にはクラスが定義されており、ビット DS2 と DS1 には廃棄確率が指定されています。ビット DS0 は常に 0 です。
| [Drop] | クラス 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の後継となるRFC 3246では、Expedited Forwarding(EF;緊急転送)のPHBが定義されています。EF PHBは、低損失、低遅延、低ジッタ、帯域幅保証、DS(Diffserv)ドメインを介したエンドツーエンドのサービスの構築に使用できます。このサービスは、ポイントツーポイント接続や仮想専用回線などのエンドポイントに見られます。このサービスは、プレミアムサービスとも呼ばれます。推奨されるEFコードポイントは、DSCP 46に対応するバイナリ101110です。
ここでも、これらのPHBを実装するには、ベンダー固有のメカニズムを設定する必要があります。EF PHBについての詳細は、RFC 3246を参照してください。
DSCP フィールドは、次の 3 つの方法で使用されます。
分類子:パケットヘッダーのある部分の内容に基づいてパケットを選択し、DSCP値で定義されたサービスの特性に基づいてPHBを適用します。
マーカー:トラフィックプロファイルに基づいて、DSCPフィールドを設定します。
メータリング:シェーパまたはドロッパ機能を使用して、トラフィックプロファイルへの適合性をチェックします。
Cisco IOSソフトウェアでは、Weighted Fair Queuing(WFQ;重み付け均等化キューイング)、Weighted Random Early Detection(WRED;重み付けランダム早期検出)、またはWeighted Round Robin(WRR;重み付けラウンドロビン)でトラフィックがキューイングされている場合、TOSフィールドの優先順位ビットが考慮されます。 ポリシー ルーティング、Priority Queuing(PQ; プライオリティ キューイング)、カスタム キューイング(CQ)、または Class Based Weighted Fair Queuing(CBWFQ; クラスベースの重み付け均等化キューイング)が設定されている場合は、この優先順位ビットは考慮されません。詳細は、『クラスベース重み付け均等化キューイング(CBWFQ)』を参照してください。
パケット分類では、トラフィック記述子を使用して、パケットを特定のグループ内で分類し、ネットワーク内で管理するQoSでそのパケットにアクセスできるようにします。パケット分類を使用すると、ネットワークトラフィックを複数のプライオリティレベルまたはサービスクラス(CoS)に分割できます。
DSCP値を照合するには、アクセスコントロールリスト(ACL)を使用するか、モジュラQoS CLIで matchコマンドを実行します。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
!--- Creates a policy map named pack-multimedia-5M.
class management
!--- Specifies the policy to be created for the !--- traffic classified by class management.
bandwidth 50
set ip dscp 8
!--- Sets the DSCP value of the packets matching !--- class management to 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 !--- For traffic matching access list 150, sets the DSCP value of conforming traffic !--– to 10 and that of non-conforming traffic to 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
Weighted Random Early Detection(WRED; 重み付けランダム早期検出)では、インターフェイスに輻輳が発生し始めると優先度の低いトラフィックが選択的に廃棄されます。WRED では、差別化したパフォーマンス特性をさまざまな CoS に提供できます。この差別化サービスは、DSCPに基づいて実行できます。
class C2
bandwidth 1750
random-detect dscp-based
!--- Enable dscp-based WRED as drop policy.
random-detect exponential-weighting-constant 7
!--- Specifies the exponential weight factor for the !--- average queue size calculation for the queue.
random-detect dscp 16 48 145 10
!--- Specifies the minimum and maximum queue thresholds !--- for each DSCP value.
random-detect dscp 32 145 435 10
詳細は、『輻輳回避に関する概要』の「DiffServ 準拠の WRED」のセクションを参照してください。
| 改定 | 発行日 | コメント |
|---|---|---|
5.0 |
03-Sep-2026
|
スペル/文法を更新、読みやすいように水平線を別のセクションに挿入、CCWのエラーを修正。 |
4.0 |
08-Sep-2025
|
SEOとフォーマットを更新。 |
3.0 |
05-Sep-2024
|
タイトルが長すぎて、何らかの理由でCCWがフラグを設定していませんでした。
奇妙な間隔/書式を修正しました。 |
2.0 |
24-Aug-2022
|
初版リリース |
1.0 |
27-Nov-2001
|
初版 |