前書き
最初に、私がこれを行うための正しい方法を理解するために夏のほとんどを費やしていることを書かせてください。さらに、私は1週間ほどCCIEをフルタイムで雇う必要があり、その過程でCisco TACが6500シリーズスイッチのエラーを見つけようとしました。
なぜこれを行うのですか?
今日、IPネットワーク上でリッチメディアアプリケーションが仮想的に爆発的に増加しています。管理されたものと管理されていないものの両方のコンテンツとメディアタイプの急増により、ネットワークアーキテクトはサービス品質(QoS)設計を新たに検討する必要があります。
最初のステップは明白で不必要に思えるかもしれませんが、実際には重要です。QoSポリシーで実現するビジネス目標を明確に定義してください。これらには、次のいずれか/すべてが含まれます。
- 音声品質の保証は、企業標準に適合しています。
- ビデオの高品質エクスペリエンス(QoE)の保証。
- 対話型アプリケーションのネットワーク応答時間を増やすことにより、ユーザーの生産性を向上させます。
- 「帯域幅を独占する」アプリケーションの管理。
- コンシューマーアプリケーションの特定と優先順位の解除。
- ネットワークの可用性の向上。
- ネットワークインフラストラクチャの強化。
これらの目標を念頭に置いて、ネットワークアーキテクトは、ビジネスに関連するアプリケーションを明確に特定できます。逆に、この経験から、どのアプリケーションがビジネス目標の達成に関連していないかが明らかになります。そのようなアプリケーションは、消費者指向および/またはエンターテイメント指向のアプリケーションである可能性があります。最後にそれはあなた次第です。
ソリューション
私はこれをできるだけ簡単に、構成をできるだけ自由にしたかったのです。QoSは常にハードウェアで処理する必要があるという事実と合わせて、私は採用したCCIEからシスコのAuto-QoS機能を利用することを勧められました。
そのため、アクセスレベルでトラフィックをマーキングする代わりに、エンドユーザーまたはサーバー自体がマーキングを行うことができます。Auto-QoSは、ネットワーク全体でトラフィックを転送するための適切なクラスを提供します。これにより、Active Directoryグループポリシーを介して、どのアプリケーションまたはサービスに優先順位を付けるか、優先順位を下げるかを決定できました。
手始めに、私はそれをシンプルにしたかったです。これは、Cisco IPデバイス/ TelePresence /カメラなどを使用しているときにAuto-QoSですでに定義されているVoIPおよびビデオアプリケーションを優先することを意味しました。
トポロジーの概要
以下のアクセス・コア機器を利用しています。
- コア:Cisco 897シリーズ、Cisco 3650シリーズ、Cisco 3850シリーズ、Cisco 6500シリーズ
- アクセス:Cisco 3560CX CompactシリーズおよびCisco 2960Xシリーズ
トポロジは主にスタートポロジに基づいています。次のトポロジ図を確認してください(WAN MPLSでBGPを使用しています)。
アクセス層のQoS
Auto-QoSを使用する場合、設定は非常に単純で簡単です。トラフィックを再マーキングしてMPLS ISPに送信するのは少し複雑ですが、以下の例を紹介します。
すべてのアクセススイッチはAuto-QoSでセットアップされ、アクセスとトランク/アップリンクの両方のすべてのポートがDSCPで信頼されます。次のQoSテーブルを確認します。DSCP、CoS、ToSなどのすべての値がテーブルに設定されています。これにより、選択したクラスと、設計で達成しようとしている構造の概要がわかります。
Auto-QoSは、DSCPマーキングにAF(Assured Forwarding)値を使用します。
アクセススイッチでの自動QoSの有効化
グローバル構成
mls qos (Activates QoS)
mls qos map cos-dscp 0 8 16 24 32 46 48 56 (Maps CoS to DSCP values, because CoS is a layer 2 marking, which cannot be routed)
auto qos srnd4 (Autogenerates all configuration in accordance to Cisco best practice SRND4 standard)
ポート構成
auto qos trust dscp (Activates QoS and trusts DSCP on a port)
priority-queue out (Sends all traffic to the priority queues)
以上で、スイッチとポートでAuto-QoSが実行されます。
2960Xシリーズの自動QoS設定ガイド:https ://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst2960x/software/15-0_2_EX/qos/configuration_guide/b_qos_152ex_2960-x_cg/ b_qos_152ex_2960-x_cg_chapter_011.html
コアレイヤーでの自動QoSの有効化
コアスイッチによるQoSの処理方法には大きな違いがあります。Cisco 6500シリーズはAuto-QoS SRND4をサポートしていないため、Auto-QoS設計を維持するには、QoSを手動で設定し、正しいクラスにマッピングする必要があります。Cisco 3650および3850シリーズはAuto-QoS SRND4をサポートしているため、設定は非常に簡単です。
3650および3850シリーズでの自動QoSの有効化
グローバル構成
auto qos srnd4 (Activates and autogenerates the QoS configuration)
ポート構成
auto qos trust dscp (Activates and autogenerates the QoS configuration)
コアをMPLS ISPに接続するとき、トラフィックを5つのクラスに分類します(これはISPがサポートしているためです)。これは、MPLSを介してトポロジ内のすべての場所へのトラフィックが優先されるようにするためです(参照用の図面を参照)。ISPが異なる場合があるので、設計に合うようにリマーキングを行う必要があります。次の例は、すべてのトラフィックを5つのクラスに分類する方法です。
自動生成されたAuto-QoS "AutoQos-4.0-Output-Policy"ポリシーマップをコピーしてから、新しいポリシーマップを作成する必要があります。Auto-QoSによって生成されたものと同じクラスマップを使用する必要があります。独自に作成しようとしても無視されるため、同じクラスマップが使用され、これらのクラスからマーキングが行われます。
policy-map WAN-OUTPUT-QoS (The name can be whatever you like)
class AutoQos-4.0-Output-Priority-Queue
set dscp ef
priority level 1 percent 10
class AutoQos-4.0-Output-Control-Mgmt-Queue
bandwidth remaining percent 10
queue-buffers ratio 10
set dscp af21
class AutoQos-4.0-Output-Multimedia-Conf-Queue
bandwidth remaining percent 10
queue-buffers ratio 10
set dscp af41
class AutoQos-4.0-Output-Trans-Data-Queue
bandwidth remaining percent 10
queue-buffers ratio 10
set dscp af21
class AutoQos-4.0-Output-Bulk-Data-Queue
bandwidth remaining percent 2
queue-buffers ratio 10
set dscp default
class AutoQos-4.0-Output-Scavenger-Queue
bandwidth remaining percent 1
queue-buffers ratio 10
set dscp cs1
class AutoQos-4.0-Output-Multimedia-Strm-Queue
bandwidth remaining percent 10
queue-buffers ratio 10
set dscp af41
class class-default
bandwidth remaining percent 25
5つのクラスは、優先順位が付けられ、次のようにMPLSに送信されます。
- DSCP AF値:EF(VoIP)
- DSCP AF値:af41(すべてのビデオメディア)
- DSCP AF値:af21(トランザクションデータなど)
- DSCP AF値:デフォルト(例えば、AF = 0&DSCP = 0バルクデータ)
- DSCP AF値:cs1(Bittorrentなどのスカベンジャークラス)
帯域幅の割合は残りとして使用されます。これは、帯域幅が使用されていない場合、すべてのクラスが帯域幅の100%を使用し、他のクラスからの貸与が許可されることを意味します。これは帯域幅共有のようなものです。つまり、リンクが輻輳している場合、どのクラスが優先されても、最も高いクラスがトラフィックを送信できるようになります。
ポリシーマップクラスとパーセンテージは、個々の要件に合わせて必要に応じて変更できます。
ISPへのポートアップリンクで、次の設定を行う必要があります。
interface XXX
auto qos trust dscp
service-policy input AutoQos-4.0-Trust-Dscp-Input-Policy
service-policy output WAN-OUTPUT-QoS
3650および3850シリーズについては以上です。
6500シリーズでのQoSの有効化
6500シリーズはAuto-QoS SRND4をサポートしません。これは非常に基本的であり、VoIPのレイヤ2 CoS値のみを理解します。つまり、アクセス層からのAuto-QoSインフラストラクチャに適合するために、すべてのQoSをゼロから構成する必要があります。QoSは、シャーシにインストールされているモジュールに基づいて構成する必要があります。また、入力と出力の両方(入力/出力)のポリシーマップを作成する必要があります。
スーパーバイザは、モジュールとシャーシ内のASIC間のCoSのみを認識します。
CoSの自動QoSをアクティブにするには、次のグローバルコマンドを使用する必要があります。
auto qos default
これにより、CoSからDSCPへのテーブルマップが作成されますが、すべての値がAuto-QoS SRND4標準に準拠しているわけではありません(CoS 7は54にマップされていますが、56にする必要があります)。したがって、テーブルマップを削除して、次のものに置き換える必要があります。
no table-map cos-discard-class-map
table-map cos-discard-class-map
map from 0 to 0
map from 1 to 8
map from 2 to 16
map from 3 to 24
map from 4 to 32
map from 5 to 46
map from 6 to 48
map from 7 to 56
QoSとポリシーマップを作成するには、モジュールが使用しているキューイングモデルを調べる必要があります。次の例では、入力キューと出力キューは同じですが、一部のモジュールではRxキューとTxキューが異なるため、キューイングモデルの方法に従ってポリシーマップを作成する必要があります。インターフェイスが使用しているキューイングモデルを確認するには、次のコマンドを発行する必要があります。以下の例は、モジュールに基づいています:C6800-16P10G
show queueing interface xxx | sec Transmit queues
Transmit queues [type = 1p7q4t]
show queueing interface xxx | sec Receive queues
Receive queues [type = 1p7q4t]
書かれているように、キューはこのモジュールで同じなので、入力と出力の両方に同じポリシーを使用できます。
1p7q4tは基本的に、1つの優先キュー、7つの通常キューを意味します。7つの通常キューすべてに4つのしきい値があります。モジュール名とキューを検索すると、詳細情報を取得できます。このモジュール、C6800-16P10Gについては、次のリンクで説明されています。https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-6800-series-switches/datasheet-c78-733662.html
表1のキューを参照してください。
最初に、すべてのポリシーマップに使用されるクラスマップを作成する必要があります。これは、Auto-QoS SRND4のクラスと一致する個々のクラスのDSCP値と一致します。クラスマップは、プログラミングではAND / ORのように機能するmatch-allステートメントを使用してlan-queueingとして作成されることに注意してください。match-all = ANDおよびmatch-any = OR。
以下の構成ガイドを確認してください。Cisco Campus QoS設計が簡素化され、プレゼンテーションの下部にあるさまざまなモジュールごとに構成例が提供されています。http:
//honim.typepad.com/files/campus-qos-design-simplified-brkcrs-2501.pdf
225ページ、リンクが遅い。
クラスマップの作成(グローバル構成):
class-map type lan-queuing match-all REALTIME-1P7Q4T
match dscp cs4 cs5 ef
class-map type lan-queuing match-all CONTROL-1P7Q4T
match dscp cs2 cs3 cs6 cs7
class-map type lan-queuing match-all MM_CONF-1P7Q4T
match dscp af41 af42 af43
class-map type lan-queuing match-all MM_STREAM-1P7Q4T
match dscp af31 af32 af33
class-map type lan-queuing match-all TRANS_DATA-1P7Q4T
match dscp af21 af22 af23
class-map type lan-queuing match-all BULK_DATA-1P7Q4T
match dscp af11 af12 af13
class-map type lan-queuing match-all SCAVENGER-1P7Q4T
match dscp cs1
必要に応じて、名前を変更したり、好きなように編集したりできます。
クラスマップを作成した後、ポリシーマップを作成します。これは、DSCP値の優先度を定義し、DSCP値と一致した後で、さまざまなキューに帯域幅を設定します。
policy-map type lan-queuing 1P7Q4T
class REALTIME-1P7Q4T
priority
class CONTROL-1P7Q4T
bandwidth remaining percent 10
class MM_CONF-1P7Q4T
bandwidth remaining percent 20
random-detect dscp-based
random-detect dscp af41 percent 80 100
random-detect dscp af42 percent 70 100
random-detect dscp af42 percent 60 100
class MM_STREAM-1P7Q4T
bandwidth remaining percent 15
random-detect dscp-based
random-detect dscp af31 percent 80 100
random-detect dscp af32 percent 70 100
random-detect dscp af33 percent 60 100
class TRANS_DATA-1P7Q4T
bandwidth remaining percent 15
random-detect dscp-based
random-detect dscp af21 percent 80 100
random-detect dscp af22 percent 70 100
random-detect dscp af23 percent 60 100
class BULK_DATA-1P7Q4T
bandwidth remaining percent 9
random-detect dscp-based
random-detect dscp af11 percent 80 100
random-detect dscp af12 percent 70 100
random-detect dscp af13 percent 60 100
class SCAVENGER-1P7Q4T
bandwidth remaining percent 1
class class-default
random-detect dscp-based
random-detect dscp default percent 80 100
ポリシーマップを作成したら、それをインターフェイスに適用する必要があります。
interface xxx
service-policy type lan-queuing input 1P7Q4T
service-policy type lan-queuing output 1P7Q4T
構成を確認し、キューイングが実行されていることを確認するには、次のコマンドを使用できます(インターフェイスを有効にするために、インターフェイスをシャットダウンする必要があります)。
show queueing interface xxx
6500シリーズのトラフィックを再マーキングするには、新しいクラスマップと新しいポリシーマップを作成する必要があります。クラスマップはlan-queuesとして作成されておらず、複数の値を1つずつチェックするため、matchステートメントはmatch-allではなくmatch-any = ORです。したがって、最初の値がパケットと一致しない場合、次の値がチェックされます。
次のバグが発生したため、ここにCisco TACが関与する必要があったことを指摘しておきます。https:
//bst.cloudapps.cisco.com/bugsearch/bug/CSCuz52151
代わりに、クラスマップをAF値のマッチングから未加工のDSCP値(破棄クラス)に変更する必要がありました。また、スイッチをバージョン152-1.SY5(MD)にアップグレードする必要がありました。私たちがこれらの指示に従った後、それ以来問題はありませんでした。
構成は次のとおりです。
class-map match-any WAN-HIGH
match discard-class 32
match discard-class 40
match discard-class 46
class-map match-any WAN-GOLD
match discard-class 26
match discard-class 28
match discard-class 30
match discard-class 34
match discard-class 36
match discard-class 38
class-map match-any WAN-SILVER
match discard-class 16
match discard-class 18
match discard-class 20
match discard-class 22
match discard-class 24
match discard-class 48
match discard-class 56
class-map match-any WAN-BEST_EFFORT
match discard-class 0
match discard-class 10
match discard-class 12
match discard-class 14
class-map match-any WAN-SCAVENGER
match discard-class 8
この後、ポリシーマップを作成します。
policy-map WAN-OUTPUT-QoS
class WAN-HIGH
set dscp ef
class WAN-GOLD
set dscp af41
class WAN-SILVER
set dscp af21
class WAN-BEST_EFFORT
set dscp default
class WAN-SCAVENGER
set dscp cs1
次に、それをインターフェイスに適用する必要があります。
interface xxx
service-policy output WAN-OUTPUT-QoS
service-policy type lan-queuing input 1P7Q4T
それでおしまい。この情報がお役に立てば幸いです。QoSは複雑だと人々が言うとき、私は理解しています。これはさまざまな方法で行うことができ、上記の例はそれを行う方法のほんの一部です。シスコがAuto-QoS SRND4標準をますます多くのデバイスに展開して、サービス品質の適切な基盤を作成することに取り組んでいることを知っています。