加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

QOS系列之WRED(加权随机早期丢弃)

(2014-07-18 15:46:14)
标签:

it

分类: QOS
 

TCP同步带来的问题:

1.接口带宽利用率下降

2.丢包重传

 

如何解决TCP同步:

RED:随机    早期检测

 

拥塞避免:流控   只有TCP才能有流控

 

RED:可以接管FIFO队列的尾丢弃   在接口下可以用QoS-R1(config-if)#random-detect 还可以在class

CBWFQFIFO才能调用

FIFO调用WRED后使用sho queueing random-detect  查看丢弃表。

RED来控制队列长度,

1.最小丢弃门限 32  2.最大丢弃门限 40   最大丢弃概率

1.No  drop顺利入队  2. 随机丢弃根据丢弃概率  3.越接近最大丢弃门限,丢弃概率越大,默认最大早期丢弃概率10%

 

 QT+1=Q(T)*(1-2(-N次方))   +Qt*(2(-N次方))               

 QT+1)表示此时的平均队列长度

Q(T)表示前一时刻的平均队列长度

Qt)表示此时的队列长度

2-N次方表示权重W

 

假设:N=1

 QT+1=Q(T)*(1-0.5)   +Qt*(0.5)

假设:还没来包

Q(0)=0

此时来了20个数据包

Q(1)=0*0.5+20*0.5=10

此时还有50个数据包没发送

Q(2)=10*0.5+50*0.5=30

如果入流量,远远超出出流量导致60个没输出

Q3=30*0.5+60*0.5=45

可是当平均值到达默认的40就已经开始丢弃啦!也就是说在平均值超出32就开始随机丢弃,到达40就是必须尾丢弃。从此也可以看出,权重W越大,越重视前一时刻的的长度W越小,越重视当前时刻的长度。如果依赖当前时刻的长度,那么忍耐突发的能力相对较小。

默认N=9  也就是W=1-0.002=0.998  W=0.002

 

不同类的流量可以用不同的门限值,

1.class可以基于优先级/DSCP          Random drop随即丢弃      Tail drop尾丢弃    Minimum最小阀值 Maximum最大阀值  Mark标记概率(被随机丢弃的数据包被标记上ENC尾后就不用被丢弃了,因为ENC可以告诉TCP端接口发生拥塞)

 

 

         exponential weight: 9  

         mean queue depth: 0   平均队列长度,W值越小,此值变化抖动越大,因为太依赖当前时刻的队列长度。

1.默认基于IPP 2.传输的包/字节                                                                                                         3.默认的丢弃概率是10%

  class    Transmitted      Random drop      Tail drop    Minimum Maximum  Mark

           pkts/bytes       pkts/bytes       pkts/bytes    thresh  thresh  prob

      0       0/0               0/0              0/0           20      40  1/10

      1       0/0               0/0              0/0           22      40  1/10

      2       0/0               0/0              0/0           24      40  1/10

      3       0/0               0/0              0/0           26      40  1/10

      4       0/0               0/0              0/0           28      40  1/10

      5       0/0               0/0              0/0           30      40  1/10

      6       0/0               0/0              0/0           32      40  1/10

      7       0/0               0/0              0/0           34      40  1/10

   rsvp       0/0               0/0              0/0           36      40  1/10

 

基于IP优先级的时候使用DSCP值,来看看WRED是否有作用

exponential weight: 9

         mean queue depth: 0

 

   dscp    Transmitted      Random drop      Tail drop    Minimum Maximum  Mark

           pkts/bytes       pkts/bytes       pkts/bytes    thresh  thresh  prob

   af11       0/0               0/0              0/0           32      40  1/10

   af12       0/0               0/0              0/0           28      40  1/10

   af13       0/0               0/0              0/0           24      40  1/10

   af21       0/0               0/0              0/0           32      40  1/10

   af22       0/0               0/0              0/0           28      40  1/10

   af23       0/0               0/0              0/0           24      40  1/10

   af31       0/0               0/0              0/0           32      40  1/10

   af32       0/0               0/0              0/0           28      40  1/10

   af33       0/0               0/0              0/0           24      40  1/10

   af41       0/0               0/0              0/0           32      40  1/10

   af42       0/0               0/0              0/0           28      40  1/10

   af43       0/0               0/0              0/0           24      40  1/10

    cs1       0/0               0/0              0/0           22      40  1/10

    cs2       0/0               0/0              0/0           24      40  1/10

    cs3       0/0               0/0              0/0           26      40  1/10

    cs4       0/0               0/0              0/0           28      40  1/10

    cs5       0/0               0/0              0/0           30      40  1/10

    cs6       0/0               0/0              0/0           32      40  1/10

    cs7       0/0               0/0              0/0           34      40  1/10

     ef       0/0               0/0              0/0           36      40  1/10

   rsvp       0/0               0/0              0/0           36      40  1/10

default       0/0               0/0              0/0           20      40  1/10

 

1.调最小阀值:何故用此        

2.调最大阀值:何故用此

3.调标记分母:何故用此

4.调权重值:

 

 QOS技术一切围绕重要数据包展开的。

1.其他条件不变的情况下:最小阀值调小,将导致随机丢包增加,导致尾丢弃可能性减小,导致重要数据包被丢弃的可能性减小。反之则重要数据被尾丢弃的可能性增加。

2.其他条件不变的情况下:最大阀值调小,将导致随机丢包减少,导致尾丢弃可能性增加,导致重要数据包被丢弃的可能性增加,并且排队延迟相应减小。反之则重要数据包被尾丢弃的可能性减小,但是排队延迟相应增加。

 

ECN显示拥塞通知:

TCP的发送和接收端会进行ECN协商,第一步:SYN ECE EWR  第二步:SYN  ECE ACK  第三步:ACK  确认可以使用ECNhttp://s7/mw690/004lkIEdgy6KxK5yudo76&690

 

案例一:假设N1产生流量去N2,此时R1S0/0接口发生拥塞,并且R1是开启了ECN功能的。N1是如何通过ECN来知道链路发生拥塞的?(前提是所有设备都识别ECN

第一步:N1的数据包IP报头的ECN会置位(01/10),到达R1后由于R1拥塞导致会在S0/0接口ECN变成置位11(表示拥塞),最终到达N2

第二步:N2知道发生拥塞后就知道应该通知发送端N1N2在自己的TCP报文中将ECE(拥塞通知)置位。最终N1会收到ECE置位的TCP报文。

第三步:N1收到ECE置位的TCP报文后就知道发生了拥塞,就开始减小发送窗口,并且在发送给N2TCP报文中将CWR(拥塞窗口减少)置位。

第四步:当N2收到TCP报文中CWR置位时,就不会再将TCP报文中的ECE再次置位了。回到正常的TCP报文。

以上步骤实现的基础是ECN置位(01/10)表示支持ECN,并且发生拥塞的R1必须开启了ECN通知(当发生WRED丢包时,会将本应该丢弃的数据包,置位ECN然后继续转发,相当于以前是丢包来通知发送端减小窗口,现在是不丢包也可以起到相同的效果)。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有