QOS-配置拥塞避免机制
QOS-配置拥塞避免机制
2018年7月7日
20:29
- 尾丢弃及其导致的问题:

- 队列满时路由器进行尾丢弃,即新到的所有数据包都全部丢弃
- 丢弃的结果造成高延迟、高抖动、丧失服务保证、TCP全局同步、TCP饿死等问题,从而导致应用超时、数据重传和实时业务不可用等一系列问题
TCP全局同步:
- 没有差别的丢弃会造成所有TCP流的报文几乎在同一时刻丢弃,TCP又几乎在同一时刻重传。
- TCP窗口会在几乎同一时刻缩小,然后又几乎同一时刻增大
- 这将造成所有TCP连接的流量以相同的“频率”持续震荡。TCP全局同步的结果是TCP传输效率急剧下降,并且带宽的平均利用率大大降低。
解决方法:
- 增加队列长度可以减少丢弃,但无法从根本上解决问题
- 队列长度受限于资源,不能无限制增加
- 增加队列长度也增加了报文的平均延迟和抖动
- 在尾丢弃发生前,使不同TCP连接的报文在不同时刻被丢弃,则各个TCP连接的流量震荡就不会同步。
RED介绍:

- RED(随机早期检测)可以有效防止TCP全局同步。其做法是在队列满之前就对已入队的报文进行随机丢弃
- RED的特点在于“早期”和“随机”,这使得不同的流量在不同的时刻以“无规律”的方式丢弃,从而有效避免了所有的TCP连接发生同步震荡。

- Low-Limit:最低丢弃门限,平均队列长度超过门限时,RED开始丢弃报文,值越低,队列越早开始丢弃报文
- High-Limit:最高丢弃门限,平均队列长度超过此门限时,RED将丢弃所有到来的报文。
- Pmax:最大丢弃概率,即RED丢弃报文条件下报文被丢弃的最大概率,这个值通常不为100%。
- 当前平均队列长度小于Low-Limit时,不丢弃报文
- 当前平均队列长度超过High-Limit时,丢弃所有到来的报文
- 当前平均队列长度在Low-Limit和High-Limit之间时,开始随机丢弃到来的报文。
WRED的原理:
引入:RED很好地解决了TCP全局同步和“饿死”等问题,但由于不能感知业务类型,对报文的丢弃不分轻重稳急,因此并没有解决重要和紧急报文被丢弃的问题。
概念:WRED(加权随机早期检测)它允许不同优先级的报文配置不同的RED参数,从而保证了不同重要程度的报文获得不同的服务,可以DSCP和IP Precedence参数。

- WRED可以对每个优先级分别设定最低丢弃门限、最高丢弃门限和最大丢弃概率。
- 最低丢弃门限越小意味着该队列的报文越早被丢弃,在其他条件相同时总体被丢弃的报文就越多。

- 对AF类型的报文,每一队报文有三个丢弃优先级,可以分别设定其对应不同的底限,从而体现出在丢包概率上的差异。
- EF类型的报文应该保证其具有最小的丢包概率和区间
WRED配置:
基于接口的WRED配置命令:
在接口上使能WRED:

配置计算平均队列长度的指数:

配置各优先级的对应参数:

基于队列的WRED表配置WRED表:
在系统视图下配置WRED表:

配置计算平均队列长度的指数:

配置WRED表的其他参数:

在接口或端口组视图下应用WRED表:

其他类型WRED表的配置命令:
进入WRED表视图:

配置计算平均队列长度的指数:

配置WRED表的其他参数:

在接口或端口组视图下应用WRED表:

WRED显示和维护命令:

显示WRED表:

Weighting-constant:(1~16默认为9)
- 该指数为权重因子,表征了平均队列长度对实际队列度变化的敏感程度
- 较大的n值将使平均队列长度在当前队列长度变化时具有较大的“惯性”
Discard-probability:
- 丢弃概率分母,用于设定平均队列长度接近高限时的最大丢包概率
- 值大意味着丢包率小
QOS-配置拥塞避免机制的更多相关文章
- QOS-基本拥塞管理机制(PQ CQ WFQ RTPQ)
QOS-基本拥塞管理机制(PQ CQ WFQ RTPQ) 2018年7月7日 20:29 拥塞:是指当前供给资源相对于正常转发处理需要资源的不足,从而导致服务质量下降的一种现象 拥塞管理概述: ...
- wlan的QOS配置
WLAN QoS配置 1.1 WLAN QoS简介 802.11网络提供了基于竞争的无线接入服务,但是不同的应用需求对于网络的要求是不同的,而原始的网络不能为不同的应用提供不同质量的接入服务,所以已 ...
- .NET Core采用的全新配置系统[10]: 配置的同步机制是如何实现的?
配置的同步涉及到两个方面:第一,对原始的配置文件实施监控并在其发生变化之后从新加载配置:第二,配置重新加载之后及时通知应用程序进而使后者能够使用最新的配置.要了解配置同步机制的实现原理,先得从认识一个 ...
- openwrt l7过滤qos配置
openwrt l7过滤qos配置 电梯直达 1# 本帖最后由 木鸟 于 2010-7-27 10:22 编辑 openwrt的qos基于hsfc.提供了分类标记,流量控制等功能,可能还有整形 ...
- Java实现配置加载机制
前言 现如今几乎大多数Java应用,例如我们耳熟能详的tomcat, struts2, netty…等等数都数不过来的软件,要满足通用性,都会提供配置文件供使用者定制功能. 甚至有一些例如Netty这 ...
- java架构之路-(分布式zookeeper)zookeeper集群配置和选举机制详解
上次博客我们说了一下zookeeper的配置文件,以及命令的使用https://www.cnblogs.com/cxiaocai/p/11597465.html.我们这次来说一下我们的zookeepe ...
- SpringMVC——-Controller返回格式化数据如JSON、XML的配置方式和机制
1.本文内容 我们在Web项目开发过程中,一般来说访问一个处理器,然后会返回一个视图,或者跳转到另外的处理器.但是随着项目越来越复杂,需求越来越复杂,对于处理器返回数据的类型要求也越来越多.比如要求能 ...
- Kernel RBD的QOS配置方案
前言 关于qos的讨论有很多,ceph内部也正在实现着一整套的基于dmclock的qos的方案,这个不是本篇的内容,之前在社区的邮件列表看过有研发在聊qos的相关的实现的,当时一个研发就提出了在使用k ...
- Hadoop集群搭建的密钥配置SSH实现机制的配置(2)
[hadoop@weekend110 ~]$ ssh-keygen -t rsa 用来生产密钥对 Generating public/private rsa key pair. Enter file ...
随机推荐
- Threading in C# 5
Part 5: Parallel Programming In this section, we cover the multithreading APIs new to Framework 4.0 ...
- Asp ose.Tota l for .NET 2015
How to license Aspose.Total for .NET products Add "License.cs" [C#] OR "License.vb&qu ...
- PowerShell管理Hyper-V(Windows2008R2)
gwmi -list -namespace "root\virtualization" 在Windows2012R2之前的版本,Hyper-V管理都是用的root\virtuali ...
- July 02nd 2017 Week 27th Sunday
No safe wading in an unknown water. 未知水深浅,涉水有危险. Is this the theory that has been the guideline for ...
- 使用websploit在局域网全自动渗透
原理为 websploit调用dnsdpoof进行dns欺骗配合神器metasploit的web_autopwn模块进行渗透:特点:过程基本全自动. 终端输入websploit打开websploit: ...
- Windows文件批量重命名
选择要命名的文件 按F2,编辑名字 然后按回车就行了 电视剧命名,我认为这样足够了
- Linux学习总结(九)-源码包和rpm包安装
一.源码包安装 通常办法是安装三部曲:./configuremakemake install但是具体还要根据包里面的帮助文档操作./configure --help 可以查看可以带什么参数,比如--p ...
- vue.js 组件监听
一.在通过点击事件触发的子组件中: addCart(event) { if (!event._constructed) { return; } if (!this.food.count) { Vue. ...
- ServletRequest的四个主要方法
package com.yunqing.servlet; import javax.servlet.*; import java.io.IOException; import java.util.Ar ...
- HDU 2088 Box of Bricks(脑洞)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2088 Box of Bricks Time Limit: 1000/1000 MS (Java/Oth ...