サービス品質(QoS) : QoS パケット マーキング

DSCP による QOS ポリシーの実装

2008 年 11 月 5 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2008 年 2 月 15 日) | フィードバック

目次

概要
前提条件
      要件
      使用するコンポーネント
      背景理論
      表記法
Differentiated Service Code Point
確認転送
緊急転送
DSCP フィールドの使用
パケットの分類
マーキング
専用アクセスレートまたはクラスベース ポリシングの使用
DSCP 規格対応 WRED
Cisco IOS ソフトウェア 12.2 リリース トレインでの既知の問題
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

このドキュメントでは、Cisco ルータの 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 leavingcisco.comRFC 2475 leavingcisco.com で定義されているように、DiffServ 規格により、RFC 791 leavingcisco.com で説明されているパケット優先度を定義する元の仕様が置き換えられます。DiffServ では、優先順位を記録する IP パケットのビットを再配置することで、定義できる優先順位のレベルの数が増やされています。

DiffServ のアーキテクチャでは、DiffServ(DS)フィールドを定義しています。これは IPv4 での TOS フィールドに代わるフィールドで、パケットの分類の他、メータリング、マーキング、シェーピング、ポリシングなどのトラフィック調整機能についての per-hop behavior(PHB)を決定します。

RFC では、PHB の実装方法については言及されていないため、実装に関しては各ベンダーが責任を持ちます。Cisco ではキューイング技術を実装し、パケットの 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 leavingcisco.com によって定義されている 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 leavingcisco.com には、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 です。

廃棄確率 クラス 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 leavingcisco.com には、Expedited Forwarding(EF; 緊急転送)の PHB が次のように定義されています。「EF PHB は、DS(Diffserv)ドメインを経由する低損失、低遅延、低ジッタ、帯域幅保証、エンドツーエンドのサービスの構築に使用できます。このようなサービスは、ポイントツーポイント接続または「仮想専用回線」などのエンドポイントに見られます。このサービスは、プレミアム サービスとも呼ばれます。」EF PHB には、コードポイント 101110 を推奨します。これは DSCP 値 46 に対応します。

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

DSCP フィールドの使用

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

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

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

  • メータリング:シェイパまたはドロッパ機能を使用して、トラフィック プロファイルへの適合性をチェックします。

Cisco IOS ソフトウェアでは、Weighted Fair Queuing(WFQ; 重み付け均等化キューイング)Weighted Random Early Detection(WRED; 重み付けランダム早期検出)、または Weighted Round Robin(WRR; 重み付けラウンドロビン)でトラフィックがキューイングされている場合、TOS フィールドの優先順位ビットが考慮されます。ポリシー ルーティングPriority Queuing(PQ; プライオリティ キューイング)Custom Queuing(CQ; カスタム キューイング)、または Class Based Weighted Fair Queuing(CBWFQ; クラスベースの重み付け均等化キューイング)が設定されている場合は、この優先順位ビットは考慮されません。

パケットの分類

パケットの分類には、トラフィックの記述子を使用してパケットを特定のグループにカテゴリ化することと、パケットをアクセス可能にしてネットワーク内で 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 のダイヤル ピア(0 に設定)上で、新しい DSCP マーキング コマンドによる TOS バイトの設定に失敗した場合、そのパケットはマークされず TOS は 0 に設定されたままになります。

  • CSCdt74738登録ユーザ専用):マルチキャスト パケットで使用する Cisco 7200 ルータおよびローエンド プラットフォームの set ip dscp コマンドは、Cisco IOS ソフトウェア リリース 12.2(3.6) 以降でサポートされます。


関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 10103