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

posted @ 2020-05-01 11:20  cyrusxx  阅读(917)  评论(0编辑  收藏  举报