概念:

拥塞避免是指通过监视网络资源( 如队列或内存缓冲区)的使用情况,当拥塞发生时,队列在有拥塞加剧的趋势时主动采取丢弃报文以缓解网络过载的一种流控机制。

相比于拥塞管控是在拥塞发生时采用软件队列进行调度,拥塞避免则是通过在拥塞发生之前,丢弃部分报文,避免或减缓拥塞情况的发生。

策略一:尾丢弃


缺点:

  1. 不加区分地丢包,敏感的和重要的报文也会被丢弃。

  2. 会引发 TCP全局同步现象。所谓TCP全局同步现象就是多个TCP主机在队列中因同时丢弃各自TCP连接的报文,而造成多个TCP连接同时进入慢启动状态而导致流量降低,之后又会在某个时间同时出现流量高峰,如此反复,使网络流量起伏波动。

  3. 软件队列中由于TCP流量调控而致TCP报文数量减少,若队列中也有UDP报文进入,则由于UDP报文数量不受丢包机制影响,继续以恒定速率进入队列,故会占掉过多的空间,致TCP因无空间存储而出现“TCP饥饿”。

策略二:RED ( Random Early Detection )

为解决上述问题而引入了RED技术,RED“提早”并“随机地”丢弃一些低级别的数据报文。这种不同时丢包行为可使多个TCP连接(因流控机制)不会同时降低发送速度,这避免了TCP的全局同步现象,并使TCP流量都趋于平缓稳定,同时,也实现了有区别的丢弃报文

RED为每个队列的长度都设定了阈值门限,并规定:

  1. 当队列的长度小于低门限时,不丢弃报文。
  2. 当队列的长度大于高门限时,丢弃所有收到的报文。
  3. 当队列的长度在低门限和高门限之间时,开始随机丢弃到来的报文。方法是为每个到来的报文赋予一个随机数,并用该随机数与当前队列的丢弃概率比较,如果大于丢弃概率则报文被丢弃。队列越长,报文被丢弃的概率越高。

策略三:WRED(Weighted Random Early Detection)

基于RED技术,设备实现了WRED。队列支持基于DSCP或IP优先级进行WRED丢弃。可使丢包行为和权值相关,可为每个队列定义基于DSCP或IP优先级的RED丢弃行为。WRED中权值是IPP或DSCP,可针对每一种优先级独立设置丢弃报文的上下门限及丢包率,即每个权值都定义一个独立的丢弃曲线。但华为默认所有权值对应的曲线的形状都一样。这样丢包行为将变为当系统中相应权值的报文达到指定阀值后,开始丢弃该阀值的报文,只要其他权值的报文的丢弃阀值没有达到,就不丢包。

实现WRED时要注意以下要点:

  1. 这种提早主动丢弃队列中报文的行为一定程度上能减缓拥塞带来的问题,但不能从根本上避免拥塞。
  2. 最小阀值不应过低,以减少不必要的丢包,最大和最小阀值之间的差额不宜过小,使之接近为丢弃的效果。

队列技术有2种,WRED 也有2种配置方式。一种是基于队列queue profile的
WRED,另一种是CBQ下的WRED。

基于queue profile实现拥塞避兔(WRED)

定义每个权值的丢弃曲线,在华为的设备上是通过定义丢弃模板(drop-profile) 来实现的。它是队列各优先级WRED参数的集合,将定义好的丢弃模板在队列模板中关联后,应用到接口上,当该接口拥塞时,接口上绑定的丢弃模板实现拥塞避免。华为设备支持基于DSCP优先级的WRED和基于IP优先级的WRED。

实验:

背景概述:
公司企业网内部有多种业务,含语音和数据业务。分别经G1和G0接口连接公司的网关路由器,由于数据业务高带宽消耗,voice 业务带宽消耗不高,但要保证语音质量。如上图所示。由于入口是千兆接口,而上游出口是串行接口,所以出口拥塞严重。企业希望优先发送语音报文,对于视频和数据报文,确保优先级越小,获得发送的机会和获得的带宽越小,且被随机丢弃的概率越大,以调整网络流量,降低拥塞产生的影响。

配置:

drop-profile data
#数据使用的丢弃模板
wred dscp
dscp af31 low-limit 40 high-limit 60 discard-percentage 40
dscp af32 low-limit 50 high-limit 70 discard-percentage 30
#
drop-profile video
#视频使用的丢弃模板
wred dscp
dscp af43 low-limit 60 high-limit 80 discard-percentage 20
#
qos queue-profile queue-profilel
queue 3 drop-profile data
#丢弃模板仅适用于WFQ的WAN链路
queue 4 drop-profile video
#
schedule wfq 3 to 4 pq 5
interface Serial0/0/0
qos queue-profle queue proflel

基于MQC实现拥塞避兔(WRED)

丢弃模板是队列各优先级WRED参数的集合。丢弃模板在流行为(traffic-behavior)中绑定后,将流行为和对应的流分类在流策略下进行关联,并将此流策略应用到接口上,可以实现对匹配流分类规则的流量的拥塞避免。设备支持基于DSCP优先级的WRED和基于IP优先级的WRED。

由于丢弃模板只能应用于 AF 队列和 BE 队列 ,所 以配直基于流的拥塞避免前必须先配直MQC实现拥塞管理。

实验:
场景和queue profile实现拥塞避兔时一样,具体配置:

drop-profile data
#为数据流量定义丢弃模板
wred dscp
dscp af31 low-limit 40 high-limit 60 discard-percentage 40
dscp af32 low-limit 50 high-limit 70 discard-percentage 30
#
drop- profile video
#为视频流量定义丢弃模板
wred dscp
dscp af43 low-limit 60 high-limit 80 discard-percentage 20
#
traffic classifier data
if-match dscp cs1
#
traffic classifer video
if-match dscp af41
#
traffic behavior data
queue wfq
drop-profile data
#
traffic behavior video
queue af bandwidth 2000
drop-profile video
#
traffie policy abc
classifier data behavior data
classifier video behavior video
#
interface Serial 0/0/0
traffic-policy abc outbound

整理资料来源:《HCIE路由交换学习指南》、华为hedex文档

Qos拥塞避免原理与实验相关推荐

  1. 解读模拟摇杆原理及实验

    解读模拟摇杆原理及实验 Interpreting Analog Sticks 当游戏支持控制器时,玩家可能会一直使用模拟摇杆.在整个体验过程中,钉住输入处理可能会对质量产生重大影响.让来看一些核心概念 ...

  2. 编译原理:实验一练习

    编译原理:实验一练习 词法分析器 编译原理实验报告 上面的第一个链接中的词法分析器有一点问题,修改后的代码如下: #include "string.h"#include " ...

  3. c语言的适当大小的子集,编译原理上机实验报告

    编译原理上机实验报告,编制C语言子集的词法分析程序,编制递归下降法的语法分析程序 编译技术上机实验题目 实验一 一.题目 编制C语言子集的词法分析程序 二.目的 通过设计.编制.调试一个具体的词法分析 ...

  4. 《编译原理》实验报告——递归下降语法分析器的构建

    一.实验要求 运用递归下降法,针对给定的上下文无关文法,给出实验方案.预估实验中可能出现的问题. 二.实验方案 1.构造LL(1),通过设计.编制.调试递归下降语法分析程序,对输入的符号串进行分析匹配 ...

  5. 《编译原理》实验教学大纲

    <编译原理>实验教学大纲 课程编号: 773033 课程名称:编译原理 英文名称:Compiler Principle 课程类型: 模块课 学 时:5 学 分:4 适用对象: 软件开发各专 ...

  6. 【渝粤教育】国家开放大学2018年春季 0690-22T化工原理及实验 参考试题

    科目编号:0690 座位号: 2017-2018学年度第二学期期末考试 化工原理及实验试题(B) 2018年7月 一.填空题(每空2分,共30分) 塔板负荷性能图中有______________条线, ...

  7. 基于Matlab的模拟通信实验平台设计,【通信原理仿真实验】通信原理虚拟实验仿真平台的设计和实现_玛雅作文网...

    作文「通信原理虚拟实验仿真平台的设计和实现」共有 4564 个字,其中有 2704 个汉字,1316 个英文,162 个数字,382 个标点符号.作者佚名,请您欣赏.玛雅作文网荟萃众多优秀学生作文,如 ...

  8. 湘潭大学计算机组成原理试卷,湘潭大学 计算机组成与原理 控制器实验 实验报告...

    <湘潭大学 计算机组成与原理 控制器实验 实验报告>由会员分享,可在线阅读,更多相关<湘潭大学 计算机组成与原理 控制器实验 实验报告(10页珍藏版)>请在人人文库网上搜索. ...

  9. 第19节 HSRP-热备份路由协议原理及实验演示—基于Cisco Packet Tracer

    HSRP-热备份路由协议原理及实验-基于Cisco Packet Tracer 0 引言 1 HSRP协议概述 2 工作原理 2.1 核心原理 2.2 工作流程 3 相关命令 4 实验 4.1 实验要 ...

  10. 【通信原理】实验五 基于Matlab的2ASK和2FSK调制解调

    目录 一.实验目的 二.实验器材 三.实验原理 1.二进制振幅键控(2ASK) 2.二进制频移键控(2FSK) 四.示例演示 1.2ASK的模拟调制程序如下: 2.2ASK的开关键控法,调制程序如下: ...

最新文章

  1. 将二叉搜索树转换为有序的双向链表
  2. 数据库-排序-升降序-多列
  3. 音视频技术开发周刊 60期
  4. vue数组操作不更新视图问题
  5. Java i18n - Java中的国际化
  6. iphone导出照片到电脑_苹果手机照片删除了怎么恢复?简单方法图文教程
  7. 如何解决: ModuleNotFoundError: No module named ‘object_detection‘
  8. oracle数据库十六进制转字符串,Oracle中各种进制相互转换
  9. Pycharm 的设置--参数设置(运行.py文件带参数,例如argument)
  10. 判断checkbox是否选中
  11. 将.ncm文件转换为.mp3文件
  12. 安卓获取wifi列表_大家好,我是来给你家 WiFi 提速的
  13. 如何把视频转换成mp3格式
  14. 【云原生 | Kubernetes 系列】----污点与容忍
  15. IMEI、IMEISV
  16. 交换机ARP代理详解
  17. github国内镜像
  18. Revit二开--批量修改视图范围(revit宏)
  19. 懒人精灵(一款类似按键精灵的工具)制作和使用C/C++编写的插件
  20. IDEA插件系列(59):QAPlug插件——代码质量管理工具

热门文章

  1. 乳腺癌检测_逻辑回归
  2. 深度学习2.0-35.ResNet-18实战
  3. 机器学习5-支持向量机
  4. mysql基础3-数据表的相关操作1
  5. python基础7-函数
  6. 5分钟轻松学Python:4行代码写一个爬虫
  7. 从门户到搜索:谁为百度打工?
  8. 《linux核心应用命令速查》连载八:kill:杀掉进程
  9. 小学的题 大学的解法
  10. PyTorch:Encoder-RNN|LSTM|GRU