Friday, October 22, 2021

What is LLQ (Low Latency Queuing) and CBWFQ (Class-Based Weighted Fair Queuing)? How to configure LLQ and CBWFQ?

 LLQ (Low Latency Queuing) 

 CBWFQ (Class-Based Weighted Fair Queuing)



Cisco created CBWFQ and LLQ using some of the best concepts from legacy queuing methods. PQ and CQ as well as WFQ while adding several features.




LLQ low-latency queuing is developed by Cisco and it provides strict priority queuing to CBWFQ (class-based weighted fair queueing. Low-latency queuing provides delay-sensitive data like VoIP traffic to be given more preferential treatment over other traffic by letting the data be dequeued and sent first.  

CBWFQ (Class-Based Weighted Fair Queuing) it's a scheduling mechanism that allows a  minimum bandwidth guarantee when the network congestion occurs on an interface. 

CBWFQ is used to provide traffic classes during times of network congestion at an interface. Each of the CBWFQ queues is assigned a weight, and the packets are treated from the queues based upon the weight of the queue.CBWFQ and LLQ both support 64 queues/classes and also have one special queue called the class-default queue. LLQ and CBWFQ are both tools that use MQC and NBAR for configuration. there is one drawback in CBWFQ is VoIP traffic suffers an unacceptable delay. 





Advantage of LLQ

LLQ provides all the benefits of CBWFQ (Class-Based Weighted Fair Queuing), including the capability of the user to queue and guarantees each queue an appropriate amount of bandwidth and to apply WRED to each of the queues (except to the strict-priority queue). 

LLQ combines priority queuing and CBWFQ and provides Strict priority queueing for sensitive traffic like VoIP and video. LLQ also reduces latency/jitter for communications.


let's see the configuration for a better understanding of LLQ and CBWFQ.


Topology:-



Goal:-

  • configure the topology as per the diagram above.
  • configure IP addresses to their ports
  • configure EIGRP AS 65120 and advertise directly connected interfaces.
  • configure CBWFQ tool on router 1 
  • configure ICMP bandwidth 18 percent, FTP bandwidth 28 and HTTP bandwidth 38.
  • configure LLQ tool on router 3
  • configure VoIP priority 192, ICMP bandwidth 120, HTTP priority 10 and FTP priority 15.
  • The rest of the traffic use WFQ.


R1(config)#interface serial 4/0

R1(config-if)#ip address 192.168.10.1 255.255.255.0

R1(config-if)#no shutdown

R1(config-if)#exit


R1(config)#interface fastEthernet 0/0

R1(config-if)#ip address 10.1.1.1 255.255.255.0

R1(config-if)#no shutdown

R1(config-if)#no keepalive

R1(config-if)#exit


R2(config)#interface serial 4/0

R2(config-if)#ip address 192.168.10.2 255.255.255.0

R2(config-if)#no shutdown

R2(config-if)#exit


R2(config)#interface fastEthernet 0/0

R2(config-if)#ip address 20.1.1.1 255.255.255.0

R2(config-if)#no shutdown

R2(config-if)#no keepalive

R2(config-if)#exit


R2(config)#interface serial 4/1

R2(config-if)#ip address 23.1.1.1 255.255.255.0

R2(config-if)#no shutdown

R2(config-if)#exit


R3(config)#interface serial 4/1

R3(config-if)#ip address 23.1.1.2 255.255.255.0

R3(config-if)#no shutdown

R3(config-if)#exit


R3(config)#interface fastEthernet 0/0

R3(config-if)#ip address 30.1.1.1 255.255.255.0

R3(config-if)#no keepalive

R3(config-if)#no shutdown

R3(config-if)#exit



R1(config)#router eigrp 65120

R1(config-router)#network 192.168.10.0

R1(config-router)#network 10.0.0.0

R1(config-router)#no auto-summary

R1(config-router)#exit



R2(config)#router eigrp 65120
R2(config-router)#network 192.168.10.0
R2(config-router)#network 192.168.10.0
R2(config-router)#network 20.0.0.0
R2(config-router)#network 23.1.1.0
R2(config-router)#no auto-summary
R2(config-router)#exit

R3(config)#router eigrp 65120
R3(config-router)#network 23.1.1.0
R3(config-router)#network 30.0.0.0
R3(config-router)#no auto-summary
R3(config-router)#exit

R1(config)#class-map ICMP-TRAFFIC

R1(config-cmap)#match protocol icmp

R1(config-cmap)#class-map HTTP-TRAFFIC

R1(config-cmap)#match protocol http

R1(config-cmap)#class-map FTP-TRAFFIC

R1(config-cmap)#match protocol ftp

R1(config-cmap)#exit


R1(config)#policy-map CBWFQ-QUEUE

R1(config-pmap)#class ICMP-TRAFFIC

R1(config-pmap-c)#bandwidth percent 18

R1(config-pmap-c)#class HTTP-TRAFFIC

R1(config-pmap-c)#bandwidth percent 38

R1(config-pmap-c)#exit



R1(config-pmap)#policy-map CBWFQ-QUEUE

R1(config-pmap)#class FTP-TRAFFIC

R1(config-pmap-c)#bandwidth percent 28

R1(config-pmap-c)#exit

R1(config-pmap)#class class-default

R1(config-pmap-c)#exit

R1(config-pmap)#exit


R1(config)#interface serial 4/0

R1(config-if)#service-policy output CBWFQ-QUEUE

R1(config-if)#END


R1#show policy-map interface serial 4/0

 Serial4/0


  Service-policy output: CBWFQ-QUEUE


    Class-map: ICMP-TRAFFIC (match-all)

      0 packets, 0 bytes

      5 minute offered rate 0000 bps, drop rate 0000 bps

      Match: protocol icmp

      Queueing

      queue limit 64 packets

      (queue depth/total drops/no-buffer drops) 0/0/0

      (pkts output/bytes output) 0/0

      bandwidth 18% (277 kbps)


    Class-map: HTTP-TRAFFIC (match-all)

      0 packets, 0 bytes

      5 minute offered rate 0000 bps, drop rate 0000 bps

      Match: protocol http

      Queueing

      queue limit 64 packets

      (queue depth/total drops/no-buffer drops) 0/0/0

      (pkts output/bytes output) 0/0

      bandwidth 38% (586 kbps)


    Class-map: FTP-TRAFFIC (match-all)

      0 packets, 0 bytes

      5 minute offered rate 0000 bps, drop rate 0000 bps

      Match: protocol ftp

      Queueing

      queue limit 64 packets

      (queue depth/total drops/no-buffer drops) 0/0/0

      (pkts output/bytes output) 0/0

      bandwidth 28% (432 kbps)


    Class-map: class-default (match-any)

      2 packets, 48 bytes

      5 minute offered rate 0000 bps, drop rate 0000 bps

      Match: any


      queue limit 64 packets

      (queue depth/total drops/no-buffer drops) 0/0/0

      (pkts output/bytes output) 2/48


 

R1#show run policy-map

Building configuration...


Current configuration : 185 bytes

!

policy-map CBWFQ-QUEUE

 class ICMP-TRAFFIC

  bandwidth percent 18

 class HTTP-TRAFFIC

  bandwidth percent 38

 class FTP-TRAFFIC

  bandwidth percent 28

 class class-default

!

end


R1#show run class-map

Building configuration...


Current configuration : 168 bytes

!

class-map match-all FTP-TRAFFIC

 match protocol ftp

class-map match-all ICMP-TRAFFIC

 match protocol icmp

class-map match-all HTTP-TRAFFIC

 match protocol http

end




FROM ROUTER 2 















FROM ROUTER 1












  • configure LLQ tool on router 3



R3(config)#ip access-list extended VoIP

R3(config-ext-nacl)#permit udp any any range 16380 32770

R3(config-ext-nacl)#exit


R3(config)#class-map ICMP-TRAFFIC

R3(config-cmap)#match protocol icmp

R3(config-cmap)#exit


R3(config)#class-map HTTP-TRAFFIC

R3(config-cmap)#match protocol http

R3(config-cmap)#exit


R3(config)#class-map FTP-TRAFFIC

R3(config-cmap)#match protocol ftp

R3(config-cmap)#exit


R3(config)#class-map VoIP-TRAFFIC

R3(config-cmap)#match access-group name VoIP

R3(config-cmap)#EXIT


R3(config)#policy-map LLQ

R3(config-pmap)#class VoIP-TRAFFIC

R3(config-pmap-c)#priority 190

R3(config-pmap-c)#exit


R3(config-pmap)#class ICMP-TRAFFIC

R3(config-pmap-c)#bandwidth 120

R3(config-pmap-c)#exit


R3(config-pmap)#class HTTP-TRAFFIC

R3(config-pmap-c)#priority 10

R3(config-pmap-c)#exit


R3(config-pmap)#class FTP-TRAFFIC

R3(config-pmap-c)#priority 15

R3(config-pmap-c)#exit


R3(config-pmap)#class class-default

R3(config-pmap-c)#fair-queue

R3(config-pmap-c)#exit

R3(config-pmap)#exit


R3(config)#interface serial 4/1

R3(config-if)#service-policy output LLQ

R3(config-if)#EXIT

R3(config)#END


R3#show policy-map interface serial 4/1

 Serial4/1


  Service-policy output: LLQ


    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) 0/0


    Class-map: VoIP-TRAFFIC (match-all)

      0 packets, 0 bytes

      5 minute offered rate 0000 bps, drop rate 0000 bps

      Match: access-group name VoIP

      Priority: 190 kbps, burst bytes 4750, b/w exceed drops: 0



    Class-map: ICMP-TRAFFIC (match-all)

      0 packets, 0 bytes

      5 minute offered rate 0000 bps, drop rate 0000 bps

      Match: protocol icmp

      Queueing

      queue limit 64 packets

      (queue depth/total drops/no-buffer drops) 0/0/0

      (pkts output/bytes output) 0/0

      bandwidth 120 kbps


    Class-map: HTTP-TRAFFIC (match-all)

      0 packets, 0 bytes

      5 minute offered rate 0000 bps, drop rate 0000 bps

      Match: protocol http

      Priority: 10 kbps, burst bytes 1500, b/w exceed drops: 0



    Class-map: FTP-TRAFFIC (match-all)

      0 packets, 0 bytes

      5 minute offered rate 0000 bps, drop rate 0000 bps

      Match: protocol ftp

      Priority: 15 kbps, burst bytes 1500, b/w exceed drops: 0



    Class-map: class-default (match-any)

      5 packets, 280 bytes

      5 minute offered rate 0000 bps, drop rate 0000 bps

      Match: any

      Queueing

      queue limit 64 packets

      (queue depth/total drops/no-buffer drops/flowdrops) 0/0/0/0

      (pkts output/bytes output) 5/280

      Fair-queue: per-flow queue limit 16 packets


R3#show policy-map

  Policy Map LLQ

    Class VoIP-TRAFFIC

      priority 190 (kbps)

    Class ICMP-TRAFFIC

      bandwidth 120 (kbps)

    Class HTTP-TRAFFIC

      priority 10 (kbps)

    Class FTP-TRAFFIC

      priority 15 (kbps)

    Class class-default

      fair-queue



R3#show run class-map

Building configuration...


Current configuration : 231 bytes

!

class-map match-all FTP-TRAFFIC

 match protocol ftp

class-map match-all VoIP-TRAFFIC

 match access-group name VoIP

class-map match-all ICMP-TRAFFIC

 match protocol icmp

class-map match-all HTTP-TRAFFIC

 match protocol http

end


R3#show run policy-map

Building configuration...


Current configuration : 197 bytes

!

policy-map LLQ

 class VoIP-TRAFFIC

  priority 190

 class ICMP-TRAFFIC

  bandwidth 120

 class HTTP-TRAFFIC

  priority 10

 class FTP-TRAFFIC

  priority 15

 class class-default

  fair-queue

!

end


R3#ping 10.1.1.1 source 30.1.1.1 repeat 11

Type escape sequence to abort.

Sending 11, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:

Packet sent with a source address of 30.1.1.1

!!!!!!!!!!!

Success rate is 100 percent (11/11), round-trip min/avg/max = 40/48/56 ms

R3#show policy-map interface serial 4/1

 Serial4/1


  Service-policy output: LLQ


    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) 0/0


    Class-map: VoIP-TRAFFIC (match-all)

      0 packets, 0 bytes

      5 minute offered rate 0000 bps, drop rate 0000 bps

      Match: access-group name VoIP

      Priority: 190 kbps, burst bytes 4750, b/w exceed drops: 0



    Class-map: ICMP-TRAFFIC (match-all)

      16 packets, 1664 bytes

      5 minute offered rate 0000 bps, drop rate 0000 bps

      Match: protocol icmp

      Queueing

      queue limit 64 packets

      (queue depth/total drops/no-buffer drops) 0/0/0

      (pkts output/bytes output) 16/1664

      bandwidth 120 kbps


    Class-map: HTTP-TRAFFIC (match-all)

      0 packets, 0 bytes

      5 minute offered rate 0000 bps, drop rate 0000 bps

      Match: protocol http

      Priority: 10 kbps, burst bytes 1500, b/w exceed drops: 0



    Class-map: FTP-TRAFFIC (match-all)

      0 packets, 0 bytes

      5 minute offered rate 0000 bps, drop rate 0000 bps

      Match: protocol ftp

      Priority: 15 kbps, burst bytes 1500, b/w exceed drops: 0



    Class-map: class-default (match-any)

      420 packets, 28159 bytes

      5 minute offered rate 0000 bps, drop rate 0000 bps

      Match: any

      Queueing

      queue limit 64 packets

      (queue depth/total drops/no-buffer drops/flowdrops) 0/0/0/0

      (pkts output/bytes output) 420/28159

      Fair-queue: per-flow queue limit 16 packets








No comments:

Post a Comment

INSTAGRAM FEED

@soratemplates