今天给大家介绍QoS中的两个重要概念——流量监管和流量整形。阅读本文,您需要有一定的QoS的基础,如果您对此还存在疑惑,欢迎查阅我博客的其他文章,相信您一定会有收获。
相关文章链接:
浅谈QoS——QoS概述、QoS基本原理、网络层QoS分类和标记字段详解、QoS中队列简介、QoS队列调度技术详解、QoS队列调度技术详解、QoS中拥塞避免机制详解——WRED技术详解、华为QoS中CBQ队列详解

一、概述

在计算机网路中,拥塞现象非常常见,如果不限制用户发送的业务流量,大量用户不断突发的业务数据就会使网络更加拥挤。为了使有限的网络资源能够更好的发挥效用(也为了各大ISP可以更好的赚钱),必须对用户的流量加以限制。
流量监管和流量整形就是一类通过对流量加以监督来限制流量及其资源使用的流控技术。

二、流量监管

流量监管,其实可以通俗的理解为对流量进行限速,当某一类型的流量超过配置的额定阈值后,就会丢弃该流量的部分数据包。
为了减少流量负载,流量监管通常在靠近源的地方配置。通常在企业出口路由器的内网测接口配置流量监管,限制总流量的同时保证各类流量的最低带宽。
流量监管后,流量示意图如下:

从图中可以看出,流量监管的作用就是**“削峰”**。
流量监管的优点就是可以实现流量限速,由于实现方式简单,因此对网络设备压力较小,其缺点是采用了直接丢包的方式,手段简单粗暴,同时造成了链路带宽浪费等问题,丢弃的流量可能要进行重传,也带来了很高的丢包率。

三、流量整形

相比流量监管,流量整形则采用了更为“温和”的手段。流量整形引入了缓存机制,对超过阈值的数据包进行缓存,使得突发流量减小。同时在流量速率降低后,会将缓存中的流量发送出去,起到了“削峰填谷”的作用。
流量整形示意图如下所示:

流量整形的优点是减少了带宽浪费和高丢包率。缺点是可能会增加时延,此外,由于引入了缓存机制,因此加重了网络设备的处理负担,无形中降低了网络设备转发效率。
流量整形一般用于多个分支发往总部的出接口方向上,以实现到达总部的流量比较平稳。

四、比较

流量监管和流量整形两者都是为应对网络拥塞而采取的流控措施,而在具体的实施和应用中,必须要根据业务特点谨慎的选择流控方式。流量监管和流量整形的优缺点、应用场景已经在上文中阐明,在这里就不过多赘述了。此外,流量整形只能够用在接口出方向上,而流量监管既可以用在接口出方向上,也可以用在接口入方向上。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200/article/details/118889488

QoS中流量监管和流量整形详解相关推荐

  1. 交换机中流量监管、流量整形和接口限速是如何实现的

    本文介绍交换机的流量监管.流量整形和接口限速的原理,并且介绍相关参数和配置方法. 01      相关名词解释 表1-1 简称及对应的全称 流量监管.流量整形和接口限速是通过对流量规格进行监督,以限制 ...

  2. linux ipset 流量,linux中ipset命令的使用方法详解

    linux中ipset命令的使用方法详解 发布时间:2020-10-25 17:07:19 来源:脚本之家 阅读:97 作者:lijiaocn 栏目:服务器 ipset介绍 iptables是在lin ...

  3. C++11 long long超长整形详解

    C++11 long long超长整形详解 C++ 11 标准中,基于整数大小的考虑,共提供了如表 1 所示的这些数据类型.与此同时,标准中还明确限定了各个数据类型最少占用的位数. 表 1 C++11 ...

  4. python argv 详解_对python中的argv和argc使用详解

    主要问题 为什么argv中第一个,即index=0的内容就是文件名? python中argc是用什么实现的? 概念解释 argc:argument counter,命令行参数个数 argv:argum ...

  5. yii mysql 事务处理_Yii2中事务的使用实例代码详解

    前言 一般我们做业务逻辑,都不会仅仅关联一个数据表,所以,会面临事务问题. 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全 ...

  6. Python中的__name__和__main__含义详解

    背景 在写Python代码和看Python代码时,我们常常可以看到这样的代码: ? 1 2 3 4 5 def main():     ...... if __name__ == "__ma ...

  7. python时间函数报错_python3中datetime库,time库以及pandas中的时间函数区别与详解...

    1介绍datetime库之前 我们先比较下time库和datetime库的区别 先说下time 在 Python 文档里,time是归类在Generic Operating System Servic ...

  8. 关于numpy中eye和identity的区别详解

    https://www.jb51.net/article/175386.htm np.identity(n, dtype=None) np.eye(N, M=None, k=0, dtype=< ...

  9. vue ajax highcharts,在vue项目中引入highcharts图表的方法(详解)

    npm进行highchars的导入,导入完成后就可以进行highchars的可视化组件开发了 npm install highcharts --save 1.components目录下新建一个char ...

  10. android中怎么网络判断,Android中判断网络是否连接实例详解

    Android中判断网络是否连接实例详解 在android中,如何监测网络的状态呢,这个有的时候也是十分重要的,方法如下: public class ConnectionDetector { priv ...

最新文章

  1. 《Python和Pygame游戏开发指南》——1.12 图书中的文本折行
  2. 动态创建DataTable[转]
  3. Swift 4 无限滚动轮播图(UICollectionView实现)
  4. 五分钟重温斐波那契数列
  5. wxWidgets:wxMemoryOutputStream类用法
  6. mysql采用 级触发_Mysql高级之触发器(trigger)
  7. python读取坐标文本文件_使用python读取txt坐标文件生成挖空矿山_探矿批量
  8. Jzoj3882 近邻
  9. mongodb4.0事务特性(解读)
  10. 工作流待办事项消息提醒
  11. android10获取WiFi名称 已经连接的WiFi名称 SSID
  12. 51单片机c语言相位计,相位计.doc
  13. 黑猫带你学UFS协议第17篇:全网最全UFS RPMB LU详解(重放保护逻辑单元)
  14. 推荐系统实践(八)UCG 利用ltf-idf方法
  15. 天纵智能软件快速开发平台甘特图插件
  16. bootice工具修复linux,使用bootice工具修复引导问题教程
  17. idea显示console控制台
  18. c++继承---私有继承
  19. shell exec命令
  20. 图灵数学·统计学系列

热门文章

  1. K-摇臂赌博机算法与实现
  2. 遗传算法初学-旅行商问题
  3. bug-AttributeError: ‘NoneType‘ object has no attribute ‘append‘
  4. Oracle DBA手记3:数据库性能优化与内部原理解析
  5. 分享程序员成长故事 解析IT职场困惑
  6. ARM处理器系统初始化编程注意事项
  7. 最优化方法:深度学习最优化方法
  8. caffe 利用Python API做分类预测,以及特征的可视化
  9. 基于ssh框架mysql的jsp系统远吗_JSP+SSH+Mysql实现的学生管理系统
  10. vant组件做表格_vue实现简单表格组件