内容

概要

前提条件

要件

使用するコンポーネント

表記法

背景説明

Differentiated Services Code Point（DiffServ コード ポイント）

Assured Forwarding（相対的優先転送/確認転送）

Expedited Forwarding（完全優先転送/緊急転送）

DSCPフィールドの使用

パケットの分類

マーキング

専用アクセスレートまたはクラスベースポリシングの使用

DSCP 規格対応 WRED

Cisco IOS ソフトウェア 12.2 リリース トレインにおける既知の問題

関連情報

概要

このドキュメントでは、Cisco ルータの Quality of Service（QoS）設定にある DiffServ コードポイント（DSCP）の値を設定する方法について説明します。

前提条件

要件

IPヘッダーとCisco IOS®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)を決定します conditioning 次のような機能  metering 、  marking 、  shaping ,と  policing を参照。

RFC では、PHB の実装方法については言及されていないため、実装に関しては各ベンダーが責任を持ちます。シスコが実装  queuing  パケットのIPヘッダーのIP優先順位またはDSCP値に基づいてPHBを設定できる技術。DSCP または IP 優先順位をベースとすることで、トラフィックを特別なサービス クラスへ振り分けることができます。同じサービス クラスにあるパケットは、同じ方法で処理されます。

Differentiated Services Code Point（DiffServ コード ポイント）

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（現在未使用）: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 転送処理が行われるとは限りません。各ノードには、設定されている内容に基づく独自の対応方法が実装されています。

保証された  Forwarding

RFC 2597では、  forwarding  (AF)PHBを使用して、プロバイダーDSドメインが異なるレベルの  forwarding  クライアントのDSドメインから受信したIPパケットを保証します。保証された  Forwarding  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

優先  Forwarding

RFC 2598では、Expedited Forwarding（EF；緊急転送）のPHBについて次のように定義されています。「EF PHBを使用すると、DS(Diffserv)ドメインを介した低損失、低遅延、低ジッタ、保証帯域幅、エンドツーエンドサービスを構築できます。このようなサービスは、エンドポイントからはポイントツーポイント接続や「仮想専用回線」のように見えます。 このサービスは、プレミアムサービスとも呼ばれます。EF PHB には、コードポイント 101110 を推奨します。これは DSCP 値 46 に対応します。

さらに、これらの PHB の実装には、ベンダー特有のメカニズムが構成されている必要があります。EF PHB についての詳細は、RFC 2598 を参照してください。

DSCPフィールドの使用

DSCP フィールドは、次の 3 つの方法で使用されます。

- 分類子：パケット ヘッダーのある部分の内容に基づいてパケットを選択し、DSCP 値で定義されたサービスの特性に基づいて PHB を適用します。

- マーカー：トラフィック プロファイルに基づいて、DSCP フィールドを設定します。

- Metering  – シェーパーまたはドロッパー機能を使用して、トラフィックプロファイルへの準拠を確認します。

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)に分割できます。

アクセス リスト（ACL）、またはモジュラ QOS CLI の match コマンドを使用して、DSCP 値に合わせることができます。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

Marking

「パケットの分類」セクションに示されているようにコア デバイスがパケットを分類して、適切なレベルのサービスを提供しやすくするために、ネットワークの端で DSCP を必要な値に設定できます。 クラスベースパケット  Marking  を使用して、次のように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

専用アクセスレートまたはクラスベースポリシングの使用

専用アクセスレートおよびクラスベース  Policing  合意されたサービスパラメータに従ってトラフィックフローを調整するために使用されるトラフィック調整メカニズムです。これらのメカニズムをDSCPとともに使用すると、トラフィックがDSCP値を適切に変更する際に、トラフィックに準拠しないさまざまなレベルのサービスを提供できます。これについては、このセクションで説明します。

詳細については、  Configuring トラフィック  Policing  詳細については、『クラスベースポリシングと専用アクセスレートの比較』を参照してください。

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

DSCP 規格対応 WRED

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」セクションを参照してください。

Cisco IOS ソフトウェア 12.2 リリース トレインにおける既知の問題

Bugツールと情報へのアクセスは、登録されているシスコのクライアントに対してのみ可能です。

これらのバグは、Bug Search Toolで検索できます。

- Cisco Bug ID CSCdt63295（登録ユーザ専用）：新しいDSCPでToSバイトの設定に失敗した場合  marking  コマンドをダイヤルピア（0に設定）で使用すると、パケットをマーキングできず、ToSを0に設定したままにできます。

- Cisco Bug ID CSCdt74738：マルチキャストパケット用のCisco 7200ルータおよびローエンドプラットフォームでのset ip dscpコマンドは、Cisco IOSソフトウェアリリース12.2以降でサポートされている必要があります。

関連情報

- Cisco IOSソフトウェア：サービスプロバイダーネットワークソリューション

- テクニカルサポート - Cisco Systems

- QoS：輻輳回避設定ガイド