H-QoS を設定する前に、H-QoS プロファイルをルータ上で有効にする必要があります。H-QoS プロファイルを有効にした後に、次の設定に示すように、ルータをリロードします。
Router# configure
Router(config)# hw-module profile qos hqos-enable
Router(config)# commit
Router# reload
Router# admin
sysadmin-vm:0_RP0# hw-module location all reload
階層化キューイングの設定に含まれているステップは次のとおりです。
-
クラスマップを設定します。
-
前のステップで設定したクラスマップを使用して子トラフィック ポリシーを設定します。
-
親トラフィック ポリシーを設定して、そのポリシー内に子トラフィック ポリシーを追加します。
(注) |
デフォルトのクラスマップ サイズ(32)プロファイルが RSP4 で使用されている場合、サブインターフェイスでサポートされているポリシーマップのスケールは、RSP3 でサポートされているスケールと比較すると小さくなります。RSP4 でサブインターフェイス
ポリシーマップのスケールを大きくするには、hw-module profile qos max-classmap-size を使用してポリシーマップごとに 4 つのクラスマップを設定します。
|
親トラフィック ポリシーは H-QoSポリシーであり、物理またはバンドルのメイン インターフェイスおよびサブインターフェイスに適用できます。
設定例
クラスマップの設定は次のとおりです。
Router# configure
Router(config)# class-map match-any tc2
Router(config-cmap)# match traffic-class 1
Router(config-cmap)# end-class-map
Router(config)# commit
子トラフィック ポリシーの設定は次のとおりです。
Router# configure
Router(config)# policy-map child
Router(config-pmap)# class tc2
Router(config-pmap-c)# shape average percent 20
Router(config-pmap-c)# exit
Router(config-pmap)# class class-default
Router(config-pmap-c)# shape average percent 1
Router(config-pmap)# end-policy-map
Router(config)# commit
親トラフィック ポリシーの設定は次のとおりです。
Router# configure
Router(config)# policy-map parent
Router(config-pmap)# class class-default
Router(config-pmap-c)# service-policy child
Router(config-pmap-c)# shape average percent 50
Router(config-pmap)# end-policy-map
Router(config)# commit
実行コンフィギュレーション
/* Configuration of a Class-map */
class-map match-any tc2
match traffic-class 1
end-class-map
!
/* Configuration of a Child Traffic Policy */
policy-map child
class tc2
shape average percent 20
!
class class-default
shape average percent 1
!
end-policy-map
!
/* Configuration of a Parent Traffic Policy */
policy-map parent
class class-default
service-policy child
shape average percent 50
!
end-policy-map
!
メイン インターフェイスでの親トラフィック ポリシーの適用
Router# configure
Router(config)# Interface TenGigE 0/0/0/10
Router(config-int)# service-policy output parent
Router(config-int)# commit
サブインターフェイスでの親トラフィック ポリシーの適用
Router# configure
Router(config)# Interface TenGigE 0/0/0/10.1
Router(config-int)# service-policy output parent
Router(config-int)# commit
確認
show qos interface interface-name output コマンドを使用して、H-QoS トラフィック ポリシーがインターフェイスに正しく適用されているかどうかを確認します。次の例では、Level1 Class が親トラフィック ポリシーに関連付けられているクラスマップに関する情報を提供し、Level2 Class が子トラフィック ポリシーに関連付けられているクラスマップに関する情報を提供します。
RP/0/RP0/CPU0:ios#show qos interface ten0/0/0/10 output
NOTE:- Configured values are displayed within parentheses
Interface TenGigE0/0/0/10 ifh 0x1e0 -- output policy
NPU Id: 0
Total number of classes: 3
Interface Bandwidth: 10000000 kbps
VOQ Base: 1136
Accounting Type: Layer1 (Include Layer 1 encapsulation and above)
------------------------------------------------------------------------------
Level1 Class = class-default
Queue Max. BW. = no max (50 %)
Queue Min. BW. = 0 kbps (default)
Inverse Weight / Weight = 0 / (BWR not configured)
Level2 Class = tc2
Egressq Queue ID = 1138 (LP queue)
Queue Max. BW. = 1020015 kbps (20 %)
Queue Min. BW. = 0 kbps (default)
Inverse Weight / Weight = 1 / (BWR not configured)
Guaranteed service rate = 1000000 kbps
TailDrop Threshold = 1253376 bytes / 10 ms (default)
WRED not configured for this class
Level2 Class = class-default
Egressq Queue ID = 1136 (Default LP queue)
Queue Max. BW. = 50625 kbps (1 %)
Queue Min. BW. = 0 kbps (default)
Inverse Weight / Weight = 1 / (BWR not configured)
Guaranteed service rate = 50000 kbps
TailDrop Threshold = 62720 bytes / 10 ms (default)
WRED not configured for this class
親および子のトラフィック ポリシーの異なるトラフィック クラスに一致したパケットの統計情報は、show policy-map interface interface-name output コマンドを使用して表示できます。また、このコマンドは、それぞれのトラフィック クラスに一致したパケットに指定したアクションが適用されたときに送信またはドロップされるパケットの数も表示します。
Router# show policy-map interface ten0/0/0/10 output
TenGigE0/0/0/10 output: parent
Class class-default
Classification statistics (packets/bytes) (rate - kbps)
Matched : 2313578823/296138089344 8494665
Transmitted : 232805738/29799134464 854465
Total Dropped : 2080773085/266338954880 7640200
Policy child Class tc2
Classification statistics (packets/bytes) (rate - kbps)
Matched : 2313578823/296138089344 8494665
Transmitted : 232805738/29799134464 854465
Total Dropped : 2080773085/266338954880 7640200
Queueing statistics
Queue ID : 1138
Taildropped(packets/bytes) : 2080773085/266338954880
Policy child Class class-default
Classification statistics (packets/bytes) (rate - kbps)
Matched : 0/0 0
Transmitted : 0/0 0
Total Dropped : 0/0 0
Queueing statistics
Queue ID : 1136
Taildropped(packets/bytes) : 0/0
階層型ポリサーを使用する場合、親ポリサーの統計情報を保存するための独立した ハードウェア カウンタのセットはありません。代わりに、親ポリサーの統計情報は、同じポリシーマップにあるすべての子ポリサーの合計として、ソフトウェアで処理されます。
CoS 値が 1 および 2 の 2 つのトラフィックのストリームがそれぞれ 3.5 Gbps の速度で送信される次の例で、これを示します。
/*Hierarchical Policy Map Configuration*/
====================================================
Router# show running-config policy-map Hingress
policy-map Hingress
class class-default
service-policy ingress
police rate 5 gbps peak-rate 9 gbps
!
!
end-policy-map
!
/*Ingress Policy Map Configuration*/
=====================================
Router#show running-config policy-map ingress
policy-map ingress
class cos1
set traffic-class 1
police rate 5 gbps
!
!
class cos2
set traffic-class 2
police rate 5 gbps
!
!
class class-default
!
end-policy-map
!
/*Policy Map applied at TenGigE0/0/0/6.100 Interface*/
=======================================================
Router#show policy-map interface tenGigE 0/0/0/6.100 input
TenGigE0/0/0/6.100 input: Hingress
Class class-default
Classification statistics (packets/bytes) (rate - kbps)
Matched : 856717937/109659895936 6683676
Transmitted : 856717937/109659895936 6683676
Total Dropped : 0/0 0
Policing statistics (packets/bytes) (rate - kbps)
Policed(conform) : 856717937/109659895936 6683674
Policed(exceed) : 0/0 0
Policed(violate) : 0/0 0
Policed and dropped : 0/0
Policy ingress Class cos1
Classification statistics (packets/bytes) (rate - kbps)
Matched : 437826303/56041766784 3341838
Transmitted : 437826303/56041766784 3341838
Total Dropped : 0/0 0
Policing statistics (packets/bytes) (rate - kbps)
Policed(conform) : 437826303/56041766784 3341838
Policed(exceed) : 0/0 0
Policed(violate) : 0/0 0
Policed and dropped : 0/0
Policed and dropped(parent policer) : 0/0
Policy ingress Class cos2
Classification statistics (packets/bytes) (rate - kbps)
Matched : 418891634/53618129152 3341838
Transmitted : 418891634/53618129152 3341838
Total Dropped : 0/0 0
Policing statistics (packets/bytes) (rate - kbps)
Policed(conform) : 418891634/53618129152 3341838
Policed(exceed) : 0/0 0
Policed(violate) : 0/0 0
Policed and dropped : 0/0
Policed and dropped(parent policer) : 0/0
Policy ingress Class class-default
Classification statistics (packets/bytes) (rate - kbps)
Matched : 0/0 0
Transmitted : 0/0 0
Total Dropped : 0/0 0
Policy Bag Stats time: 0
Policy Bag Stats time: 0
3 レベル H-QoS の設定例
3 レベル H-QoS を設定するには、次の手順を実行します。
-
ポート シェーパーまたは EFP グループ シェーパーを設定します。
-
EFP 親シェーパーとクラスまたはサービス レベルのアクションを使用して 2 レベル H-QoS ポリシーを設定します。
-
メイン インターフェイスでポート シェーパーまたは EFP グループ シェーパーを有効にしてルート ポリシーにします。
-
各 EFP インスタンスで 2 レベル H-QoS ポリシーを有効にします。これにより、サービス、EFP、EFP グループまたはポート SLA の 3 レベル階層が実現します。
次に、3 レベル H-QoS の設定例を示します。policy-map port_shaper
class class-default
shape average 6 gbps
!
end-policy-map
!
policy-map efp_policy
class class-default
service-policy efp_policy_child
shape average 4 gbps
!
end-policy-map
!
policy-map efp_policy_child
class tc1
shape average 50 mbps
priority level 1
!
class tc2
bandwidth percent 50
!
class tc3
bandwidth percent 30
!
class class-default
!
end-policy-map
!
interface TenGigE0/5/0/4
service-policy output port_shaper
!
interface TenGigE0/5/0/4.1
service-policy output efp_policy
encapsulation dot1q 11
!
interface TenGigE0/5/0/4.2
service-policy output efp_policy
encapsulation dot1q 12
!
確認
XR EXEC モードで show policy-map interface コマンドを実行して、各サブインターフェイス/EFP ポリシーのパケット/バイト カウントとレート ポスト ポート シェーパーの適用を表示します。