1、FIFO QUEUE
2、WFQ QUEUE
3、PRIORITY QUEUE
4、CUSTOM QUEUE
5、CLASS BASED WEIGHTED FAIR QUEUE
6. Low latency queuing(LLQ)
7. CLASS BASED Low latency queuing
默认情况下<=E1的线路默认启用的就是WFQ,E1=2.048M,大于E1默认就是FIFO。
分类:WFO加权队列,是基于flow的形式默认分类的,不需要人工干预。默认的是WFO丢弃不是尾丢弃,我们要明白两个概念 class and flow class 手工定义classification making像PQ CQ, 而flow基于sou ip des ip tcp/udp port transport protocol TOS.默认是256个flow。
明白这两个概念:congestive discard threshold (CDT)
Hold-Queue Out limit (HQL)
加队:early droping when the congestive discard thresold (CDT)is reached
aggressive droping when the hold-queue out limit (HQO)is reached
也就是说有个一个数据包进入缓存经过flow进入也一个队列,包的个数大于CDT,如果这个队列已满,直接drop,没有满insert,包的个数大于HQL,队列已满 drop 不是最长队列的包,会aggerssive drop 最长队列的那个包,这个数据包insert
调度:finish time=real packet size/(ip precedent+1) FT最小的先发送
看个例子:
A1 的FT=50 A2=60 B1=100 B2=150
所以顺序是 A1 A2 B1 B2
其实making优先级是没有作用,关键我们要看action 在低速链路上我们默认的队列机制是WFQ 所以语音的ip pre5 有高的优先级,看以先走
R2#show int s1/0
Serial1/0 is up, line protocol is up
Hardware is M4T
MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation HDLC, crc 16, loopback not set
Keepalive set (10 sec)
Restart-Delay is 0 secs
Last input 00:00:50, output 00:00:02, output hang never
Last clearing of "show interface" counters never
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: weighted fair 默认的WFQ
Output queue: 0/1000/64/0 (size/max total/threshold/drops) 64 CDT HQL 1000
Conversations 0/1/256 (active/max active/max total) 总共flow的个数
Reserved Conversations 0/0 (allocated/max allocated)
Available Bandwidth 1158 kilobits/sec
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
1 packets input, 332 bytes, 0 no buffer
Received 1 broadcasts, 0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
3 packets output, 646 bytes, 0 underruns
0 output errors, 0 collisions, 1 interface resets
0 output buffer failures, 0 output buffers swapped out
2 carrier transitions DCD=up DSR=up DTR=up RTS=up CTS=up
R2(config-if)#fair-queue 128 1024 37 (CDT 动态Q RSVP )
64 256 0 (默认)
R2(config-if)#hold-queue 2000 out HQO
R2#show queueing fair
Current fair queue configuration:
Interface Discard Dynamic Reserved Link Priority
threshold queues queues queues queues
Serial1/0 128 1024 37 8 1
Serial1/1 64 256 0 8 1
Serial1/2 64 256 0 8 1
Serial1/3 64 256 0 8 1
PQ:介绍
priority queueing 默认有四个优先级,默认的是尾丢弃,高优先级的先出去,等优先级高的队列发出去完了在发送下面的队列,这个不足容易造成低优先级的队列饿死!
Router(config)#priority-list 2 ?
default Set priority queue for unspecified datagrams
interface Establish priorities for packets from a named interface 基于接口(入口)
protocol priority queueing by protocol 基于协议
queue-limit Set queue limits for priority queues 限制优先级队列的大小
1\HIGH
2\MEDIUM
3\NORMAL
4\LOW
access-list 110 permit gre any any
access-list 110 permit ip any host 192.168.1.100
priority-list 1 protocol ip high list 110
priority-list 1 protocol ip medium tcp smtp
priority-list 1 protocol ip normal udp ntp
priority-list 1 protocol ip low tcp www
priority-list 1 queue-limit 40 20 20 20 (
20 40 60 80默认)
)
interface Serial1/0
priority-group 1
Router#show queueing priority
Current DLCI priority queue configuration:
Current priority queue configuration:
List Queue Args
1 high protocol ip list 110
1 medium protocol ip tcp port smtp
1 normal protocol ip udp port ntp
1 low protocol ip tcp port www
1 high limit 40
1 medium limit 20
1 normal limit 20
1 low limit 20
Router#show int s1/0
Serial1/0 is up, line protocol is up
Queueing strategy: priority-list 1
Output queue (queue priority: size/max/drops):
high: 0/40/0, medium: 0/20/0, normal: 0/20/0, low: 0/20/0
CQ 介绍:尾丢弃 调度轮询调度 17个class
R2(config)#queue-list 1 ?
default Set custom queue for unspecified datagrams
interface Establish priorities for packets from a named interface 基于接口
lowest-custom Set lowest number of queue to be treated as custom 默认0是先执行 我们在这可以设置
protocol priority queueing by protocol 基于协议
queue Configure parameters for a particular queue 对queue配置响应的参数
stun Establish priorities for stun packets
access-list 110 permit gre any any
access-list 110 permit ip any any precedence critical
queue-list 1 interface Ethernet0/0 2
queue-list 1 protocol ip 3 tcp www
queue-list 1 protocol ip 3 list 110
queue-list 1 queue 2 limit 3000
queue-list 1 queue 3 limit 3000
interface Serial1/0
no ip address
serial restart-delay 0
custom-queue-list 1
R2#show queueing custom
Current custom queue configuration:
List Queue Args
1 2 interface Ethernet0/0
1 3 protocol ip tcp port www
1 3 protocol ip list 110
1 2 limit 3000
1 3 limit 3000
R2(config)#queue-list 1 lowest-custom 2 队列0 1 是优先级最高的相当于PQ+CQ
LLQ 介绍 :对语音流量设置优先 相当于PQ+WFQ
在WFQ的基础之上设置
this is used for links with speed less than 1.544Mbps(T1)
R1(config)#int s1/0
R1(config-if)#ip rtp
R1(config-if)#ip rtp pr
R1(config-if)#ip rtp priority ?
<2000-65535> Lower bound of UDP destination port
R1(config-if)#ip rtp priority 16384 16383 ?
R1(config-if)#ip rtp priority 16384 16383 ?
<0-2000> Maximum allowed bandwidth in kbps
R1(config-if)#ip rtp priority 16384 16383 100(为语音预留的带宽)
CLASS BASED WEIGHTED FAIR QUEUE介绍:
64+1(default) 手工分类+制定带宽 尾丢弃 轮询转发
bandwidth
bandwidth percent 总带宽的百分比
bandwidth remaining percent 实际可用的带宽百分比(总带宽的百分比*0.75*Y%)
bandwith(av)=bandwith(total)*0.75—MWrtp
class-map match-all VTOP
match ip rtp 16384 16383
用NBAR抓的流量 用NBAR抓流量是比较简单的,可以根据特定的协议去抓
我们还可以用ACL抓流量
(access-list 110 permit ip any any precedence 5
class-map match-all VTOP
match access-group 110)
class-map match-all WWW
match protocol http
policy-map CBWFQ
class VTOP
bandwidth percent 50
class WWW
bandwidth percent 20
class class-default
bandwidth percent 30
interface Serial1/0
R2(config-if)#max-reserved-bandwidth 100
no ip address
serial restart-delay 0
max-reserved-bandwidth 100
service-policy output CBWFQ
hold-queue 2000 out
我们还可以在默认的定义为WFQ
class class-default
fair-queue
LLQ
low-latency queueing 低延迟队列 相当于WFQ+PQ 首先接口队列要是WFQ
R1(config)#int s1/0
R1(config-if)#ip rtp
R1(config-if)#ip rtp pr
R1(config-if)#ip rtp priority ?
<2000-65535> Lower bound of UDP destination port
R1(config-if)#ip rtp priority 16384 16383 ?
R1(config-if)#ip rtp priority 16384 16383 ?
<0-2000> Maximum allowed bandwidth in kbps
R1(config-if)#ip rtp priority 16384 16383 100(为语音预留的带宽)
max-reserved-bandwith percent(%)
实际带宽=全部带宽*75%-带宽RTP(为语音预留的带宽)
CBLLQ 可以设置PQ让其优先 有PQ你就先走
policy-map CBWFQ
class VTOP
priority percent 50 强制优先