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-配置拥塞避免机制的更多相关文章

  1. QOS-基本拥塞管理机制(PQ CQ WFQ RTPQ)

    QOS-基本拥塞管理机制(PQ CQ WFQ RTPQ) 2018年7月7日    20:29 拥塞:是指当前供给资源相对于正常转发处理需要资源的不足,从而导致服务质量下降的一种现象 拥塞管理概述: ...

  2. wlan的QOS配置

    WLAN QoS配置 1.1  WLAN QoS简介 802.11网络提供了基于竞争的无线接入服务,但是不同的应用需求对于网络的要求是不同的,而原始的网络不能为不同的应用提供不同质量的接入服务,所以已 ...

  3. .NET Core采用的全新配置系统[10]: 配置的同步机制是如何实现的?

    配置的同步涉及到两个方面:第一,对原始的配置文件实施监控并在其发生变化之后从新加载配置:第二,配置重新加载之后及时通知应用程序进而使后者能够使用最新的配置.要了解配置同步机制的实现原理,先得从认识一个 ...

  4. openwrt l7过滤qos配置

    openwrt l7过滤qos配置     电梯直达 1# 本帖最后由 木鸟 于 2010-7-27 10:22 编辑 openwrt的qos基于hsfc.提供了分类标记,流量控制等功能,可能还有整形 ...

  5. Java实现配置加载机制

    前言 现如今几乎大多数Java应用,例如我们耳熟能详的tomcat, struts2, netty…等等数都数不过来的软件,要满足通用性,都会提供配置文件供使用者定制功能. 甚至有一些例如Netty这 ...

  6. java架构之路-(分布式zookeeper)zookeeper集群配置和选举机制详解

    上次博客我们说了一下zookeeper的配置文件,以及命令的使用https://www.cnblogs.com/cxiaocai/p/11597465.html.我们这次来说一下我们的zookeepe ...

  7. SpringMVC——-Controller返回格式化数据如JSON、XML的配置方式和机制

    1.本文内容 我们在Web项目开发过程中,一般来说访问一个处理器,然后会返回一个视图,或者跳转到另外的处理器.但是随着项目越来越复杂,需求越来越复杂,对于处理器返回数据的类型要求也越来越多.比如要求能 ...

  8. Kernel RBD的QOS配置方案

    前言 关于qos的讨论有很多,ceph内部也正在实现着一整套的基于dmclock的qos的方案,这个不是本篇的内容,之前在社区的邮件列表看过有研发在聊qos的相关的实现的,当时一个研发就提出了在使用k ...

  9. Hadoop集群搭建的密钥配置SSH实现机制的配置(2)

    [hadoop@weekend110 ~]$ ssh-keygen -t rsa 用来生产密钥对 Generating public/private rsa key pair. Enter file ...

随机推荐

  1. 【Leetcode】【Medium】Permutations

    Given a collection of numbers, return all possible permutations. For example,[1,2,3] have the follow ...

  2. Hadoop学习---Ubuntu中hadoop完全分布式安装教程

    软件版本 Hadoop版本号:hadoop-2.6.0-cdh5.7.0: VMWare版本号:VMware 9或10 Linux系统:CentOS 6.4-6.5 或Ubuntu版本号:ubuntu ...

  3. DFS BFS代码

    #define maxnum 30 #include<bits_stdc++.h> int visited[maxnum]={0}; using namespace std; typede ...

  4. Makefile 实例

    CROSS_COMPILE = HI_CFLAGS= -Wall -O2 -g -march=armv7-a -mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv ...

  5. Linux汉化(Cent Os汉化)

    在腾讯云上购买了Cent Os7.1的云服务器,是英文版啊,有没有?对于我这种英文的渣渣啊,所以我要用中文版,我就是这么low,怎么着呢? Ok ,在汉化之前,先查看系统的语言环境, echo $LA ...

  6. 使用commons-fileupload-1.2.1.jar等组件实现文件上传

    使用的主要jar包:commons-io-1.3.2.jar包;commons-fileupload-1.2.1.jar包:commons-lang-2.3.jar,在使用组件实现文件上传时候要注意前 ...

  7. 四·安装mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz(基于Centos7源码安装)

    1.在Linux中创建用户mysql和主目录,并创建密码 2.解压缩tar.gz并拷贝到/usr/local/mysql目录下面 3.把/usr/local/mysql文件夹拥有者改为mysql 进入 ...

  8. UVa 10820 - Send a Table(欧拉函数)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  9. luogu P1462 通往奥格瑞玛的道路

    嘟嘟嘟 这道题的题面相当的迷,我看了半天都没懂.最后看了题解的解释才懂. 他是这么个意思:对于所有能活着走到终点的路径,输出每一条路径中过路费最多的城市的最小值. 那么自然想到二分过路费,然后用dij ...

  10. Linux关于压缩和解压缩实例

    在谈到压缩和解压缩,我想说说它们的应用场景,其实它们主要的应用场景是有这么几个方面? (1)备份(几十个数据库每天进行备份,即包含数据又包含脚本,还有其他十分重要的日志文件等等); (2)降低服务器存 ...