包每秒流量监管方法及装置与流程

文档序号:11205932阅读:1169来源:国知局
包每秒流量监管方法及装置与流程

本发明涉及通信技术领域的流量监管技术,尤其涉及一种包每秒(pps,packagepersecond)流量监管方法及装置。



背景技术:

随着网络应用的不断发展,新型业务的不断推出,例如交互式网络电视(iptv)、网络电话(voip,voiceoverinternetprotocol)、视频会议等非传统数据通信业务,对网络的服务质量(qos,qualityofservice)提出了更高的时延、丢包率和抖动控制要求;随着通信网络的用户越来越多,对于网络资源的竞争也越来越激烈,为满足用户对于不同应用的差异化qos的需求,通常采用流量监管技术控制用户业务的流量;流量监管通常使用承诺访问速率(car,committedaccessrate)来限制进入或流出网络的业务连接的流量与突发数据,流量监管至少有如下两个方面的需求:(1)对允许用户访问的总字节数进行限定,例如,限定用户的最大下载速度为10mbps/s;(2)对允许用户访问的总的数据包个数进行限定,比如限定用户每秒发送的数据包在100个以内。

为了实现流量监管的上述两种不同需求,现有通信网络分别设置两套流量监管装置:比特每秒(bps,bitspersecond)流量监管装置,即每秒允许通过多少个比特,bps流量监管装置对应于上述的需求(1);pps流量监管装置,即每秒允许通过多少个数据包,pps流量监管装置对应于上述的需求(2)。

参见图1示出的bps流量监管装置的工作原理示意图,图1示出的bps流量监管装置包括:令牌发生器101、令牌桶102、令牌判别模块103及令牌更新模块104;其中,令牌发生器101用于按照预定的速率向令牌桶里面添加令牌,举个例子来说,假设网络允许用户发送的数据流量为5mbps,且32个令牌代表 1bit,则令牌发生器101就以每秒种5m*32个令牌的速度,在比秒更小的时间单元里,匀速的向令牌桶添加令牌;令牌桶102,里面包含2个参数,一个是剩余令牌,指示还可以发送多少字节的数据包,另一个是令牌桶的深度,令牌发生器101产生的令牌会在令牌桶102中累计,当累计大于令牌桶的深度时,令牌会溢出,防止在没有数据包的时间里令牌大量累积,然后下一时刻来了大量的数据包,由于令牌已经积累很多,这时候将数据包全部发出去,将对网络进行巨大冲击,所以令牌不能无限累积,而是累积到一定值时,添加的令牌被视为无效令牌;令牌判别模块103,当数据包到达时,判断令牌桶102里的剩余令牌是否足够数据包通过,如果令牌足够,则数据包通过,否则数据包丢弃;令牌更新模块104,当数据包通过后,要将令牌桶102里的令牌减去与数据包对应的令牌数;基于该bps流量监管装置,实现对允许用户访问的总字节数(用户流量)进行限定,大于流量监管装置预设的允许用户发送的数据流量的数据包,将会被丢弃。

参见图2示出的pps流量监管装置的工作原理示意图,pps流量监管技术的一种实现方式是在每秒钟开始的时候,将允许通过的数据包数目配置为设定值,每来一个数据包,pps流量监管装置201将允许通过的数据包数目减1,直到允许通过的数据包数目为0,即判定1秒钟内已经通过的数据包个数大于设定值,如此,在这1秒的剩余时间内到来的数据包,将被pps流量监管装置201全部丢弃;这就存在如下问题:a)如果每秒的开始时间来了大量数据包,这样前面的数据包大量通过,造成通讯设备的流量比较大;b)每秒钟开始的数据包,能通过的概率远远大于后面来的数据包,而通讯设备,一般希望同一种类型的数据包,丢包率比较均衡。

现有的pps流量监管技术,容易造成通讯设备的流量突发,无法保证业务的丢包率,影响业务服务质量。



技术实现要素:

有鉴于此,本发明实施例期望提供一种包每秒流量监管方法及装置,能降 低业务流量突发,提高业务服务质量。

为达到上述目的,本发明的技术方案是这样实现的:

本发明实施例提供一种包每秒流量监管方法,包括:

根据获取到的每转发一个预设长度的数据包所需要消耗的令牌数及目标业务的约定流量速率确定令牌添加速率,及根据所述令牌添加速率匀速的向令牌存储模块中添加令牌;

响应于所述目标业务的当前数据包的转发请求,确定所述令牌存储模块中的剩余令牌数满足预置条件时,将所述目标业务的当前数据包转发,及从所述令牌存储模块中删除转发所述目标业务的当前数据包所需要消耗的令牌数。

本发明实施例还提供一种包每秒流量监管装置,包括:

添加模块,用于根据获取到的每转发一个预设长度的数据包所需要消耗的令牌数及目标业务的约定流量速率确定令牌添加速率,及根据所述令牌添加速率匀速的向令牌存储模块中添加令牌;

响应模块,用于响应于所述目标业务的当前数据包的转发请求,确定所述令牌存储模块中的剩余令牌数满足预置条件时,将所述目标业务的当前数据包转发,及从所述令牌存储模块中删除转发所述目标业务的当前数据包所需要消耗的令牌数。

与现有的pps流量监管技术在每秒开始的时候使用设定值配置这一秒允许通过的数据包数,每来一个数据包将允许通过的数据包个数减1相比,本发明实施例中,将每秒允许通过的数据包数转化成令牌添加速率,根据令牌添加速率按时间均匀的向令牌存储模块中添加令牌,每来一个数据包就从令牌存储模块中删除转发数据包所需要消耗的令牌数,由于令牌是基于令牌添加速率按时间均匀的向令牌存储模块中添加的,这样就能够避免在每秒开始时间的流量突发,保证同一种类型的数据包的丢包率比较均衡,如此,能降低业务流量突发,提高业务服务质量。

附图说明

图1为现有技术中bps流量监管装置的工作原理示意图;

图2为现有技术中pps流量监管装置的工作原理示意图;

图3为本发明实施例中包每秒流量监管方法的一个可选的流程示意图;

图4为本发明实施例中包每秒流量监管方法的另一个可选的流程示意图;

图5为本发明实施例中包每秒流量监管装置的一个可选的结构示意图;

图6为本发明实施例中包每秒流量监管装置的另一个可选的结构示意图;

图7为本发明实施例中包每秒流量监管装置的又一个可选的结构示意图。

具体实施方式

下面将结合附图及实施例,对本发明的技术方案进行清楚、完整地描述。

下面首先对实施本发明实施例的装置(在以下各具体实施例中即为流量监管装置)进行说明,流量监管装置可以采用各种方式来实施,例如在网络处理器、路由器等网络设备中实施流量监管装置的全部组件(比如,流量监管装置可以集成于上述的网络设备中),或者,在上述的网络设备侧以耦合的方式实施流量监管装置中的组件。

基于上述记载的流量监管装置,提出以下各具体实施例。

实施例一

本实施例记载一种包每秒流量监管方法,可以应用于如下场景中:希望在实现pps流量监管功能的同时,能降低业务流量突发,提高业务服务质量;本实施例针对此情况的处理进行说明。

参见图3,本实施例记载的包每秒流量监管方法包括以下步骤:

步骤301、根据获取到的每转发一个预设长度的数据包所需要消耗的令牌数及目标业务的约定流量速率确定令牌添加速率。

在本实施例中,流量监管装置在执行步骤301之前,预先获取每转发一个预设长度的数据包所需要消耗的令牌数;预设长度是一个固定值;可选的,获取每转发一个预设长度的数据包所需要消耗的令牌数的实现方式可以包括以下 任意一种方式:

方式1、流量监管装置获取每转发一个比特的数据所需要消耗的令牌数,基于预设长度及获取的每转发一个比特的数据所需要消耗的令牌数,确定每转发一个预设长度的数据包所需要消耗的令牌数;举个例子来说,流量监管装置计算预设长度与每转发一个比特的数据所需要消耗的令牌数的乘积,将乘积值确定为每转发一个预设长度的数据包所需要消耗的令牌数;例如,假设每转发一个比特的数据所需要消耗的令牌数为32个,数据包的预设长度为64比特,则每转发一个预设长度的数据包所需要消耗的令牌数为2048个(即32*64)。

方式2、预先在流量监管装置中配置每转发一个预设长度的数据包所需要消耗的令牌数。

流量监管装置基于获取到每转发一个预设长度的数据包所需要消耗的令牌数,计算每转发一个预设长度的数据包所需要消耗的令牌数与目标业务的约定流量速率的乘积,将乘积值确定为令牌添加速率;例如,假设每转发一个预设长度的数据包所需要消耗的令牌数为2048个,目标业务的约定流量速率(pps监管需求)为100pps,则令牌添加速率等于204800(即2048*100),令牌添加速率的单位可以为令牌每秒;目标业务的约定流量速率可以为目标业务的承诺信息速率(cir,committedinformationrate)或者超出信息速率(eir,excessinformationrate)等;目标业务的约定流量速率可以预先在流量监管装置中配置。

步骤302、根据令牌添加速率匀速的向令牌存储模块中添加令牌。

例如,假设令牌添加速率等于204800(令牌每秒),则流量监管装置每秒钟将204800个令牌放入到令牌存储模块中;需要注意的是,流量监管装置每秒钟需要往令牌存储模块里添加的令牌数并不是一次性加完的,而是按时间分次的、匀速的向令牌存储模块中添加令牌,例如流量监管装置每次往令牌存储模块里添加的令牌数为102400个,则流量监管装置每秒钟需要往令牌存储模块里添加两次令牌,及流量监管装置往令牌存储模块里添加令牌的时间间隔是0.5s(102400/204800=0.5);可选的,令牌存储模块可以为令牌桶。

流量监管装置往令牌存储模块里添加的令牌会在令牌存储模块里累积,即令牌存储模块中的剩余令牌数,当流量监管装置确定令牌存储模块中的剩余令牌数超出令牌存储模块的深度时,令牌会溢出,流量监管装置将超出的令牌视为无效令牌,防止如下情况的发生,即在没有数据包需要转发的时间里令牌大量累积,然后接下来的时刻接收到大量的数据包需要转发,此时由于令牌已经积累很多,这时候将数据包全部发出去,将对设备及网络造成巨大冲击,因此,令牌存储模块中的令牌不能无限累积,而是累积到一定值(例如令牌存储模块的深度)时,继续添加的令牌被视为无效令牌。

步骤303、响应于目标业务的当前数据包的转发请求,确定令牌存储模块中的剩余令牌数满足预置条件时,将目标业务的当前数据包转发。

流量监管装置接收到目标业务的当前数据包的转发请求时,或流量监管装置针对到达指定设备端口的归属目标业务的当前数据包,根据目标业务的当前数据包的特征信息,判断令牌存储模块中的剩余令牌数是否满足预置条件,若是则将目标业务的当前数据包转发,若判定令牌存储模块中的剩余令牌数不满足预置条件,则说明目标业务的当前流量速率超过了目标业务的约定流量速率(pps监管需求),此时,流量监管装置将目标业务的当前数据包视为超限,将目标业务的当前数据包丢弃或者缓存;这里,流量监管装置可以将超限的数据包进行缓存,等到判定令牌存储模块中的剩余令牌数满足预置条件时将该因超限而缓存的数据包转发;流量监管装置还可以从令牌存储模块中预借令牌将该超限的数据包转发;数据包的特征信息可以包括数据包的长度、qos属性、业务归属信息等数据;可选的,目标业务的当前数据包的长度可以等于预设长度;可选的,目标业务的每一个数据包的长度均等于预设长度。

步骤304、从令牌存储模块中删除转发目标业务的当前数据包所需要消耗的令牌数。

与现有的pps流量监管技术在每秒开始的时候基于设定值配置这一秒允许业务通过的数据包个数,每来一个数据包将允许通过的数据包个数减1相比,本实施例中,流量监管装置将每秒允许通过的数据包数转化成令牌添加速率, 根据令牌添加速率按时间均匀的向令牌存储模块中添加令牌,每来一个数据包就从令牌存储模块中删除转发数据包所需要消耗的令牌数,由于令牌是基于令牌添加速率按时间均匀的向令牌存储模块中添加的,这样就能够避免在每秒开始时间的流量突发,保证同一种类型的数据包的丢包率比较均衡,如此,能降低业务流量突发,提高业务服务质量。

实施例二

本实施例基于实施例一,本实施例中上述预设条件包括:令牌存储模块中的剩余令牌数是否大于转发目标业务的当前数据包所需要消耗的令牌数。

参见图4,本实施例记载的包每秒流量监管方法包括以下步骤:

步骤401、流量监管装置根据获取到的每转发一个预设长度的数据包所需要消耗的令牌数及目标业务的约定流量速率确定令牌添加速率。

步骤402、根据令牌添加速率匀速的向令牌存储模块中添加令牌。

步骤403、接收到目标业务的当前数据包时,基于获取的每转发一个预设长度的数据包所需要消耗的令牌数,及目标业务的当前数据包的长度,确定转发目标业务的当前数据包所需要消耗的令牌数。

可选的,流量监管装置在接收到目标业务的当前数据包时,首先根据目标业务的当前数据包的特征信息确定当前数据包的长度。

步骤404、判断令牌存储模块中的剩余令牌数是否大于转发目标业务的当前数据包所需要消耗的令牌数,若是,则转到步骤406,否则转到步骤405。

步骤405、将目标业务的当前数据包丢弃或者缓存;然后,处理结束。

步骤406、将目标业务的当前数据包转发。

步骤407、从令牌存储模块中删除转发目标业务的当前数据包所需要消耗的令牌数。

本实施例中,基于令牌存储模块中的剩余令牌数与转发目标业务的当前数据包所需要消耗的令牌数的不同关系,对如何实现pps流量监管功能的过程进行了详细说明。

实施例三

基于上述实施例一、实施例二,本实施例记载一种包每秒流量监管装置,针对如下场景提出解决的技术方案:现有的流量监管技术分别设置两套流量监管装置,实现流量监管需要占用较多的逻辑资源,同时也增加了芯片在流量监管方面的设计复杂性。

本实施例记载的包每秒流量监管装置实际上是对现有bps流量监管装置进行了复用和改进,该改进的bps流量监管装置可以用于实施上述实施例中技术方案;本实施例针对此情况的处理进行说明。

参见图5,本实施例记载的包每秒流量监管装置的一个可选的结构示意图,该包每秒流量监管装置包括:令牌发生器501、令牌桶502、令牌判别模块503和令牌更新模块504;需要说明的是,该包每秒流量监管装置通过令牌发生器501、令牌桶502、令牌判别模块503和令牌更新模块504的相互配合和协作,可以实现bps流量监管需求;在本实施例为了实现pps流量监管功能,对该些模块(令牌发生器501、令牌桶502、令牌判别模块503和令牌更新模块504)的功能进行了增强,具体为,

1)、令牌发生器501向令牌桶502里面添加令牌的速率与数据包个数进行了关联,假设每转发一个预设长度的数据包所需要消耗的令牌数为10000个,pps监管需求(例如目标业务的约定流量速率)为100pps,则令牌发生器501需要按照每秒钟100*10000个令牌的速度,匀速的向令牌桶502添加令牌。

2)、令牌桶502,用于存储令牌发生器501添加的令牌;令牌桶502具有至少如下2个参数:剩余令牌数、桶深(令牌桶的深度),其中,剩余令牌数用于评估(计算)调度器还可以发送多少个数据包;桶深,如果令牌桶的剩余令牌数大于桶深,则令牌丢弃,这里的桶深,代表允许突发数据包的个数,假设允许最大50个数据包的突发,则令牌桶桶深设置为50*10000。

3)、令牌判别模块503,用于当数据包到达时,判断令牌桶502里的剩余令牌数是否大于等于转发一个数据包所需要消耗的令牌数(10000),如果剩余 令牌数大于等于10000,则转发该数据包,否则将该数据包丢弃。

4)、令牌更新模块504,用于当数据包通过后,要将令牌桶502里的令牌减去与数据包对应的令牌数,表示已转发一个数据包,例如将令牌桶502里面的令牌数减去10000。

本发明采用以下技术方案:第一步:利用漏桶(令牌桶)来进行bps监管;第二步:如果漏桶需要用来做pps监管,则每一个包经过漏桶,都是按固定长度进行令牌的判断以及扣除。

与现有技术相比,本实施例避免单独设计一个pps监管模块,只需要对现有bps流量监管装置进行改进,使得改进的bps流量监管模块既可以支持bps流量监管需求,也可以支持pps流量监管需求,实现了对bps流量监管模块的高效复用,减少了模块设计面积和复杂度,能够节约实现流量监管的逻辑资源,降低了芯片在流量监管方面的设计复杂性;同时,在实现pps流量监管功能的同时,能降低业务流量突发,提高业务服务质量。

实施例四

与前述实施例一对应,本实施例针对前述的流量监管装置进行说明,流量监管装置可以用于执行本发明实施例的流量监管方法,流量监管装置可以是为实施本发明实施例而专门设置的设备,也可以内置于网络设备内部,网络设备可以包括网络处理器、路由器,参见图6,本实施例记载的流量监管装置包括:

添加模块601,用于根据获取到的每转发一个预设长度的数据包所需要消耗的令牌数及目标业务的约定流量速率确定令牌添加速率,及根据令牌添加速率匀速的向令牌存储模块中添加令牌;

响应模块602,用于响应于目标业务的当前数据包的转发请求,确定令牌存储模块中的剩余令牌数满足预置条件时,将目标业务的当前数据包转发,及从令牌存储模块中删除转发目标业务的当前数据包所需要消耗的令牌数。

与现有的pps流量监管技术在每秒开始的时候基于设定值配置这一秒允许业务通过的数据包个数,每来一个数据包将允许通过的数据包个数减1相比, 本实施例中,流量监管装置将每秒允许通过的数据包数转化成令牌添加速率,根据令牌添加速率按时间均匀的向令牌存储模块中添加令牌,每来一个数据包就从令牌存储模块中删除转发数据包所需要消耗的令牌数,由于令牌是基于令牌添加速率按时间均匀的向令牌存储模块中添加的,这样就能够避免在每秒开始时间的流量突发,保证同一种类型的数据包的丢包率比较均衡,如此,能降低业务流量突发,提高业务服务质量。

可选的,响应模块602,具体用于确定令牌存储模块中的剩余令牌数大于等于转发目标业务的当前数据包所需要消耗的令牌数时,将目标业务的当前数据包转发。

可选的,响应模块602,还用于确定令牌存储模块中的剩余令牌数小于转发目标业务的当前数据包所需要消耗的令牌数时,将目标业务的当前数据包丢弃或者缓存。

可选的,响应模块602,还用于确定令牌存储模块中的剩余令牌数超出令牌存储模块的深度时,将超出的令牌视为无效。

可选的,响应模块602,还用于:基于获取的每转发一个预设长度的数据包所需要消耗的令牌数,及目标业务的当前数据包的长度,确定转发目标业务的当前数据包所需要消耗的令牌数。

实施例五

本实施例基于实施例四,参见图7,本实施例记载的流量监管装置也包括图6中的添加模块601、响应模块602,并且该些功能模块也具有实施例四所记载的相应作用,在此基础上,本实施例记载的流量监管装置还包括:

获取模块603,用于获取每转发一个比特的数据所需要消耗的令牌数,基于预设长度及获取的每转发一个比特的数据所需要消耗的令牌数,确定每转发一个预设长度的数据包所需要消耗的令牌数。

在实际应用中,上述添加模块601、响应模块602、获取模块603,均可由位于网络设备的中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)、 或现场可编程门阵列(fpga)等实现。

实施例六

本实施例记载一种计算机可读介质,可以为rom(例如,只读存储器、flash存储器、转移装置等)、磁存储介质(例如,磁带、磁盘驱动器等)、光学存储介质(例如,cd-rom、dvd-rom、纸卡、纸带等)以及其他熟知类型的程序存储器;计算机可读介质中存储有计算机可执行指令,当执行指令时,引起至少一个处理器执行包括以下的操作:

根据获取到的每转发一个预设长度的数据包所需要消耗的令牌数及目标业务的约定流量速率确定令牌添加速率,及根据令牌添加速率匀速的向令牌存储模块中添加令牌;

响应于目标业务的当前数据包的转发请求,确定令牌存储模块中的剩余令牌数满足预置条件时,将目标业务的当前数据包转发,及从令牌存储模块中删除转发目标业务的当前数据包所需要消耗的令牌数。

可选的,根据获取到的每转发一个预设长度的数据包所需要消耗的令牌数及目标业务的约定流量速率确定令牌添加速率之前,方法还包括:

获取每转发一个比特的数据所需要消耗的令牌数;

基于预设长度及获取的每转发一个比特的数据所需要消耗的令牌数,确定每转发一个预设长度的数据包所需要消耗的令牌数。

可选的,确定令牌存储模块中的剩余令牌数满足预置条件时,将目标业务的当前数据包转发,包括:

确定令牌存储模块中的剩余令牌数大于等于转发目标业务的当前数据包所需要消耗的令牌数时,将目标业务的当前数据包转发。

可选的,方法还包括:确定令牌存储模块中的剩余令牌数小于转发目标业务的当前数据包所需要消耗的令牌数时,将目标业务的当前数据包丢弃或者缓存。

可选的,方法还包括:确定令牌存储模块中的剩余令牌数超出令牌存储模 块的深度时,将超出的令牌视为无效。

可选的,从令牌存储模块中删除转发目标业务的当前数据包所需要消耗的令牌数之前,方法还包括:基于获取的每转发一个预设长度的数据包所需要消耗的令牌数,及目标业务的当前数据包的长度,确定转发目标业务的当前数据包所需要消耗的令牌数。

综上,本发明实施例中,流量监管装置将每秒允许通过的数据包数转化成令牌添加速率,根据令牌添加速率按时间均匀的向令牌存储模块中添加令牌,每来一个数据包就从令牌存储模块中删除转发数据包所需要消耗的令牌数,由于令牌是基于令牌添加速率按时间均匀的向令牌存储模块中添加的,这样就能够避免在每秒开始时间的流量突发,保证同一种类型的数据包的丢包率比较均衡,如此,能降低业务流量突发,提高业务服务质量。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1