随机早期检测RED(Random Early Detection)算法两个门限防抖动

RED算法其实很简单的,简单说就是防止网络拥塞 的,一般来讲它是端到端的TCP拥塞控制的补充,用于路由器的居多,因为端到端的拥塞控制仅仅负责一条虚电路,额外可以探测网络通路情况,但是却不能保证 每个端点的这种控制行为是一致的或者使能的,因此必须存在一种类似于监督机制的拥塞控制机制,在路由器上监督和管理一切数据包,而不能天真的相信TCP端 到端拥塞控制会做的很好,事实证明,它做的并不是很好。

路由器的QOS算法有很多,包括很多队列机制,这里由于不是重点就不说了,RED算法是与之相似但不同的一个,它旨在能预测到网络将要拥塞,而提前采取丢 包动作,而不是等到网络实际拥塞了以后再采取措施,这里的方式和操作系统的内存置换策略有点类似,因为在操作系统内核中也是需要提前预知内存将不足,而不 是到实际内存不足的时候再腾地方,这是一种以保障持续运行为目的的策略,RED算法也是,典型的实现就是设置一个经验性的阀值,一旦剩余内存低于这个阀值 (对于内存置换算法)或者网络包的总长度大于这个阀值(对于RED算法),那么就认为必须采取措施了,采取措施的结果就是统计值落入这些阀值之下,但是这 样好吗?虽然可以确保系统不会撑死,但是会引起系统剧烈抖动,以内存置换为例,剩余内存刚小于阀值的时候就被发现了,然后去置换内存页面,但是还没有置换 几个页面,剩余内存就大于阀值了,毕竟发现的早,剩余内存还没有到稀缺的地步,此时就停止了置换,在系统几乎满载的情况下,然后没过一会儿,剩余内存又小 于阀值了,如此反复...网络包的例子就不举了。

实际上,在应用中是用两个阀值而不是一个阀值进行管理的,两个阀值可以有效防止抖动的发生将震动从一个点扩展到了一个区间,一个阀值的算法会引起抖动是因 为数值的课徘徊路径太短,就是一个点,一个点只有左右两个自由度,太左了就要右一点,反之就要左一点,没有缓冲的余地,而两个阀值有效的拉长了数值的徘徊 区间,在此区间内数值是可以徘徊的,徘徊的过程是系统已经出问题但是还没有到解决问题的时候的意思,体现了一种积累的效果,同时也是一种懒惰的体现。下面 看一下RED算法:
Avq=0,Count=-1;
当有分组到达时:
[
If( 队列空)

本文出自 “我来,我看,我征服” 博客,请务必保留此出处http://dog250.blog.51cto.com/2466061/1273524

更多相关文章
  • BFC布局规则: 内部的Box会在垂直方向,一个接一个地放置. Box垂直方向的距离由margin决定.属于同一个BFC的两个相邻Box的margin会发生重叠 每个元素的margin box的左边, 与包含块border box的左边相接触(对于从左往右的格式化,否则相反).即使存在浮动也是如此. ...
  • 祛痘祛斑算法一直在关注,一直在期待看有么有大神分享有关这方面的资料.在百度上用关键词祛痘祛斑搜到的都是于原理无关的不痛不痒的东西,看样子还是得靠自己奋斗.      总的来说,对于祛痘祛斑,我们概念上还是有一定的了解的,这个按照我的分析应该是属于图像修复方面的内容的,于是咨询了一些专门搞学术研究,特 ...
  • 本报讯(记者张剑)某报业集团发文,对360特供手机的性能做出评价.360公司认为,此文章系对该公司产品的诋毁,而两家网站全文转载该文.360公司因此将该报业集团和网站告上法庭.昨天,记者了解到,大兴法院已受理此案.原告360公司诉称,2012年7月他们推出名为"超级战舰"的360 ...
  • 这项调查由Linux.com和网站New Stack联合开展,从550多个调查对象那里收集了信息,结果公布在近日于芝加哥召开的CloudOpen北美大会上. 为了获得重要结果:谁是总体上最佳的开源云计算项目,调查人员对选票进行了加权处理:为每个第一选择赋予三张选票,为第二选择赋予二张选票,为第三选择 ...
  • 01<?php  02 echo "当前页面服务器IP地址为:";  03 echo  $_SERVER["SERVER_ADDR"];  04 echo "<br />";  05 echo "当前客户端IP地 ...
  • 中小企业往往处在一个没有IT员工来负责安全问题的尴尬境地.面对日益猖獗的黑客,这些中小企业很被动并且处于弱势地位.显而易见,那些黑客则可以利用企业的薄弱环节进行犯罪活动.由此,本文就来总结一下如何加强中小企业的整体安全性. 使用WPA或WPA2加密Wi-Fi 由于无线信号是全方位覆盖的,所以必须要使 ...
一周排行
  • 1.标准对话框 各种基本对话框通过调用格子不同的静态函数来完成其功能: #ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include < ...
  • 金错刀智能穿戴设备最近有点冰火两重天,一方面,不管是CES,还是美国SXSW艺术节,最碉堡的都是来自可穿戴设备.比如,可充电手袋.发现时尚的谷歌眼镜应用等,奇特的可穿戴科技产品层出不穷.国内也有严重的质疑声,认为国内 ...
  • 第一部分  软件架构概念与思想篇 1第1章  解析软件架构概念 31.1  软件架构概念的分类 31.1.1  组成派 41.1.2  决策派 51.2  软件架构概念大观 51.2.1  Booch.Rumbaug ...
  •   #include <stdio.h> #include <stdlib.h>     struct bit { char i; char i; char i; char ...
  • http://blog.chinaunix.net/uid-1829236-id-3152172.html
  •                                                  去除网页滚动条的方法 默认状态下,当网页内容较多的时候,各网页浏览器会自动显示滚动条,在某些时候,我们不想显示滚动条, ...
  • 总结提高,与君共勉 概述. 数据结构与算法亘古不变的主题,链表也是面试常考的问题,特别是手写代码常常出现,将从以下方面做个小结 通常在java中这样定义单链表结构 <span style="font- ...
  • 面向切面的编程(AOP)还是有点意思的,可以在不修改原有代码的情况下增加新功能.有一些js框架实现AOP功能,但是有些时候我们并不能依赖于框架写程序(框架可能很笨重),我们需要自己实现一些适合我们的功能模块.下面是我 ...
  • 前面一篇我们介绍了 Office 365 REST API 的官方工具的使用,本篇我们来看一下 SharePoint REST API 本身的描述.结构和使用方法,以及一些使用经验. 首先来看看SharePoint ...
  • 原文地址:http://www.tinpont.com/knowledge/assembly_instruction_others.html ------------------------------------- ...