Cisco 300-410: サービス品質とコントロールプレーン保護 — 学習ガイド
こちらの一部です: Cisco CCNP Enterprise 300-410 ENARSI — 学習ガイド. 検証済みの解答で練習: Cisco試験ハブ, または時間制限付き模擬試験に挑戦: ExamRoll.io.
概要
サービス品質 (QoS) とコントロールプレーン保護 (CoPP/CPPr) は、ビジネスクリティカルなアプリケーションとネットワーク自体が、負荷や攻撃を受けている状況下でも安定して稼働することを保証します。QoSはトラフィックを区別し、遅延に敏感なフローを優先し、逼迫したリンクの輻輳を管理します。CoPP/CPPrは、偶発的な過負荷や悪意のあるイベントからルーターのCPUと管理スタックを保護します。適切な設計は、一貫したエンドツーエンドのマーキング、規律ある信頼境界、適切なコンディショニング (ポリシング/シェーピング)、適切なサイズのキュー、プロアクティブな輻輳回避、トンネル/暗号化の慎重な取り扱い、そしてアプリケーションの振る舞いと相関するカウンターを使用した継続的な検証に依存します。
分類、信頼、およびエンドツーエンドのマーキング
トラフィックの分類とマーキングは、各ホップでパケットがどのようにキューイングされ、ドロップされる可能性があるかを決定します。
分類とマッチング
- access-list、DSCP/IP precedence、CoS (802.1p)、NBARアプリケーションシグネチャ、またはトンネルの内部ヘッダー (qos pre-classifyを使用) に基づいてマッチさせます。
- 決定論的な動作を維持します。可能な限りレイヤー3/4のフィールドでマッチさせ、一部のプラットフォームではCPUへの影響があるため、NBARは必要な場合にのみ使用します。
信頼境界
- ネットワークが既存のマーキングを受け入れる場所を定義します。一般的:エンドホストは信頼せず、エンタープライズ電話や既知のQoSドメインへのアップリンクは信頼します。
- エッジでは、信頼できないトラフィックをポリシーで定義されたDSCP値に再マーキングします。自身が管理・認証するデバイスのみを信頼します。
- エンドポイント向けのスイッチポートでは、デバイスタイプを明示的に検証しない限り、信頼を解除します (no trust dscp/cos)。
マーキング
- DSCP (6ビット) は、IPネットワークにおける主要なエンドツーエンドのマーキングです。IP precedence (3ビット) はレガシーであり、DSCPの上位ビットにマッピングされます。
- CoS (802.1p, 3ビット) は、VLANトランクを越えるレイヤー2フレームをマーキングします。L2/L3境界でDSCP↔CoSを一貫してマッピングします。
- MPLSコアでは、3ビットのTraffic Class (TC、旧EXP) がQoS情報を伝送します。VPNまたはTEコア全体でセマンティクスを維持するために、イングレスでDSCPをTCに、エグレスでTCをDSCPにマッピングします。
マーキングの一貫性
- 音声ベアラー (低ジッター) にはEF、呼制御シグナリングにはCS3/AF31/AF32、インタラクティブビデオにはAF4x、重要データにはAF2x/AF1x、ベストエフォートにはCS0/BE、スカベンジャーにはCS1を予約します。
- 単一のエンタープライズQoSポリシーを文書化し、WANプロバイダーが契約通りにそれを尊重し、マッピングすることを確認します。
- ドメイン間で変換する場合を除き、経路の途中で再マーキングすることは避けてください。さもないと、優先度の逆転やトラブルシューティングの複雑化を招くリスクがあります。
例 (イングレスエッジでのマーキング):
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
障害モードとトレードオフ:
- 誤ったエッジを信頼すると、優先度の乱用につながります。価値の低いフローが重要なキューを枯渇させる可能性があります。
- DSCP↔CoSのマッピングに一貫性がないと、L2/L3の移行点でQoSが機能しなくなります。
- ソフトウェアプラットフォームでNBARを過度に使用すると、CPU使用率が上昇する可能性があります。静的なマッチングを優先してください。
コンディショニング、キューイング、および輻輳回避
トラフィックコンディショニングは、ネットワークが維持できるレートにトラフィックをシェーピングし、厳格な制限が必要な場合にはポリシングを適用します。
ポリシング vs. シェーピング
- ポリシングはトークンバケットを使用してレートを強制します。超過分はドロップされるか、オプションで再マーキングされます。リンクのキャパシティは維持されますが、損失が増加し、TCPのバックオフやアプリケーションの再試行を引き起こす可能性があります。
- シェーピングは、ターゲットレート (通常はキャリアのCIR) でバッファリングと解放を行い、バーストを平滑化し、下流でのドロップを削減します。キューの深さに比例して遅延とジッターが追加されます。
バーストパラメータ
- シングルレート2パラメータポリサーは、認定情報レート (CIR) と認定バースト (Bc)、およびオプションで超過バースト (Be) を使用します。
- RTTやMTUに対してBcが小さすぎると、フラグメンテーションレベルのドロップや非効率なスループットを引き起こします。シェーピングではBcを帯域幅遅延積の1~2倍以上、ポリシングでは数MTUのサイズに設定します。
CBWFQとLLQ
- Class-Based Weighted Fair Queuing (CBWFQ) は、クラスに対して最小帯域幅を保証します。シェーピングの下で帯域幅をkbpsまたはパーセントで設定します。
- Low-Latency Queue (LLQ) は、クラスに厳格な優先処理 (priority) を追加し、枯渇を防ぐために設定されたレートでポリシングされます。リアルタイムの音声/ビデオベアラーのみをLLQに入れるべきです。
- キューリミット (queue-limit) は、クラスごとにバッファリングされる最大パケット数を設定します。高すぎると遅延が増加し、低すぎるとドロップが増加します。アプリケーションの許容度とのバランスを取ります。
WRED vs. テールドロップ
- テールドロップはキューが満杯になったときにのみ破棄します。これはグローバルなTCP同期と大きな変動を引き起こす可能性があります。
- Weighted Random Early Detection (WRED) は、キューが満杯になる前に確率的なドロップを開始します。DSCPベースのWREDでは、優先度の高いクラスがより深いキューを許容し、早期ドロップの確率が低くなります。
- WREDはTCPフローに有益です。主にUDP (音声) の場合は、バックオフなしに損失を追加するだけです。LLQではWREDを有効にしないでください。
例 (子CBWFQ/LLQとWREDを持つ親シェーピング):
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
主要な設計ポイント:
- 常に自身が制御する下流の最も低いボトルネックに合わせてシェーピングします。プロバイダーのドロッパーではなく、自身のキューイングに決定させます。
- コーデックとコール量に基づいてLLQのサイズを決定します。ヘッダーとVADの変動性のために5~10%のオーバーヘッドを含めます。
- 多重化されたTCPフローが支配的な場合にのみWREDを有効にします。早すぎるドロップを防ぐために、重み付けは控えめに調整します。
トンネルとWANリンクにおけるQoS
トンネルと暗号化は、内部ヘッダーを不明瞭にし、MTUを変化させるため、分類(classification)とフラグメンテーションに影響を与えます。
GRE/DMVPNとIPsec
- 特別な処理を行わない場合、分類では外部ヘッダーしか見えません。トンネルインターフェースで
qos pre-classifyを使用すると、デバイスはカプセル化/暗号化の前に、内部の5タプルとDSCPに基づいて分類を行います。 - DSCPを外部ヘッダーに維持またはコピーして、トランジットネットワーク全体でQoSの動作を維持します。
- MTUとMSSを調整して、フラグメンテーションとPMTUDの失敗を回避します。IPsecの場合、特定のプラットフォームやキャリアでは、暗号化後のフラグメンテーション(fragmentation after-encryption)が必要になることがあります。
- 特別な処理を行わない場合、分類では外部ヘッダーしか見えません。トンネルインターフェースで
トンネルごとのQoSと階層設計
- mGRE/DMVPNでは、スポーク間で公平な共有を確保するために、階層的QoS(トンネルごとにシェーピングし、クラスごとにLLQ/CBWFQを適用)を適用します。
- プロバイダーの回線が厳格なポリサーでCIRを強制している場合、プロバイダーによるテールドロップを避けるために、CIRと同じか、わずかに下回るレートでシェーピングします。
設定例(DMVPNハブ/スポークのトンネルQoS): interface Tunnel30 ip address 10.0.30.1 255.255.255.0 tunnel mode gre multipoint qos pre-classify ip mtu 1400 ip tcp adjust-mss 1360 service-policy output PM-WAN-PARENT ! crypto ipsec transform-set TS esp-aes 256 esp-sha-hmac crypto ipsec profile DMVPN-PROFILE set transform-set TS ! ! プラットフォーム依存: crypto ipsec fragmentation after-encryption
一般的な落とし穴と緩和策:
qos pre-classifyがないと、暗号化後にすべてのトラフィックがclass-defaultに分類され、リアルタイムフローが枯渇(starving)します。- 不適切なMTU/MSSは、大きなセグメントのブラックホール化や不安定なアプリケーションパフォーマンスを引き起こします。パスMTUをエンドツーエンドで検証してください。
- ソフトウェアトンネルで複雑なポリシーをラインレートで適用すると、CPUに負荷がかかる可能性があります。可能な場合はハードウェアオフロードを優先してください。
コントロールプレーン保護 (CoPP/CPPr) と運用上の検証
CoPPは、コントロールプレーンパス内の制御および管理トラフィックを分類し、レート制限することでルーターのCPUを保護します。CPPrは、host、transit、およびCEF-exceptionサブインターフェイスを使用して、より細かい粒度を追加します。
CoPPの基礎
- ポリシーはデータインターフェイスではなく、コントロールプレーンにアタッチします。
- 一般的にサポートされるマッチタイプは
ip dscp、ip precedence、access-groupです。CoPPによって参照されるACLエントリでlogキーワードを使用しないでください。 - 重要なルーティングプロトコル(BGP、OSPF、該当する場合はRSVP/LDP)を、ベストエフォートの管理(HTTP)やバルクの制御トラフィック(例外的なケースでのCPUへのNetFlowエクスポート)から分離します。重要なプロトコルには十分なCIRを提供してください。
CPPrの詳細
control-plane hostは、ルーターで終端されるトラフィック(例:SSH、SNMP、ルーティングセッション)を管理します。control-plane transitは、ハードウェアからパントされる例外トラフィック(例:TTL超過、MTU超過)を処理します。control-plane cef-exceptionは、CEF関連のパントを管理します。- 1つのクラスが不正な動作をした際の巻き添え被害を避けるため、サブインターフェイスごとに異なるポリシーを適用します。
除外設定と正しいアタッチメントを含むCoPPの例: ip access-list extended ACL-TELNET-EXEMPT deny tcp host 10.1.1.1 any eq 23 deny tcp host 172.16.1.1 any eq 23 permit ip any any ip access-list extended ACL-BGP permit tcp any any eq 179 permit tcp any eq 179 any ip access-list extended ACL-HTTP permit tcp any any eq 80 permit tcp any any eq 443 ! class-map match-any CM-BGP match access-group name ACL-BGP class-map match-any CM-HTTP match access-group name ACL-HTTP class-map match-any CM-TELNET match access-group name ACL-TELNET-EXEMPT ! policy-map PM-COPP class CM-BGP police cir 256000 conform-action transmit exceed-action transmit class CM-HTTP police cir 64000 conform-action transmit exceed-action drop class CM-TELNET police cir 100000 conform-action transmit exceed-action drop class class-default police cir 32000 conform-action transmit exceed-action drop ! ! Ensure policy is on the control plane, and not on data interfaces: no interface GigabitEthernet0/0 service-policy input PM-COPP control-plane service-policy input PM-COPP
注:
BGPを過度にレート制限すると、キープアライブの欠落、セッションリセット、ルートチャーンを引き起こす可能性があります。ポリシングが必要な場合は、十分なCIRを設定し、スパイク時のドロップを避けるために
exceed-action transmitを検討してください。permitの前にACLのdenyを使用して、特定の信頼できる管理ソースを除外します。そのACLを関連するクラスのマッチ条件として適用します。マネジメントプレーンの補完機能
- IPv6 RA GuardはL2ポートで不正なルーター広告をブロックしますが、RAがトンネリングされている場合は保護できません。トンネルのエンドポイントで強制するか、可能な場合は認証を使用してください。
- IPv6 Source Guardはバインディングテーブルを使用して有効な送信元アドレスのみを許可します。アクセスポートで未知/未割り当てのIPv6ソースからのトラフィックをドロップし、CPUに負荷をかける例外トラフィックを削減します。
- デバイスのハードニング(未使用サービスの無効化、vtyへのACL適用、SNMPコミュニティの制限)は、コントロールプレーンの露出を減らします。
検証とカウンター
show policy-map interface <int>とshow policy-map control-planeを使用して、パケット数、ドロップ数、ポリスアクションを検証します。CPU負荷が高い症状(例:SSHの低速化、断続的なSNMP)が現れたら、まずshow policy-map control-planeを実行します。- ハードウェアフォワーディングプラットフォームでは、
show platform hardware qfp active statistics dropまたは同等のASICカウンターと関連付けて、WRED/テールドロップを確認します。 - キューについては、
show policy-map interfaceとshow queueing interfaceを使用して、キューの深さ、テールドロップ/WREDドロップ、および優先キューのポリシングを確認します。 - アプリケーションの症状を探します:
- 音声のジッター、パケットロス、または途切れ途切れの音声は、LLQが小さすぎるか、信頼境界が間違っていることを示唆します。
- SSHの低速化や切断、しかしpingは正常な場合は、CoPPによる管理トラフィックのポリシングを示している可能性があります。
- 断続的なSNMPは、管理クラスのドロップや、制限を超えたCEF例外パントと相関している可能性があります。
- 負荷がかかった状態でのTCPスループットの崩壊とWREDドロップの増加は想定内の動作です。テールドロップのみの場合、同期したのこぎり波状のフローを探します。
実践的な問題シナリオ
Acme Engineering社は、インターネットブロードバンド上でIPsec+mGREを使用したDMVPNシングルハブネットワークを運用しています。ユーザーから、本社へのVoIPが途切れがちであること、ブランチルーターのSNMPポーリングが断続的であること、ピーク時にハブへのSSHが遅い、または切断されるとの報告があります。
- 信頼境界を確立し、エッジで再マーキングする
- 理由:電話機と信頼できるアップリンクのみがEF/CS3を設定でき、他のすべてのアクセスとラフィックはBEに再マーキングされます。これにより、リアルタイムクラスを枯渇させる可能性のある優先度の乱用を防ぎます。
- DMVPNトンネルに階層型QoSを実装する
- 理由:アップストリームでのポリシングを避けるため、測定されたプロバイダーのレート(例:20 Mbps)で親シェーパーをトンネルに適用します。親の下で、EF音声にはLLQを、ビデオや重要なデータには帯域幅クラスを、TCPが優勢なクラスにはWREDを、デフォルトにはフェアキューを使用します。これにより、キャリアがパケットをドロップする前に、輻輳管理をローカルで行うことができます。
qos pre-classifyを有効にし、MTU/MSSを調整する
- 理由:
qos pre-classifyは、GRE/IPsecカプセル化の前に、ポリシーが内部のIP/ポート/DSCPに一致することを保証します。ip mtu 1400とip tcp adjust-mss 1360は、カプセル化のオーバーヘッドによるフラグメンテーションやブラックホール化を防ぎます。プロバイダーの動作に対応するため、暗号化後のフラグメンテーションが設定されます。
- インターフェイスに適用されたCoPPを削除し、コントロールプレーンにアタッチする
- 理由:CoPPは入力インターフェイスに関係なくCPUを保護する必要があります。物理インターフェイスから入力サービスポリシーをすべてデタッチし、PM-COPPをコントロールプレーンに適用して、パントされたトラフィックとホストで終端されるトラフィックを一元的に管理します。
- 安全なCIRを持つ個別のCoPPクラスを作成し、信頼できるソースを除外する
- 理由:BGPを独自のクラスに配置し、キープアライブとバーストに十分なCIRを設定します。セッションリセットを避けるためにconform/exceedをtransmitに設定します。CPUへのWeb管理を制限するため、HTTP/HTTPSを低いレートでポリシングします。Telnet/SSHの例外については、ACLで信頼できる管理IPをdenyすることで、ポリシーがそれらをレート制限しないようにしつつ、他のすべてのソースは引き続き制御します。
- カウンターと症状に基づいて検証と改善を繰り返す
- 理由:
show policy-map control-planeを使用して、管理トラフィックのドロップが観測されたSSH/SNMPの問題と一致することを確認し、ドロップがなくなるまでCIRを調整します。show policy-map interface Tunnel30を使用してLLQの使用率を検証し、通常の通話量で優先キューのオーバーフローによるポリシングが発生しないことを確認します。重要なクラスのWREDドロップとテールドロップを監視します。LLQドロップなしで音声品質が低いままであれば、LLQのパーセンテージをわずかに増やします。ドロップが発生する場合は、コーデックと帯域幅に合わせてLLQと親シェーパーのサイズをより正確に設定します。
正しい信頼境界を適用し、ボトルネックの手前でシェーピングを行い、カプセル化の前に分類し、適切にスコープされたCoPP/CPPrポリシーでコントロールプレーンを保護することにより、Acme Engineering社は全体のスループットを犠牲にすることなく、音声品質を回復し、管理アクセスを安定させます。
← マルチキャストルーティングと配信 · すべてのドメイン · VPN、トンネリング、リモート接続 →
これらの問題を練習する → · ExamRoll.ioで時間制限付き練習 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
試験に合格する →