内容

概要

ここでは、イーサネット サブインターフェイスへのClass-Based Weighted Fair Queuing(CBWFQ; クラスベース均等化キューイング)および他のCisco IOS® ソフトウェア ベースQuality of Service(QoS; サービス品質)機能の適用方法について説明します。イーサネット サブインターフェイスは、Cisco IOSの論理インターフェイスです。Modular QoS CLI(MQC; モジュラQoSコマンドライン インターフェイス)を使用して、サービス ポリシーを作成し、イーサネット サブインターフェイスに適用することができます。

前提条件

要件

このドキュメントに特有の要件はありません。

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。

このマニュアルの情報は、特定のラボ環境に置かれたデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。実稼動中のネットワークで作業をしている場合、実際にコマンドを使用する前に、その潜在的な影響について理解しておく必要があります。

表記法

ドキュメントの表記法の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。

サービスポリシーを適用する方法

一般的に、ポリシーをどこに適用するかは、ポリシーによってアクティブ化するQoS機能に応じて異なります。イーサネット サブインターフェイスは、次の機能をサポートしています。

インターフェイスから送出する必要があるパケットの数がそのインターフェイスの出力レートを超えると、ルータではパケットのキューイングが開始されます。超過パケットはキューに保管されます。送信待機パケットには、キューイング方式を適用できます。

Cisco IOS の論理インターフェイスでは、本質的な理由で輻輳状態をサポートせず、キューイング方法を適用するサービス ポリシーの直接的な適用もサポートしていません。その代わりに、Generic Traffic Shaping(GTS; ジェネリック トラフィック シェーピング)またはクラスベース シェーピングのいずれかを使用して、サブインターフェイスにシェーピングを最初に適用する必要があります。詳細については、『ポリシングとシェーピング』を参照してください。

キューイングを適用するサービス ポリシーをシェーピングを適用せずにイーサネット サブインターフェイスに設定すると、次のログメッセージがルータに表示されます。

router(config)# interface ethernet0/0.1
router(config-subif)# service-policy output test
 CBWFQ : Not supported on subinterfaces

ギガビット イーサネット サブインターフェイスの場合も同じです。

c7400(config)# interface gig0/0.1
c7400(config-subif)# service-policy ou
c7400(config-subif)# service-policy output outFE
  CBWFQ : Not supported on subinterfaces

すなわち、親レベルでshape コマンドを使用し、階層化ポリシーを設定する必要があります。下位レベルでは、CBWFQの場合は bandwidth コマンド、Low Latency Queueing (LLQ; 低遅延キューイング)の場合は priority コマンドを使用します。クラスベース シェイピングは出力レートを制限するので、(想定では)論理サブインターフェイス上で輻輳ステートが発生しやすくなります。次に、サブインターフェイスで「バックプレッシャ」が適用され、シェイパで保留されている過剰パケットのキューイングが Cisco IOS により開始されます。

階層型ポリシーの適用

階層化ポリシーを適用する手順は、次のとおりです。

  1. 子レベルまたは下位レベルのポリシーを作成し、キューイング方式を設定します。次の例では、priority コマンドを使用してLLQを設定し、bandwidth コマンドを使用してCBWFQを設定しています。詳細については、『輻輳管理の概要』を参照してください。

    policy-map child 
     class voice 
      priority 512
  2. 親レベルまたは上位レベルのポリシーを作成し、クラスベース シェイピングを適用します。子クラスのアドミッション制御は親クラスのシェイピング レートに基づいて実行されるので、親ポリシーの下のコマンドとして子ポリシーを適用します。

    policy-map parent
     class class-default 
      shape average 2000000 
      service-policy child 
  3. サブインターフェイスに親ポリシーを適用します。

    interface ethernet0/0.1
     service-policy parent 

クラスベース シェーピングの設定

このセクションでは、このドキュメントで説明する機能を設定するために必要な情報を提供しています。

注:この文書で使用されているコマンドの詳細を調べるには、「Command Lookup ツール」を使用してください(登録ユーザのみ)。

コンフィギュレーション

ルータ 2620A
hostname 2620A 
! 
ip cef 
! 
class-map match-any dscp46 
 match ip dscp 46 
class-map match-all telnet_ping_snmp 
 match access-group 150 
class-map match-all http 
 match access-group 154 
class-map match-all pop3_smtp 
 match access-group 153 
! 
! 
policy-map voice_traffic 
 class dscp46 
  shape average 30000 10000 
 class telnet_ping_snmp 
  shape average 20000 15440 
 class pop3_smtp 
  shape average 20000 15440 
 class http 
  shape average 20000 15440 
! 
interface FastEthernet0/0 
 ip address 10.10.247.2 255.255.255.0 
 duplex auto 
 speed auto 
! 
interface FastEthernet0/0.1 
 encapsulation dot1Q 1 native 
 ip address 10.1.1.1 255.255.255.0 
 service-policy output voice_traffic

確認

ここでは、設定が正しく機能していることを確認するために使用する情報を示します。

特定の show コマンドは、アウトプット インタープリタでサポートされています。このツールを使用すると、show コマンド出力を分析できます。

注:クラスベースシェーピングは、インターフェイスおよびサブインターフェイスレベルで動作します。IOS 12.2(2.5) には、メイン インターフェイスおよびサブインターフェイスのIPアドレスにシェイピングを設定できる機能があります。

関連情報