QOS WRED 要点+实验
WRED(Weighted Random Early Detection)
TCP中存在一个慢启动和拥塞避免机制,当检测到网络中发生冲突的时候,会大幅度降低发送速率
当网络中发生拥塞,有可能同时丢失多个TCP连接的数据包,造成多个TCP连接同时进入慢启动状态,这被称为TCP全局同步
解决方法:可以在网络发生拥塞之前,就主动丢弃一部分TCP数据包,防止出现尾丢弃,从而避免进入慢启动
默认设置尾丢弃是一种被动的队列管理机制。
主动队列管理机制在拥塞发生前就丢弃分组。
基本思想:确保队列长度位于最小阈值和最大阈值之间,对于不同类别的数据流采用不同丢弃策略。
丢弃概率:1/10
R2(config-if)#random-detect 启用开关
random-detect precedence 6 45 50 5 设优先级为6的包在队列填充到45和50之间时开始丢弃
5表示按1/5的概率丢弃
random-detect dscp-based
show queueing random-detect
random-detect exponential-weighting-constant N 默认是9
N值越大,WRED就越不敏感,最后导致失效,N值越小,会导致包被丢掉的概率越大
注意:默认情况下,启用WRED后只能使用FIFO
FB-WRED
使用流来分类,默认最多可分256个流
int s0/0
random-detect flow 开启开关
random-detect flow count 256 设定可分的流的数目
show queueing random-detect
CBWRED即可对TCP,也可对非TCP流量,必须结合CBWFQ来做
例:将优先级为3、4 的数据包分为一个类别GOLD、带宽30%
当队列中数据包达到20个时,以1/10的概率丢弃优先级为3的包,达到40个时尾丢弃
当队列中数据包达到30个时,以1/10的概率丢弃优先级为4的包,达到40个时尾丢弃
将优先级为1、2 的数据包分为一个类别SILVER、带宽20%
当队列中数据包达到15个时,以1/10的概率丢弃优先级为1的包,达到35个时尾丢弃
当队列中数据包达到20个时,以1/10的概率丢弃优先级为2的包,达到35个时尾丢弃
对于默认队列,启用WFQ,WRED
class-map GOLD
match ip precedence 3 4
class-map SILVER
match ip precedence 1 2
policy-map POLICY1
class GOLD
bandwidth percent 30
random-detect
random-detect precedence 3 20 40 10
random-detect precedence 4 30 40 10
class SILVER
bandwidth percent 20
random-detect
random-detect precedence 1 15 35 10
random-detect precedence 2 20 35 10
class class-default
fair-queue
random-detect
show policy-map
show policy-map interface s0/0
以上的例子是基于优先级来做的,如果基于DSCP,开启的命令是不一样的
policy-map POLICY1
class GOLD
bandwidth percent 30
random-detect dscp-based
random-detect precedence 31 20 40 10
random-detect precedence 41 30 40 10
class SILVER
bandwidth percent 20
random-detect dscp-based
random-detect precedence 11 15 35 10
random-detect precedence 21 20 35 10
class class-default
rair-queue
random-detect dscp-based
------------------------------------------------------------------------------------------
QPPB:QoS Policy
router bgp 300
table-map mark-prec4-as400
!
route-map mark prec4-as400 10
match as-path 1
set ip precedence 4
!
route-map mark prec4-as400 20
set ip precedence 0
!
ip as-path access-list 1 permit 400
!
interface serial 0
bgp-policy destination ip-prec-map
!
----------------------------------------------------------------------
压缩
int s0/0
ip tcp header compression TCP的头部压缩
show ip tcp header compression
int s0/0
ip rtp header-compression RTP的头部压缩
show ip rtp header-comression
在帧中继接口下:
int s0/0
frame-relay ip tcp header-compression TCP头部压缩
frame-relay ip rtp header-compression RTP头部压缩
其它内容
------------------------------
if)#no fair-queue(改为FIFO队列)
if)#hold-queue 100 out(更改缓存大小)
Priority Queuing
priority-list
1. 实验目的
通过本实验,读者可以掌握如下技能:
(1) 理解WRED 的工作原理
(2) 掌握WRED 的配置
2. 实验拓扑 如图25-1。
3. 实验步骤
(1) 步骤1:配置IP 地址、路由协议
(2) 步骤2:配置WRED
R1(config)#int s0/0/0
R1(config-if)#random-detect//以上在接口上启用WRED
R1(config-if)#random-detect precedence 0 18 42 12
//以上配置IP 优先级为0 的队列,最低阀值为18,平均队列长度小于18 时,数据包不会被丢弃;当平均队列长度大于18 时,开始丢弃数据包,平均队列长度越大,丢弃的数据包越多;最大阀值为42,平均队列长度小于42 时,数据包按照1/12 的比例丢弃。
4. 实验调试
R1#show queueing random-detect
Current random-detect configuration:
Serial0/0/0
Queueing strategy: random early detection (WRED)
Random-detect not active on the dialer
Exp-weight-constant: 9 (1/512)
Mean queue depth: 0
class Random drop Tail drop Minimum Maximum Mark
pkts/bytes pkts/bytes thresh thresh prob
0 0/0 0/0 18 42 1/12
1 0/0 0/0 22 40 1/10
2 0/0 0/0 24 40 1/10
3 0/0 0/0 26 40 1/10
4 0/0 0/0 28 40 1/10
5 0/0 0/0 31 40 1/10
6 0/0 0/0 33 40 1/10
7 0/0 0/0 35 40 1/10
rsvp 0/0 0/0 37 40 1/10
//以上显示WRED 的配置情况,默认时不同IP 优先级的队列的最低有所不同,我们更改了IP 优先级为0 的队列。
查看默认模板:
show policy-map int f0/0