理解流量控制(整形和监管行为)

理解流量控制(整形和监管行为)


流量控制是对已经成功分类的具体流量执行的一种管制行为,这控制行为从实施特性上大致可分为两种:流量监管(policing),事实上就是限速,如果可能它将超过限定速率的流量丢弃,或者重标记流量行为,流量整形(shaping)事实上就是尽量最大努力缓存并平滑流量,这两种行为将导致两种不同的现象。在开始描述监管(policing)和整形(shaping)之间还必须得来清晰的理解两个给流量控制密切相关的专业术语:接入速率与认购速率。

注意:流量控制技术包括了流量整形和流量监管,但是它们的实质和效果是完全不一样!

理解接入速率AR与认购速率CIR


接入速率(Access Rate):

    是指物理接口的接入速率,如图中S1/0接口的 128Kbit/s,就是接入速度,如果是T1的接入速率就是1.544MB,通常接入速度是以物理传输介质的时钟频率所决定的。请严格区别接入速度和认购速率的差异,如果您的接入128Kbit/s,但是认购速率只有64Kbit/s,那么您的网络设备将采取这样一个行为:网络设备接口发送数据是还是以128Kbit/s来发送,因为这是一个物理事实,无法改变。但是当通过运营商的接入层后,你们的流量将被限制在认购速率之内,也就是64Kbit/s,否则运营商的网络将会因为用户的高速的接入速率而过载。

认购速率(traffic contract):

认购流量也叫“契约流量”,所谓契约流量就是指用户花钱在ISP(Internet服务供应商)处购买的网络流速,这个速度是指ISP在任何时候都应该为用户保障的速率。通常它还有一个名称叫CIR(承诺信息速率CommittedInformation Rate),打个更实际更好理解的比喻:当您安装宽带业务时,业务员通常都会给您讲他们的宽带是100MB,1000MB光纤接入到桌面,但当你签订认购合同时(宽带服务合同),通常在那张纸上的认购流量速率(也就是CIR)一般都只有1MB、1.5MB、2MB、4MB等。此时您可能会想:业务员推销宽带时所描述的100MB,1000MB光纤接入到桌面那不正是在忽悠大众吗?其实也不能这么说,因为业务员所描述的是接入速率(AR)而非承诺速率,通常您只能充分使用花钱购买的认购速率也就是CIR所规定的带宽范围,您可以当这是种“扬长避短”的销售技巧。换而言之,虽然用户可能有很高的接入速率,比如现今的PC机的网卡基本上都可以达到1G的速率,但是这个高接入速率会被ISP运营商限制到给您的认购速率(承诺速率)之内。

提问: ISP运营商如何将用户速率控制在其认购速率之内?

通常ISP运营商都会通过policing(监管)行为,将用户使用接入速率发送的流量限制在认购速率之内,关于流量监管到底是怎么做的,后面会详细描述理论和演示相关的实验,这里不得不提到的一个注意事项就是其实用户也需要使用shaping(整形)技术,将接入速率整形为适应认购速率(后面就叫CIR)的行为,如果是主机,一般能自动完成,因为主机上存在QOS数据包的计划程序,如果企业接入ISP的边界路由器,那么就需要执行手工的流量整形配置。当然这也是在流量控制部分要掌握的重点。

 

理解流量控制中的监管(限速)行为:

如图5所示,为流量的监管前后的示意图,可清晰的看出,没有被监管之前的流量,在限定速率之上的那部分,在执行监管这后,流量的波峰被丢弃,流量监管这种行为仅仅是对超过限定速率的流量进行丢弃或者重标记流量(一般重标记会降级流量的优先程度),不对流量做缓存,所以不会为那些没有超过限定的流量造成更大的延迟。更直接的讲流量监管实际上是一种限速行为,超额部分被丢弃的流量会引发重传。


实践行为:一般什么时候实施流量监管?

从实践角度讲,如果一个用户网络发送过多的流量,比如以接入速率发送了超过认购速率范围以外的数据到一个另一个网络,比如:比如用户只购买了2MB的速率,但是用户却以100MB或者1G的物理速率发送数据到运营商的网络,那么这个时候,用户过多的数据发送会导致运营商的网络过载,所以此时需要在运营商的接入设备上(事实上也就是面向用户的第一个接入设备),实现流量监管。将用户流量监管到认购速率之内。

还有就是需要对特定的某种类别的流量限制在一个特定的速率上,可以使用流量监管,这种情况通常发生在ISP运营商和用户之间就某项类别的流量达成了一项服务等级的协订。

如果需要将超过特点限制的流量进行重标记,通常是降低它的紧急程度,那么建议使用流量监管。因为流量监管有重标记流量的功能。

12.4.4理解流量控制中的整形(缓存)行为:

流量整形与流量监管有着不同的实质,流量整形是将超过限额的流量进行缓存,然后基于特定的策略和规则来传递这部分缓存的流量,达到平滑流量的效果。如图6所示,超过整形速率之上的流量在被实施流量整形后,这部分超额流量将以换回更大的转发延迟为代价来得到发送,而不是丢弃,所以在图6的环境中虚线所示的流量就是被整形后的流量,可看出它更加的平滑,但是在时间轴上的转发延迟将更大。

那么流量整形会不会丢包?回答是尽量不丢弃,尽量缓存,但是,当缓存的流量到达缓存区的极限时,流量还是会被丢弃,但这种丢弃与流量监管的丢弃是两种不同的实质,流量整形的丢弃,是“迫不得已,不得不丢”。

实践行为:一般什么时候实施流量整形?

从实践的角度讲主要有两个原因要求用户必须执行流量整形: 第一个原因:一般应用到一个邻居网络执行了流量监管(限制)环境中,比如ISP运营商会对用户的网络进行监管到认购流量范围之内(花钱支持的那部分流量),在这种情况下如果用户不对其自己的流量进行整形,比如一个较高的接入速率向ISP运营商发送数据,那么这样做的后果将会其得ISP的监管策略将用户的大量数据丢弃,流量整形就让用户的数据以加大延迟为代价来避免数据被丢弃,因为不加选择的丢弃数据并不是一个好事情,特别是大量的丢弃TCP数据,会造成整个网络的全局同步,关于“全局同步”的问题将在拥塞管理与避免时作更多说明。

第二个原因:由于网络边界设备的出口拥塞,那在产生拥塞的接口上应用流量整形,可以避免,或者说至少可以缓解拥塞。

12.4.5流量监管和流量整形的差异:

1 流量监管和整形都是对流量的一种控制机制,监管是限定速率,丢弃超额,或者重标记流量,流量整形是尽量缓存,平滑流量,只有当缓存被充满时,才丢弃。

2 流量监管可以用于出站或者入站方向,而流量整形需要缓存数据,只能应用于出站方向。

3 流量监管有重标记数据的能力,而流量整形没有标记能力。

4 由于流量整形需要缓存流量,所以它需要消耗内存,因为超额流量会在下一个周期被发送,所以会造成可变的延迟和抖动;而流量监管不需要缓存数据所以不会消耗内存,由于丢弃超额流量,所以不会产生可变的延迟。

5 在某些情况下,流量整形会基于网络信号进行响应,比如:拥塞通知。流量监管是不需要。

时间: 2024-10-14 11:34:12

理解流量控制(整形和监管行为)的相关文章

理解流量监管和整形的关键算法—令牌桶

理解流量监管和整形的关键算法-令牌桶 无论是流量监管还是流量整形都提到一个超额流量的问题,而前面已经描述了监管和整形对超额流量的处理方式不同,监管丢弃或者重标记,流量整形是缓存,通过加大延迟的方式发送平滑的数据流量,那么网络设备怎么去确定这个超额流量,难道链路的带宽为512K,而此时用户以每秒768KB/s发送数据,使用768-512就256KB,难道超额的流量就是256KB吗?不是的,这样做是一种错误的理解,要确定用户的超额流量必须使用如下两种算法中的一种来确定,一种叫漏桶算法(leaky b

理解流量监管中的CAR工具、单双桶及欠偿机制、配置及经验

理解流量监管中的CAR工具.单双桶及欠偿机制.CAR配置及经验 流量监管同样使用令牌桶(单桶或者双桶)算法,现在来介绍一个典型的流量监管工具CAR(committed access rate)承诺访问速率,CAR的工作目标是判断数据流量是否匹配或者超过认购流量(合同流量也叫CIR),能对匹配认购流量的数据包或者超过认购流量的数据包执行转发.丢弃.或重标记(一般是降低优先级).需要注意的是CAR填充令牌桶中的令牌,一个令牌代表可以接收或者发送一个字节(byte)的数据或不是位(bit). 注意:通

IP网络QoS技术

1  概述 1.1  产生背景 在传统的IP网络中,所有的报文都被无区别的等同对待,每个转发设备对所有的报文均采用先入先出(FIFO)的策略进行处理,它尽最大的努力(Best-Effort)将报文送到目的地,但对报文传送的可靠性.传送延迟等性能不提供任何保证. 网络发展日新月异,随着IP网络上新应用的不断出现,对IP网络的服务质量也提出了新的要求,例如VoIP等实时业务就对报文的传输延迟提出了较高要求,如果报文传送延时太长,用户将不能接受(相对而言,E-Mail和FTP业务对时间延迟并不敏感).

tc命令——Linux基于IP进行流量限速

主要参考(所有权利归原文作者所有): *http://www.cnblogs.com/endsock/archive/2011/12/09/2281519.html *http://blog.163.com/ninja_wk/blog/static/989155620084280154811/ *http://www.chinaunix.net/jh/4/16110.html 一.TC原理 Linux操作系统中的流量控制器TC(Traffic Control)用于Linux内核的流量控制,主要是

Linux下TC使用说明 & 使用备注 ZZ

一.TC原理介绍 Linux操作系统中的流量控制器TC(Traffic Control)用于Linux内核的流量控制,主要是通过在输出端口处建立一个队列来实现流量控制. Linux流量控制的基本原理如下图所示. 接收包从输入接口(Input Interface)进来后,经过流量限制(Ingress Policing)丢弃不符合规定的数据包,由输入多路分配器(Input De-Multiplexing)进行判断选择:如果接收包的目的是本主机,那么将该包送给上层处理:否则需要进行转发,将接收包交到转

php教程一,变量

php是一种动态脚本语言,比较适合web开发. php支持8种变量数据类型: 四种标量类型: boolean(布尔型) integer(整型) float(浮点型,也称作 double) string(字符串) 两种复合类型: array(数组) object(对象) 最后是两种特殊类型: resource(资源) NULL(无类型) 变量你可以这样理解,假如php是一个人的话,变量就是各种类型的衣服,设定变量的用途就是在合适的场合穿上合适的衣服 变量的重点就是在于在变字,它不是一个固定的值,我

Linux TC限制流量

一.TC原理介绍 Linux操作系统中的流量控制器TC(Traffic Control)用于Linux内核的流量控制,主要是通过在输出端口处建立一个队列来实现流量控制. Linux流量控制的基本原理如下图所示. 接收包从输入接口(Input Interface)进来后,经过流量限制(Ingress Policing)丢弃不符合规定的数据包,由输入多路分配器(Input De-Multiplexing)进行判断选择:如果接收包的目的是本主机,那么将该包送给上层处理:否则需要进行转发,将接收包交到转

Linux下TC使用说明

Linux下TC使用说明 一.TC原理介绍 Linux操作系统中的流量控制器TC(Traffic Control)用于Linux内核的流量控制,主要是通过在输出端口处建立一个队列来实现流量控制. Linux流量控制的基本原理如下图所示. 接收包从输入接口(Input Interface)进来后,经过流量限制(Ingress Policing)丢弃不符合规定的数据包,由输入多路分配器(Input De-Multiplexing)进行判断选择:如果接收包的目的是本主机,那么将该包送给上层处理:否则需

从Oracle到MySQL,余额宝云实践分享

原文链接:http://www.csdn.net/article/2013-11-/2817426-interview-financial-case-yuerbao-aliyun07 余额宝.百度百发.腾讯财付通谋划的互联网理财工具,吹响了互联网对金融行业的进军节奏.而后,网易.和讯.京东商城.苏宁云商等二线实力企业纷纷涉水.另一边,一众金融精英也在频频转换思路,不仅银行网络中心从副行长牵头的服务部门一跃成为行长主抓的业务部门,而且高调发布互联网金融理财产品与携手互联网企业并行,力图实现金融互联