スポンサーリンク
スポンサーリンク

Cisco QoS CBWFQとLLQの違い説明とコンフィグ

QoSを設定する場合、ほとんどの場合「CBWFQ」か「LLQ」になると思われます。

今回は、「CBWFQ」か「LLQ」についての違いとコンフィグの検証をCiscoCMLで検証します。

  • CBWFQ (Class Based Weighted Fair Queue)
  • LLQ (Low Latency Queuing)

「CBWFQ」か「LLQ」との違い

「CBWFQ」と「LLQ」の違いは、簡単でPriority Queueがあるか無いかの違いです。
  • CBWFQ
    Queue1/Queue2/Queue3…Queue n = 帯域制御のQueueとして動きます。
  • LLQ
    Queue1=Priority Queueとして動きます。
    Queue2/Queue3…Queue n = 帯域制御のQueueとして動きます。

結果的に、「CBWFQ」は帯域制御になり、「LLQ」は優先制御+帯域制御になります。

LLQ&CBWFQ

一般的にPriority Queueに入れるFlowは、音声や会議システムなどの遅延にシビアな通信なります。
Priority Queueに入ったパケットは最優先でEgressインターフェイスから出て行きます。

NW構成(CBWFQ)

CBQFW%LLQ2

PC1 -> 1.1.1.1 通信で、最低帯域保証10%確保する
PC2 -> 1.1.1.1 通信で、最低帯域保証15%確保する
PC3 -> 1.1.1.1 通信で、最低帯域保証20%確保する
PC4 -> 1.1.1.1 通信で、最低帯域保証はしない

QoS設定のログ確認は 「show policy-map interface」を参照します 
show policy-map interface

R2#show policy-map interface
GigabitEthernet0/0
Service-policy output: POLICY_MAP_PARENT       //親Policy-map

Class-map: class-default (match-any)
31770 packets, 3129793 bytes       //各Class-mapを通過したパケットの合計
5 minute offered rate 3000 bps, drop rate 0000 bps
Match: any
Queueing
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 31770/3129793
shape (average) cir 100000000, bc 400000, be 400000
target shape rate 100000000       //shaping設定値(100Mbps)

Service-policy : POLICY_MAP_CHILD       //子Policy-map
——————————————————————————-
Class-map: Queue1 (match-all)       //Class-map(Queue1)
7725 packets, 757050 bytes       //Class-map を通過したパケット
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: access-group name PC1_ACL       //Class-mapに導くACL
Queueing
queue limit 64 packets       //queueの深さ
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 7725/757050
bandwidth 10% (10000 kbps)       //帯域制御の値(10Mbps)
——————————————————————————-
Class-map: Queue2 (match-all)       //Class-map(Queue2)
7724 packets, 756952 bytes       //Class-map を通過したパケット
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: access-group name PC2_ACL       //Class-mapに導くACL
Queueing
queue limit 64 packets       //queueの深さ
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 7724/756952
bandwidth 15% (15000 kbps)       //帯域制御の値(15Mbps)
——————————————————————————-
Class-map: Queue3 (match-all)       //Class-map(Queue3)
7725 packets, 757050 bytes       //Class-map を通過したパケット
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: access-group name PC3_ACL       //Class-mapに導くACL
Queueing
queue limit 64 packets       //queueの深さ
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 7725/757050
bandwidth 25% (25000 kbps)       //帯域制御の値(25Mbps)
——————————————————————————-
Class-map: class-default (match-any)       //Class-map(class-default)
8596 packets, 858741 bytes       //Class-map を通過したパケット
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: any                //Class-mapに導くACL無し(any)
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 8596/858741

R2-Config

hostname R2
!
▼▼▼Class-map設定部分▼▼▼
class-map match-all Queue1
match access-group name PC1_ACL
class-map match-all Queue3
match access-group name PC3_ACL
class-map match-all Queue2
match access-group name PC2_ACL
!
▼▼▼子Policy-map 設定部分▼▼▼
policy-map POLICY_MAP_CHILD
class Queue1
bandwidth percent 10
class Queue2
bandwidth percent 15
class Queue3
bandwidth percent 25

▼▼▼親Policy-map 設定部分▼▼▼
policy-map POLICY_MAP_PARENT
class class-default
shape average 100000000
service-policy POLICY_MAP_CHILD
!
interface GigabitEthernet0/0
ip address 10.12.1.2 255.255.255.0
service-policy output POLICY_MAP_PARENT
!
interface GigabitEthernet0/1
ip address 192.168.1.254 255.255.255.0
!
interface GigabitEthernet0/2
ip address 192.168.2.254 255.255.255.0
!
interface GigabitEthernet0/3
ip address 192.168.3.254 255.255.255.0
!
interface GigabitEthernet0/4
ip address 192.168.4.254 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.12.1.1
!
▼▼▼ACL 設定部分▼▼▼
ip access-list extended PC1_ACL
permit ip host 192.168.1.100 host 1.1.1.1
ip access-list extended PC2_ACL
permit ip host 192.168.2.100 host 1.1.1.1
ip access-list extended PC3_ACL
permit ip host 192.168.3.100 host 1.1.1.1
ip access-list extended PC4_ACL
permit ip host 192.168.4.100 host 1.1.1.1
!
control-plane
!
end

NW構成(LLQ)

「Priority Queue」は最大帯域を設定しなくはなりません。
設定しない場合、以下のエラーメッセージがでます。
“Strict priority or priority level cannot co-exist with bandwidth kbps/percent in any other class.”

LLQ

PC1 -> 1.1.1.1 通信で、最大帯域5%確保する
PC2 -> 1.1.1.1 通信で、最低帯域保証10%確保する
PC3 -> 1.1.1.1 通信で、最低帯域保証15%確保する
PC4 -> 1.1.1.1 通信で、最低帯域保証はしない

QoS設定のログ確認は 「show policy-map interface」を参照します 
show policy-map interface

show policy-map interface

R2#show policy-map interface
GigabitEthernet0/0
Service-policy output: POLICY_MAP_PARENT       //親Policy-map

Class-map: class-default (match-any)
54780 packets, 5396727 bytes       //各Class-mapを通過したパケットの合計
5 minute offered rate 3000 bps, drop rate 0000 bps
Match: any
Queueing
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 54761/5394865
shape (average) cir 100000000, bc 400000, be 400000
target shape rate 100000000       //shaping設定値(100Mbps)
——————————————————————————-
Service-policy : POLICY_MAP_CHILD       //子Policy-map
queue stats for all priority classes:
Queueing
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 24/2352
——————————————————————————-
Class-map: Queue1 (match-all)       //Class-map(Queue1)
13324 packets, 1305752 bytes       //Class-map を通過したパケット
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: access-group name PC1_ACL       //Class-mapに導くACL
Priority: 5% (5000 kbps), burst bytes 125000, b/w exceed drops: 0
//priorityの最大帯域制御の値(5Mbps)
——————————————————————————-
Class-map: Queue2 (match-all)       //Class-map(Queue2)
13323 packets, 1305654 bytes       //Class-map を通過したパケット
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: access-group name PC2_ACL       //Class-mapに導くACL
Queueing
queue limit 64 packets       //queueの深さ
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 13323/1305654
bandwidth 10% (10000 kbps)       //帯域制御の値(10Mbps)
——————————————————————————-
Class-map: Queue3 (match-all)       //Class-map(Queue3)
13324 packets, 1305752 bytes       //Class-map を通過したパケット
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: access-group name PC3_ACL       //Class-mapに導くACL
Queueing
queue limit 64 packets       //queueの深さ
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 13324/1305752
bandwidth 15% (15000 kbps)       //帯域制御の値(15Mbps)
——————————————————————————-
Class-map: class-default (match-any)       //Class-map(class-default)
14809 packets, 1479569 bytes       //Class-map を通過したパケット
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: any                //Class-mapに導くACL無し(any)
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 15245/1522297

R2-config

hostname R2
!
▼▼▼Class-map設定部分▼▼▼
class-map match-all Queue1
match access-group name PC1_ACL
class-map match-all Queue3
match access-group name PC3_ACL
class-map match-all Queue2
match access-group name PC2_ACL
!
▼▼▼子Policy-map 設定部分▼▼▼
policy-map POLICY_MAP_CHILD
class Queue1
priority percent 5
class Queue2
bandwidth percent 10
class Queue3
bandwidth percent 15

▼▼▼親Policy-map 設定部分▼▼▼
policy-map POLICY_MAP_PARENT
class class-default
shape average 100000000
service-policy POLICY_MAP_CHILD
!
interface GigabitEthernet0/0
ip address 10.12.1.2 255.255.255.0
service-policy output POLICY_MAP_PARENT
!
interface GigabitEthernet0/1
ip address 192.168.1.254 255.255.255.0
!
interface GigabitEthernet0/2
ip address 192.168.2.254 255.255.255.0
!
interface GigabitEthernet0/3
ip address 192.168.3.254 255.255.255.0
!
interface GigabitEthernet0/4
ip address 192.168.4.254 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.12.1.1
!
▼▼▼ACL 設定部分▼▼▼
ip access-list extended PC1_ACL
permit ip host 192.168.1.100 host 1.1.1.1
ip access-list extended PC2_ACL
permit ip host 192.168.2.100 host 1.1.1.1
ip access-list extended PC3_ACL
permit ip host 192.168.3.100 host 1.1.1.1
ip access-list extended PC4_ACL
permit ip host 192.168.4.100 host 1.1.1.1
!
control-plane
!
end

まとめ

  • CBWFQ
    各Queueに最低帯域保証を設定して、FLowに対して帯域保証を提供する。
  • LLQ
    Priority Queueと他Queueに最低帯域保証を設定して、FLowに対して優先制御と帯域保証を提供する。
    Priority Queueには最大帯域設定が必要
  • CBWFQ、LLQは共に輻輳が起こってから動作する。

 

QoSALL
スポンサーリンク
スポンサーリンク