令牌桶在数据通信QoS流量监管中的应用
令牌桶(Tocken Bucket,以下简称TB)在流量监管(以下简称CAR)功能中完成对流量进行限速的作用。流量监管主要是应用与网络边缘,从而保证核心设备的正常数据处理。
在流量监管的处理过程中,首先报文被分类,如果报文是某类报文,规定了流量特性,则进入令牌桶中进行处理,如果令牌桶中有足够的令牌可以用来发送报文,则报文可以通过可以被继续发送下去,如果令牌桶中的令牌不满足报文的发送条件,则报文被丢弃。这样就可以对某类报文的流量进行控制。
图1:令牌桶在流量监管中的处理过程示意图
令牌桶按用户设定的速度向桶中放置令牌,并且令牌桶有用户设定的容量,当桶中令牌的量超出桶的容量的时候,令牌的量不再增加;当报文被令牌桶处理的时候,如果令牌桶中有足够的令牌可以用来发送报文,则报文可以通过可以被继续发送下去,同时令牌桶中的令牌量按报文的长度做相应的减少,令牌桶中的令牌少到报文不能再发送时报文被丢弃。
令牌桶是一个控制数据流量的很好的工具,当令牌桶中充满令牌的时候,桶中所有的令牌代表的报文都可以被发送,这样可以允许数据的突发性传输。当令牌桶中没有令牌的时候报文将不能被发送,只有等到桶中生成了新的令牌报文才可以发送,这就可以限制报文的流量只能是小于等于令牌生成的速度,达到限制流量的目的。
令牌桶在数据通信QoS流量监管中的应用的更多相关文章
- QoS令牌桶工作原理
QoS的一个重要作用就是对port流量进行监管,也就是限制port流量.但QoS是怎样做到这点的呢?那就是QoS的令牌桶机制了.以下是在笔者刚刚出版的<Cisco/H3C交换机高级配置与管理技术 ...
- CIR,CBS,EBS,PIR,PBS傻傻分不清楚?看这里!—-揭秘令牌桶
概述 春暖花开的时候,大家都开着汽车外出旅游欣赏美丽的风景,却被堵在高速公路上,你是否为此感到痛苦?但如果有一种机制可以评估高速公路上的车流量.控制车流情况,确保进入高速公路的汽车都能在路上安全畅行, ...
- "流量监管"和"流量整形"的区别
"流量监管" (Traffic Policing) 就是对流量进行控制,通过监督进入交换机端口的流量速率,对超出部分的流量进行"惩罚" (采用监管方式时是直接丢 ...
- ASP.NET Core中使用令牌桶限流
在限流时一般会限制每秒或每分钟的请求数,简单点一般会采用计数器算法,这种算法实现相对简单,也很高效,但是无法应对瞬时的突发流量. 比如限流每秒100次请求,绝大多数的时间里都不会超过这个数,但是偶尔某 ...
- CIR,CBS,EBS,PIR,PBS 名词解释 令牌桶应用
为了达到上述目的,我们需要对进入网络的流量进行监督,实现CAR(Committed Access Rate). CAR:将进入网络的用户流量的速率限制在约定的范围之内,从而避免引起网络拥塞. CIR( ...
- 15行python代码,帮你理解令牌桶算法
本文转载自: http://www.tuicool.com/articles/aEBNRnU 在网络中传输数据时,为了防止网络拥塞,需限制流出网络的流量,使流量以比较均匀的速度向外发送,令牌桶算法 ...
- 服务限流-令牌桶java实现
此文非常不错,抄自: https://www.cnblogs.com/googlemeoften/p/6020718.html 其他实现 https://www.cnblogs.com/LBSer/p ...
- Redis令牌桶限流
一 .场景描述 在开发接口服务器的过程中,为了防止客户端对于接口的滥用,保护服务器的资源, 通常来说我们会对于服务器上的各种接口进行调用次数的限制.比如对于某个 用户,他在一个时间段(interval ...
- RateLimiter令牌桶算法
限流,是服务或者应用对自身保护的一种手段,通过限制或者拒绝调用方的流量,来保证自身的负载. 常用的限流算法有两种:漏桶算法和令牌桶算法 漏桶算法 思路很简单,水(请求)先进入到漏桶里,漏桶以一定的速度 ...
随机推荐
- Android Studio does not point to a valid jvm
环境变量 JAVA_HOME的值,去掉后面的分号,一般情况下就可以启动
- [LeetCode]题解(python):009-Palindrome Number
题目来源: https://leetcode.com/problems/palindrome-number/ 题意分析: 这题是要判断一个int是否一个回文数,要求不能申请额外的空间. 题目思路: 这 ...
- asp.net core+ef core
asp.net core+ef core 官方的文档https://docs.asp.net/en/latest/tutorials/first-mvc-app/start-mvc.html 先来看一 ...
- QMessageBox 用法
案例一:QMessageBox msgBox;msgBox.setText("The document has been modified.");msgBox.setInforma ...
- jQuery Ajax异步处理Json数据详解
先我们来看一个官方的实例使用 AJAX 请求来获得 JSON 数据,并输出结果: $("button").click(function(){ $.getJSON("dem ...
- 复习知识点:XML解析数据,JOSN解析数据,GET请求数据,POST请求数据
GDataXMLDocument-XML解析 #pragma mark - ======== Dom XML解析 - (IBAction)domParserActionXML_Document:(id ...
- Pahom on Water(最大流)
Pahom on Water Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- Linux下批量转换文件编码
find -iname "*.java" -exec enca {} + |grep -v ASCI |grep -v -i utf |awk -F':' '{print $1}' ...
- Oracle Licensing
Oracle根据什么来计算License的? Unlimited License Agreements Unlimited License Agreements通常简称ULA,表示在一个固定期限内(2 ...
- Python 中的list小结
list的下标和子list list的下表从零开始,和C语言挺类似的,但是增加了负下标的使用. -len-----第一个元素 ...... ...... -2 ------ 倒数第二个元素 ...