CBWFQ can be used to provide fixed bandwidth guarantees
CBWFQ extends the standard WFQ functionality to provide user-defined traffic class support.
It can be classified based on user-defined matching conditions;
packet traffic constituted satisfy the matching condition category.
Queue is reserved for each class, traffic belonging to the same category is directed to the priority queue.
CBWFQ architecture architecture
can be considered the content of the class definition, then take WFQ way classification. Such as the ICMP traffic into class1, disposed protocol traffic class2, no provision is placed into class-default. CBWFQ supports multiple classes (depending on the platform)
CBWFQ architecture: classification
classified using class maps;
availability of certain classes of options depending on Cisco IOS version;
a number of sorting options depending on the type of interfaces and package services strategies;
for Example:
Matching on Frame Relay discard eligible bit element can only be used on an interface with Frame Relay encapsulation.
If MPLS is not enabled, no influence on the match MPLS EXP bits.
If you do not use the ISL, then no effect on the match bit ISL priority.
CBWFQ architecture: insertion policy insertion strategy
maximum number of packets in each queue can hold (queue size). The maximum queue size associated with the platform.
After the packet is classified into a queue if there is no limit for the queue (tail-drop within each class, tail drop), the router will queuing packets.
WRED can be used in conjunction with CBWFQ, to prevent congestion class --CBWRED
CBWFQ architecture: scheduling scheduling
CBWFQ accordance with the allocation to the weight class of traffic to ensure the bandwidth, can be defined by specifying the weights, three distribution:
the bandwidth (in kbps)
percentage of bandwidth (the available interface bandwidth percentage)
remaining available bandwidth percentage of
a service strategies can not have mixed types of weights, such as first class map 1 match bandwidth, class map 2 must also match the bandwidth.
show interface command can be used to display the available bandwidth.
CBWFQ architecture: available bandwidth available bandwidth of
the available bandwidth is calculated as
the available bandwidth * = percentage of interface bandwidth (75%, is not recommended to transfer large) -sum (allocation already)
75 percent rule
results must be less than or equal to 75% of the interface bandwidth (or frame relay, DLCI, CIR)
is the overhead traffic (such as a layer and the second holding default traffic class bandwidth) leaving space.
75% rule is a conservative rule, the maximum bandwidth is reserved command more than 75% limit, but seldom recommended.
Note:
* interface bandwidth is not specified: Interface actual bandwidth * Percentage
interface specifies Bandwidth: Set bandwidth * 75% Percentage (default specified bandwidth, and take 75% of the protective mechanism, you can set this value, if set to 100% of the calculated and consistent with the above.)
max 100-Reserved-bandwidth specified in the interface bandwidth utilization reaches 100%
Configuring CBWFQ
allocated a fixed amount of bandwidth as a class, may be provided in kbps value.
Allocating a percentage of the bandwidth of a class, the configuration (or default) for the calculation of the interface bandwidth guaranteed bandwidth.
The percentage of the available bandwidth allocated to a class.
Setting this queue can hold the maximum number of packets, the default is the maximum value of 64
can be "class-default" type is configured to use WFQ. Dynamic queue number is a power of between 16 and 40962, the specified number of dynamic queue.
Router(config)# access-list 101 permit udp host 10.10.10.10 host 10.10.10.20 range 16384 20000
Router(config)# access-list 102 permit udp host 10.10.10.10 host 10.10.10.20 range 53000 56000
Router(config)# class-map class1
Router(config-cmap)# match access-group 101
Router(config-cmap)# exit
Router(config-cmap)# class-map class2
Router(config-cmap)# match access-group 102
Router(config-cmap)# exit
Router(config)# policy-map policy1
Router(config-pmap)# class class1
Router(config-pmap-c)# bandwidth 3000
Router(config-pmap-c)# queue-limit 30
Router(config-pmap-c)# exit
Router(config-pmap)# class class2
Router(config-pmap-c)# bandwidth 2000
Router(config-pmap-c)# exit
Display of parameters and statistics CBWFQ
router#show policy-map interface
FastEthernet0/0
Service-policy output: Policy1
Class-map: Class1 (match-any)
0 packets, 0 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: any
Weighted Fair Queueing
Output Queue: Conversation 265
Bandwidth remaining 20 (%) Max Threshold 64 (packets)
(pkts matched/bytes matched) 0/0
(depth/total drops/no-buffer drops) 0/0/0
Class-map: class-default (match-any)
42 packets, 4439 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: any
First traffic crawling access-list, using the class-map matching flow, policy-map schedules (the maximum packet setting queue, bandwidth, etc.), the last interface calls.