网络流量监管CAR技术研究

2016-09-25 08:26:35李博伦王海栋钱高冉高秀敏
无线互联科技 2016年16期
关键词:令牌数据流报文

李博伦,王海栋,钱高冉,唐 翔,高秀敏

(杭州电子科技大学 电子信息学院,浙江 杭州 310018)

网络流量监管CAR技术研究

李博伦,王海栋,钱高冉,唐翔,高秀敏

(杭州电子科技大学 电子信息学院,浙江杭州310018)

网络流量监管技术中,网络流量监管/承诺信息速率(Committed Access Rate,CAR)技术被普遍应用。目前有3种类型的CAR:全局CAR、流行为CAR、接口CAR。CAR的作用是对流量设备进行监管,一旦进入设备的流量超出阈值,就对其进行必要的动作,来保证网络资源的正常处理。在如今的通信领域CAR技术作用很大。令牌桶算法是设备上实现CAR技术的基础。文章着重研究单速率三色算法和双速率三色算法,根据这两种方法各自的优点,结合两种方法的实现给出了新的实现方式。

CAR技术;令牌桶算法;流量监控技术

如今互联网飞速发展,越来越多的事务需要互联网来配合完成,各种各样的用户都需要将自己的终端或者局域网接入互联网进行各种应用。

随着用户需求的不断提高,用户逐渐侧注重于网络的稳定性和传输有效性。简单的在网络上传送报文信息已经不能满足用户的需求。用户更希望网络有更好的服务能力。

作为流量监管技术中比较优秀且被普遍使用的技术,网络流量监管/承诺信息速率(Committed Access Rate,CAR)有着自己的处理流程。流入设备的流量首先被CAR进行实时监视,这些被监视的流量将去匹配先前配置好的匹配规则,并且由不同的规则将流进行分类,对于那些不能匹配上任何一条规则的报文直接发送,不做任何处理,对于那些根据规则分为不同类的流量,将被放入令牌桶进行处理。在保持网络资源的稳定性方面CAR技术起到了很大的作用。

1 CAR的类型

由于应用场景的不同,CAR不止一类,本文将CAR分为3类:全局CAR,流行CAR和接口CAR。

1.1全局CAR

全局指的是应用范围,在全局应用的CAR能被设备上的所有的接口引用,从而对进出设备的流量进行管控。全局CAR又根据功能不同分为两种:分层CAR、聚合 CAR。

(1)聚合CAR。可以对某个业务或某个业务组(由一些单个业务组成)单独应用的CAR技术。应用了聚合CAR技术后,这个业务的流量(或者业务组中各个业务的总流量)将被限制在该聚合CAR规定的流量范围之内。

(2)分层CAR。可以对多个数据流的总和应用分层CAR。分层CAR的配置并不影响聚合CAR的配置,对每个单独流量配置聚合CAR后,可以在对多个流的总和配置分层CAR,从而对流量总和进行节制。

分层CAR与聚合CAR可以单独使用,在实际应用中也可以将两者结合起来使用,一般有两种模式如下:

(1)“或”模式:在这种模式下,对于多条数据流,数据流正常通过的前提是单条流符合聚合CAR的限制或者多条流的总和符合分层CAR的限制。

(2)“与”模式:在这种模式下,对于多条数据流,必须保证各个数据流满足对应的聚合CAR并且多条数据流总和满足分层数据流才能正常通过。

1.2流行为CAR

对特定的流量应用的CAR技术叫作流行为CAR,此种CAR技术的实现需要涉及服务质量(Quality of Service,QoS)策略。下面将介绍QoS策略的3要素。

(1)类:使用者可以通过命令定义一系列的规则来对报文进行分类,从而将监控到的流量归为不同的类型,并且每个类型都有对应的类名做标示,规则可以由使用者来定。

(2)流行为:流行为的核心就是要对指定的报文或流量采取的动作。一个标准的流行为由名称和具体的处理动作组成,这里的处理动作包括丢弃、转发等,可以由多个组成。

(3)策略:策略的作用是为分类后报文的类指定流行为,就是报文分类的规则和流行为的集合,执行策略的过程就是对指定报文采取措施的过程。

1.3接口CAR

在设备的接口下应用的CAR统称为接口CAR。实际应用全局CAR,流行为CAR时都是依赖于接口的。

2 CAR的相关技术研究

2.1令牌桶算法

令牌桶是网络中虚拟的流量存储池,令牌则是以一定速率填充虚拟流量存储池的虚拟信息包。令牌桶算法有两种不同的算法:单速率三色、双速率三色。这两种算法都有着两种工作模式:色盲模式、非色盲模式。业内实际应用中,比较常用的模式是色盲模式。

实际应用中选择配置令牌桶的数量为两个(分别称为C桶和E/P桶),这样可以更加灵活地进行策略上的控制。

本文中对令牌桶对流量进行评估时涉及4类参数采用缩写的形式,介绍如下:(1)CIR:令牌进入C桶的速率值。(2)CBS:C桶容量,每次突发C桶允许的最大流量值。(3)PIR:向E/P桶中投放令牌的速率,即峰值信息速率。(4)EBS/PBS:E/P桶容量,即峰值突发尺寸。

2.1.1单速率三色算法(srTCM)

单速率三色算法,可以根据制定的规格去度量数据流,然后由度量的结果对数据流进行分类,最后对分类后的数据流进行标记着色。单速率三色标记算法采用:CIR,CBS,EBS对数据流进行评估。实际应用中采用两个桶构成的结构:C桶和E桶。C桶令牌数表示为Tc,E桶令牌数表示为Te,C桶E桶总容量分别为CBS,EBS。开始时,C桶E桶装满令牌,即Tc的值为CBS,Te的值为EBS。向令牌桶中添加令牌的速率为CIR,添加令牌的顺序通常先向C桶添加令牌,等C桶满后,再向E桶中添加令牌。

色盲模式,如果长度为B的报文进入设备。此时C桶的令牌数大于报文长度B即Tc>B,报文可以获得足够的令牌着为绿色,Tc的值减少B,如图1所示。

图1 标记绿色报文

若C桶的令牌数小于报文的长度但是E桶的令牌数大于报文的长度即Tc<B <Te,报文着为黄色,Tc,Te的值均减少B,如图2所示。

图2 标记黄色报文

若E桶中的令牌数小于报文的长度即B >Te,报文着为红色,这种情况下Tc,Te的值均保持不变,如图3所示。

图3 标记红色报文

在非色盲模式下,报文如果已被标记为绿色或B<Tc,则报文被标记为绿色,Tc减少B;若报文已被标记为黄色或Tc<B <Te,则标记为黄色,且Te减少B;若报文已被标记为红色或B>Te,则标记为红色,Tc和Te都不变 。

对于单速率三色标记令牌桶的构成上有两种方式,如图4所示。

图4 srTCM令牌桶构成

第一种方式:C桶和E桶是两个独立的令牌桶。这种方式下当确保突发流量不会有的情况下,EBS的值可以等于0。

第二种方式:C桶作为E桶的一部分(图B),由一个桶实现。这种方式下E桶的容量等于最终桶的容量,因此无论是否有突发流量,EBS不等于0,必须大于或等于CBS。这是一种完全按照令牌桶的定义来实现的实现方式,由于CBS和EBS都是令牌桶的参数,所以放入一个相同的桶实现,通过突发计数器来进行区分。

2.1.2双速率三色算法(trTCM)

双速率三色算法,依据:CIR,CBS,PIR,PBS进行评估。在2.1.1单速率三色算法中已经介绍了前两个参数的含义,PIR的值要大于等于CIR的设置值,需要注意的是PIR这个参数在交互机中才有意义,路由器没有PIR这个参数。

如图5所示C桶和P桶两个桶组成trTCM中常用令牌桶结构。对于单速率三色算法来说,注入令牌的速率只有一个,而双速率三色标记算法向C桶和P桶这两个令牌桶填充令牌的速率是不同的,分别为CIR,PIR;CBS,PBS为两个桶的容量。Tc,Tp表示两桶中的令牌数目,开始时,C桶E桶装满令牌,即Tc的值为CBS,Tp的值为PBS。

当模式处于色盲的情况下,报文速率PIR时,那些超出Tp的部分报文得不到令牌,被标为红色,一些报文长度小于Tp,报文可以从P桶中取得令牌,这样的报文被标为黄色,从C桶中获取令牌的报文被标记为绿色;当报文速率介于CIR 和PIR之间时,没有得不到令牌的报文,只是被标记的颜色不同,从P桶中获取令牌,被标记为黄色,从C桶中获取令牌被标记为绿色;当报文速率比CIR小时,报文全部由C桶获取令牌,这种情况下,全部被标记为绿色报文。

当模式处于非色盲的情况下,那些超过Tp部分无法得到令牌的报文或者已经有红色标记的报文,标记为红色;超过Tc未超过Tp部分报文或者已经有黄色标记的报文,标记为黄色;未超过Tc部分报文或者已经有绿色标记的报文,标记为绿色。

2.1.3srTCM算法与trTCM算法的比较

以上着重研究了srTCM算法和trTCM算法。两者都是常用的令牌桶算法,各有优缺点。现将两种算法作了比较,如表1所示。

表1 srTCM算法与trTCM 算法的比较

2.2CAR技术中改进的令牌桶算法

由2.1.1的介绍知,令牌桶的两种常用算法中单速率三色标记算法(srTCM)的突出优点就是能很好应对报文尺寸突发,缺点是对于速率突发的处理的能力较弱。而双速率三色算法(trTCM)却有着能很好应对速率突发的优点,所以综合两种算法的优缺点,可以对单速率三色算法进行一些有效改进。

在令牌桶结构中,使用srTCM中的A结构,改进点为放入C桶的令牌速率不等于放入P桶的令牌速率,分别为CIR、PIR。这样就克服了不能很好应对速率突发的缺点。

根据RFC协议,向令牌桶中投放令牌的速率时恒定的,为CIR或者PIR。相当于添加一个令牌间隔为1/CIR或者1/ PIR时间。实际应用的情况下,有两种常见投放令牌的方式:周期性添加和一次性添加。

周期性添加,令牌桶容量除以添加速率就等于添加令牌的周期,每个周期向令牌桶注入CBS个令牌;相比周期性添加,一次性添加无规定的添加周期,一旦发现令牌桶中令牌书为0就进行一次添加活动,并且注入令牌桶的令牌数量是CIR*(两次添加的时间差)。

在实际应用中,周期添加令牌有一些缺点,当报文发送的周期与令牌添加的周期不相同时,使得报文在此期间没有令牌而无法转发,此期间丢包率会很高;一次性添加的方式相当于使用了一种“借债”的机制,在桶内没有令牌的情况下,报文进入令牌桶,和周期性添加不同的是,这时会一次性向令牌桶注入令牌,从而将丢包率控制在比较低的范围内。对于突发流量的情况,一次性添加方式更擅长处理。

2.3流量分类和标记

对于流量而言,对其进行分类时,使用不同规格的分类标准最终划分出的类型是不同的。通常情况下会根据服务类型和报文的优先级来作为标准。

报文中很多信息可以使用:网络协议(Internet Protocol,IP)的服务型字段、物理接口、源IP地址、目的IP地址、端口号等。这些信息都可以作为流量分类的标准。比如使用服务型字段的前3位(IP优先级)可以区分8类报文,使用前6位(区分服务编码点)能区分64类报文。当确定某网段报文时,可以使用一个五元组(源地址、源端口号、协议号、目的地址、目的端口号)。

流量分类结束后就会给不同类的流量打上不同的标记。流量分类的操作一般在网络的边界进行,从而使得网络内部的处理者清楚报文的类别,然后依据预先的规则对不同类的报文进行相应的处理。理论上,报文的任何信息段都可以作为流分类的标准,但实际应用中在对流量标记时,对于多协议标签转换(Muti-Protocol Label Switching,MPLS)报文只标记EXP(自然常数e为底的指数函数)域、对于IP报文只标记服务类型(Type of Service,ToS)域。

3 CAR技术实现

CAR(流量监控技术)的实质是按照一定的规格监督进入设备的流量,对不符合规格的流量进行处理,将进入设备的流量限制在该规格之下。

在设备中应用时,流量监控处理的具体执行过程如图6所示。首先报文进入设备,由于提前配置了匹配规则,这些报文将被分为不同的类,如果一些报文不满足匹配规则将不被处理;对于满足匹配规则被分为不同类的报文,将被送入令牌桶。能获取足够令牌的报文和不能获取令牌的报文分别标记不同的颜色。对不同颜色报文采取不同的监管措施也就是对报文应用的动作,实际中常用的监管动作有:改变优先级、转发、丢弃。默认一般情况下,被着为绿色的报文将被成功转发,而将丢弃被着为红色的报文。

图6 流量监控处理流程

实际应用中,令牌桶容量、令牌注入速率都不是固定不变的,其值都可以由使用者自己指定。

4 结语

CAR技术作为一种是网络流量监控常用技术,其在保证网络服务质量中处于极其重要的地位。本文介绍了CAR的3种类型:全局CAR、流行为CAR、接口CAR。令牌桶算法对于CAR技术的实现很重要,本文对srTCM算法和trTCM 算法进行了研究和比较,提出了改进后的令牌桶算法将其应用在CAR技术中。CAR技术中需要通过流量分类标准来对流量进行合理分类,对需要监控的流量进行处理,从而达到保证网络质量的目的。

[1]王兰芳.CAR技术在Comware平台上的实现[J].科研,2012(5):25-27.

[2]李晓利,郭宇春. QoS技术中令牌桶算法实现方式比较[J].中兴通讯技术,2007(3):65-69.

[3]邢海飞,郭裕顺.QoS 二次流量监管实现[J].计算机系统应用,2010(4):34-36.

Research on CAR technology of network flow monitoring

Li Bolun, Wang Haidong, Qian Gaoran, Tang Xiang, Gao Xiumin
(Hangzhou Electronic Information University, Hangzhou 310018, China)

CAR technology is widely used in network traffic monitoring technology. Currently there are three types of CAR: Global CAR,popular for CAR, interface CAR. The role of CAR is to monitor the flow of equipment, once the flow into the device beyond the threshold, it is necessary to carry out the action, to ensure the normal processing of network resources. In today's communication field CAR technology is very large. Token bucket algorithm is the basis for the implementation of CAR technology on the device. In this paper, we focus on the single rate three color algorithm and two rate three color algorithm, according to the advantages of these two methods, combined with the realization of the two methods to give a new way.

CAR technology; token bucket algorithm; flux monitoring technology

项目名称:国家重大科学仪器设备专项子任务;项目编号:2012YQ17000408。项目名称:国家自然科学基金面上项目;项目编号:61378035。项目名称:浙江省重大科技专项;项目编号:2012C12017-5)。项目名称:浙江省151人才计划资助;项目编号:12-2-008。

李博伦(1991— ),男,河北石家庄,硕士。

猜你喜欢
令牌数据流报文
基于J1939 协议多包报文的时序研究及应用
汽车电器(2022年9期)2022-11-07 02:16:24
称金块
CTCS-2级报文数据管理需求分析和实现
汽车维修数据流基础(下)
基于路由和QoS令牌桶的集中式限速网关
浅析反驳类报文要点
中国外汇(2019年11期)2019-08-27 02:06:30
动态令牌分配的TCSN多级令牌桶流量监管算法
计算机工程(2018年8期)2018-08-17 00:26:54
一种提高TCP与UDP数据流公平性的拥塞控制机制
ATS与列车通信报文分析
基于数据流聚类的多目标跟踪算法