CN102882809B - 一种基于报文缓存的网络限速方法及装置 - Google Patents

一种基于报文缓存的网络限速方法及装置 Download PDF

Info

Publication number
CN102882809B
CN102882809B CN201210419277.9A CN201210419277A CN102882809B CN 102882809 B CN102882809 B CN 102882809B CN 201210419277 A CN201210419277 A CN 201210419277A CN 102882809 B CN102882809 B CN 102882809B
Authority
CN
China
Prior art keywords
message
buffer
time
delivery time
timing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210419277.9A
Other languages
English (en)
Other versions
CN102882809A (zh
Inventor
刘彦静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201210419277.9A priority Critical patent/CN102882809B/zh
Publication of CN102882809A publication Critical patent/CN102882809A/zh
Application granted granted Critical
Publication of CN102882809B publication Critical patent/CN102882809B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于报文缓存的网络限速方法及装置。通过将未到达发送时刻的报文进行缓存,然后通过定时触发和报文触发缓存报文,实现网络限速功能。通过本发明,解决了传统令牌桶限速丢包导致的丢包率高,数据包重传概率大,限速后速率值稳定较慢的缺点,有效的提高了网络带宽利用率。

Description

一种基于报文缓存的网络限速方法及装置
技术领域
本发明涉及数据网络通信领域中的网络限速技术,尤其涉及一种基于报文缓存的网络限速方法和装置。
背景技术
随着网络的不断发展,网络在人们生活中的地位不断提升,用户对网络的需求不断发生变化,要求传输的信息种类越来越多,要求提供的服务质量也越来越高。由于各种新型业务不断涌现,大量的视频点播、流媒体、网络游戏等事实业务以及P2P类型业务广泛应用于宽带网络,这些新业务不仅占用带宽大,而且具有实时性,对网络传输能力和服务质量提出了更高的要求,如何更好的控制网络带宽利用率,就成了日益重要的题目。
目前存在的网络限速技术普遍采用令牌桶算法进行报文的限速。如图1所示,首先,***按照规定的速率往令牌桶中填充相应的令牌。其次,当数据报文到达时,先从令牌桶中获取相应令牌,如果能获取到足够的令牌,则发送数据报文,同时从令牌桶中减去数据报文长度所对应的令牌数;如果不能获取到足够令牌则丢弃该报文。
由上述分析可知,现有技术的缺点主要表现为:(1)将上述现有方法利用到具有传输特性的具体应用进行限速时,超过限速速率的报文将被***丢弃,会导致发送失败的报文以原速率进行试探重传,所以限速后用户实际使用的带宽小于限速带宽,网络速度变慢。(2)当报文的流入速率远大于限速速率时,***中会有大量的报文进行重传操作,从而大大降低了带宽利用率。并且限速策略刚生效时,这种重传操作,使得报文交互速率很难快速的稳定在限速值附近,延长了限速后速率的稳定时间。(3)当报文流入的速率比限速速率大很多时,令牌桶的值会在很短的时间内被消耗完,在回填令牌之前会有大量报文因为没有令牌而被丢包,所以令牌桶限速后报文输出的流量非常不均匀。
发明内容
本发明的目的在于提供一种基于报文缓存的网络限速方法及装置,针对现有的网络限速技术中带宽利用率低且限速后的稳定时间延长等缺陷,提出了一种新的网络限速方法和装置,将未到达发送时刻的报文进行缓存,然后通过定时触发、数据包触发缓存报文输出来实现限速功能。
本发明的技术方案如下:
一种基于报文缓存的网络限速方法,其包括如下步骤:
A、根据网络限定速率值V和已发送的第N-1个报文的长度LN-1,计算第N个报文的可发送时刻TN=T(N-1)S+LN-1/V,N为大于1的自然数;TNS表示第N个报文的发送时刻,其中第一个报文的发送时刻T1为***赋予的初始值;
B、如果第N个报文的到达时刻TNA大于等于所述的发送时刻TN,则发送该报文并返回步骤A;
C、如果第N+M(M为大于等于0的整数)个报文的到达时刻T(N+M)A小于所述可发送时刻TN,则将该第N+M个报文缓存,并在TN时刻到达时,发送第N个报文并返回步骤A。
一种基于报文缓存的网络限速装置,其包括以下单元:
计时单元,用于根据网络限定速率值V和已发送的第N-1个报文的长度LN-1,计算第N个报文的可发送时刻TN=T(N-1)S+LN-1/V,N为大于1的自然数;TNS表示第N个报文的发送时刻,其中第一个报文的发送时刻T1为***赋予的初始值;
报文收发单元,用于,当第N个报文的到达时刻TNA大于等于所述的发送时刻TN时发送该报文;
报文收发单元,用于,当第N+M(M为大于等于0的整数)个报文的到达时刻T(N+M)A小于所述可发送时刻TN,则将该第N+M个报文缓存,并在TN时刻到达时,发送第N个报文。
本发明和现有技术相比,解决了传统令牌桶限速丢包导致的丢包率高,数据包重传概率大,限速后速率值稳定较慢的缺点,有效的提高了网络带宽利用率。同时,***对于不同定时时间的统计功能,复用相同的物理资源来实现,能够节省物理资源。
附图说明
图1为现有技术中一种令牌桶限速流量示意图。
图2为本发明中一种基于报文缓存的网络限速装置逻辑流程图。
图3为本发明实施例中一种定时触发机制示意图。
图4为本发明实施例中一种基于缓存的定时触发机实例制示意图。
图5为本发明一种定时触发机制示意图。
图6为本发明中一种基于缓存的定时触发机制实例示意图。
图7为本发明中一种报文缓存触发机制示意图。
具体实施方式
本发明应用于网络设备上,本发明的实现可以基于各种常见硬件架构,通常这样网络设备主要包括CPU、内存、网络接口、非易失性存储器和业务硬件,其中业务硬件包括FPGA、CPLD、ASIC等逻辑器件,甚至可能是各种带有子***的单板。本发明需要使用各个硬件与现有技术并无特别的要求,本发明不再一一详述。
为了更加清楚和明白地表述本发明,以下结合实施例对本发明技术方案进行详细说明。请参考图2所示的本发明中一种基于报文传输的网络限速装置逻辑结构示意图,所述网络限速装置包括计时单元和报文收发单元。请进一步参照图3以及图4,所述的基于报文缓存的网路限速装置在网络设备上运行时,其执行其对应的方法包括如下步骤:
步骤1、在同一种应用报文交互比较频繁时,以第一个报文的到来时刻作为初始值,记为T1a,其发送时刻为报文发送的初始值T1,由于***中第一个报文到达时立即发送,故可以认为T1a=T1,计时单元根据网络限定速率值V和第一个报文的长度L1,计算第2个报文的可发送时刻T2=T1S+L1/V,***刷新定时器的时间为L1/V,并以报文的可发送时刻T2为地址存储缓存地址,并在定时器超时时确定T2的到达;本步骤由所述计时单元执行。
举例而言,在一种实施例中当一种具体应用的网络限速值为1Mb/s时,发送一个128B的小包需要消耗977us,在同一种应用报文交互比较频繁的时间段内,以第一个报文到来的时刻作为时间轴的初始值0,由计时单元计算第二个报文的可发送时间T2=0+128B/(1Mb/s)=977us,***刷新定时器的时间为977us,并在定时器超时时确定可以发送第二个报文。
步骤2、如果第二个报文在T2或T2时刻之后到达报文收发单元,则报文收发单元输出第二个报文,然后返回步骤1,由计时单元计算第三个报文的可发送时刻T3
例如在步骤1中,如图3所示,如果第二个报文在977us或大于977us时到达报文收发单元,则报文收发单元输出第二个报文,且计时单元计算第三个报文的可发送时间T3
步骤3、如果第二个报文及其后续的M(M为大于等于0的整数)个报文在T2时刻之前到达报文收发单元,判断缓存队列是否有缓存空间,若有,则缓存报文,若否,则将报文做丢弃处理,并在T2时刻到达时触发第二个报文输出,并计算第三个报文的可发送时刻T3;前述步骤2以及步骤3由报文收发单元执行。
例如:在步骤1实施例中,如图4所示,考虑到用户有可能会在短时间内发送大量报文的情况,因此需要考虑缓存可能溢出的处理。在优选的实施方式中,如果第二个及其后续报文在977us之前到达报文收发单元,也就是说此时需要缓存报文,在缓存报文之前***先判断缓存队列是否有缓存空间,若有,则缓存报文,若否,则将报文做丢弃处理,977us到达时触发输出第二个报文,计时单元计算第三个报文的可发送时刻T3,之后以此类推。
请参考图5以及图6,本发明将上述网络限速方法步骤抽象归纳为:
步骤A、当第N-1个报文发送时,计时单元根据网络限定速率值V和已发送的第N-1个报文的长度LN-1,计算第N个报文的可发送时刻TN=T(N-1)S+LN-1/V,N为大于1的自然数;TNS表示第N个报文的发送时刻,其中第一个报文的发送时刻T1为***赋予的初始值,在计算出TN时刷新定时器的定时时间,所述定时时间为LN-1/V,并在定时器超时时确定所述TN时刻到达;本步骤有计时单元执行。
步骤B、报文收发单元接收报文并判断输出,如果第N个报文的到达时刻TNA大于等于所述的发送时刻TN,报文收发单元发送该报文并返回步骤A。
步骤C、报文收发单元接收报文并判断输出,如果第N+M(M为大于等于0的整数)个报文的到达时刻T(N+M)A小于所述可发送时刻TN,判断缓存队列是否有缓存空间,若有,则缓存报文,若无,则报文做丢弃处理,并在TN时刻到达时,报文收发单元发送第N个报文并返回步骤A;所述步骤B和步骤C由报文收发单元完成。
在优选的实施方式中,报文收发单元可以根据第N个报文的可发送时间来确定缓存地址在内存中的存放位置,这样可以大大提高从缓存中读取报文的速度。还是基于上述的例子而言,报文收发单元可以在缓存第二个报文时将其缓存到缓存中的某个地址,然后将该缓存地址的值保存在内存中,而内存的地址恰好与第二个报文的可发送时间T2是对应的,在一种简单的实施方式中,完全可以使用977这一数值作为内存的地址。这样一来,当定时器超时的时候,也就是需要发送第二个报文的时候,***可以快速地通过977来寻找到内存中缓存地址,再根据缓存地址读出第二个报文然后发送出去。在优选的方式中,上述所指的缓存队列对应到具有交互性的应用,不同的应用对应于不同的缓存队列,或者所述缓存队列对应到不同用户的应用,每个缓存队列对应于特定用户的一个特定应用。
在以上定时触发实施方式的基础上,本发明还提供另一种优化实施方式,该实施方式可以与以上定时触发的实施方式结合使用,主要是防止定时器精度不够造成报文发送不及时的问题。
请参考图7,本发明中当限定速率达到百兆级别时,报文发送时间则相应到达ns级别,此时对定时器的精度要求很高,考虑***调用定时器需要耗费一定的时间,采用定时触发可能会产生误差。本实施方式中***会自动采用报文缓存触发机制。当第N+Q(Q为大于等于1的自然数)个报文的到达时间T(N+Q)A大于可发送时刻TN时,这说明此时定时器由于前述精度与调用时间的原因没有及时触发第N个报文发送,此时***发现T(N+Q)A大于可发送时刻TN,则可以缓存当前的新报文并触发缓存队列中第一个报文(也就是第N个报文)的输出;当限定速率达到百兆级别时,在同样的限速策略下报文进入***的速率可以很好的得到保证,可以有效的执行网络限速技术,减少丢包个数和报文重传数。需要说明的是,本步骤的执行是对定时触发机制的一个补充,定时触发机制一般已经可以满足现有的限速要求,且本步骤的执行与***装置和定时器的精度配置有关。如果一个***的定时精度较高,而限速的级别又不是非常高的时候,其完全可以只采取定时触发的机制,这是因为如果定时触发机制总是能够及时触发缓存中的报文输出,也就是说T(N+Q)A大于可发送时刻TN这个条件绝大部分情况都无法被满足,那么报文触发机制会一直无法生效。
本发明利用对同一种网络应用超出限时速率的报文先进行缓存,到达发送时刻时再进行发送,降低了现有技术中由于令牌数目不够导致报文被丢弃后报文重传的概率,能够有效地提高了带宽的利用率,并有效的提高限速后速率值的稳定性。本发明***对于不同的定时时间采用相同的物理资源来实现,能够有效的节省物理资源。本发明中,为了避免硬件定时触发在高速率级别限速的情况下产生时间精度误差,采用了报文缓存触发机制,能够有效的减少硬件实现的压力。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种基于报文缓存的网络限速方法,其特征在于,包括步骤:
A、根据网络限定速率值V和已发送的第N-1个报文的长度LN-1,计算第N个报文的可发送时刻TN=T(N-1)S+LN-1/V,其中N为大于1的自然数;TNS表示第N个报文的发送时刻,其中第一个报文的发送时刻T1为***赋予的初始值;
B、如果第N个报文的到达时刻TNA大于等于所述的可发送时刻TN,则发送该报文,返回步骤A处理第N+1个报文;
C、如果第N+M(M为大于等于0的整数)个报文的到达时刻T(N+M)A小于所述可发送时刻TN,判断缓存队列是否有缓存空间,若有,则将该第N+M个报文缓存,并在TN时刻到达时,发送第N个报文并返回步骤A处理第N+1个报文,若判断缓存队列没有缓存空间,则将报文做丢弃处理,并在TN时刻到达时,发送第N个报文并返回步骤A处理第N+1个报文。
2.根据权利要求1所述的方法,其特征在于,当第N+Q(Q为大于等于1的自然数)个报文的到达时间T(N+M)A大于可发送时刻TN时,缓存新报文并触发缓存队列中第一个报文输出。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
D、在计算出TN时刷新定时器的定时时间,所述定时时间为LN-1/V,并在定时器超时时确定所述TN时刻到达。
4.根据权利要求3所述的方法,其特征在于,其中步骤C所述将报文缓存具体包括:将该报文的缓存地址保存在内存中,其中保存该缓存地址的内存地址与所述定时时间对应;从缓存中读取第N个报文包括:根据定时时间对内存寻址并从内存中获得缓存地址,然后读取缓存地址中保存的第N个报文。
5.根据权利要求4所述的方法,其特征在于,所述缓存队列对应到具有交互性的应用,其中不同的应用对应于不同的缓存队列,或者所述缓存队列对应到不同用户的特定应用。
6.一种基于报文缓存的网络限速装置,其特征在于,包括:
计时单元,用于根据网络限定速率值V和已发送的第N-1个报文的长度LN-1,计算第N个报文的可发送时刻TN=T(N-1)S+LN-1/V,N为大于1的自然数;TNS表示第N个报文的发送时刻,其中第一个报文的发送时刻T1为***赋予的初始值;
报文收发单元,用于在第N个报文的到达时刻TNA大于等于所述的发送时刻TN时发送该报文,返回计时单元处理第N+1个报文;
报文收发单元,进一步用于在第N+M(M为大于等于0的整数)个报文的到达时刻T(N+M)A小于所述可发送时刻TN时,判断缓存队列是否有缓存空间,若有,将该第N+M个报文缓存,并在TN时刻到达时发送第N个报文,返回计时单元处理第N+1个报文,若判断缓存队列没有缓存空间,则将报文做丢弃处理,并在TN时刻到达时,发送第N个报文并返回步骤A处理第N+1个报文。
7.根据权利要求6所述的装置,其特征在于,所述报文收发单元进一步用于在第N+Q(Q为大于等于1的自然数)个报文的到达时间T(N+M)A大于可发送时刻TN时,缓存新报文并触发缓存队列中第一个报文输出。
8.根据权利要求7所述的装置,其特征在于,所述计时单元进一步用于:在计算出TN时刷新定时器的定时时间,所述定时时间为LN-1/V,并在定时器超时时确定所述TN时刻到达。
9.根据权利要求8所述的装置,其特征在于,报文收发单元进一步用于在将报文缓存到缓存中的时候,将该报文的缓存地址保存在内存中,其中保存该缓存地址的内存地址与所述定时时间对应;从缓存中读取第N个报文时根据定时时间对内存寻址并从内存中获得缓存地址,然后读取缓存地址中保存的第N个报文。
10.根据权利要求9所述的装置,其特征在于,所述缓存队列对应到具有交互性的应用,不同的应用对应于不同的缓存队列,或者所述缓存队列对应到不同用户的特定应用。
CN201210419277.9A 2012-10-26 2012-10-26 一种基于报文缓存的网络限速方法及装置 Active CN102882809B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210419277.9A CN102882809B (zh) 2012-10-26 2012-10-26 一种基于报文缓存的网络限速方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210419277.9A CN102882809B (zh) 2012-10-26 2012-10-26 一种基于报文缓存的网络限速方法及装置

Publications (2)

Publication Number Publication Date
CN102882809A CN102882809A (zh) 2013-01-16
CN102882809B true CN102882809B (zh) 2015-07-15

Family

ID=47483959

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210419277.9A Active CN102882809B (zh) 2012-10-26 2012-10-26 一种基于报文缓存的网络限速方法及装置

Country Status (1)

Country Link
CN (1) CN102882809B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731370B (zh) * 2013-12-30 2016-07-13 浙江大学 有效降低域内重构过程中网络丢包率的交换机缓存方法
CN105024932A (zh) * 2014-04-21 2015-11-04 中兴通讯股份有限公司 基于令牌桶的流量监管方法及装置
CN104917690A (zh) * 2015-04-15 2015-09-16 联动优势科技有限公司 一种控制报文发送的方法及装置
CN105006127A (zh) * 2015-07-16 2015-10-28 国家电网公司 电量远程采集***
CN113098580B (zh) * 2021-02-25 2022-11-08 深圳震有科技股份有限公司 卫星空口报文缓存与限速处理方法、装置、设备及介质
CN114826974A (zh) * 2022-04-29 2022-07-29 东风电驱动***有限公司 Can报文超时计算方法、装置、设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1725732A (zh) * 2005-06-08 2006-01-25 杭州华为三康技术有限公司 一种报文限速方法
CN102223306A (zh) * 2011-06-17 2011-10-19 中兴通讯股份有限公司 一种报文传输方法及装置
CN102710502A (zh) * 2012-05-12 2012-10-03 杭州迪普科技有限公司 一种基于消耗时间的网络限速方法及装置
CN102811176A (zh) * 2012-08-28 2012-12-05 迈普通信技术股份有限公司 一种数据流量控制方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2090003B1 (en) * 2006-08-22 2017-12-13 Juniper Networks, Inc. Apparatus and method of controlled delay packet forwarding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1725732A (zh) * 2005-06-08 2006-01-25 杭州华为三康技术有限公司 一种报文限速方法
CN102223306A (zh) * 2011-06-17 2011-10-19 中兴通讯股份有限公司 一种报文传输方法及装置
CN102710502A (zh) * 2012-05-12 2012-10-03 杭州迪普科技有限公司 一种基于消耗时间的网络限速方法及装置
CN102811176A (zh) * 2012-08-28 2012-12-05 迈普通信技术股份有限公司 一种数据流量控制方法和装置

Also Published As

Publication number Publication date
CN102882809A (zh) 2013-01-16

Similar Documents

Publication Publication Date Title
CN102882809B (zh) 一种基于报文缓存的网络限速方法及装置
US9313115B2 (en) Traffic generator with priority flow control
CN113728595A (zh) 促进通过网络接口控制器(nic)进行高效主机存储器访问的***和方法
CN106533970B (zh) 面向云计算数据中心网络的差分流传输控制方法及装置
US8812725B2 (en) System and method for latency reduction in a network environment
CN109039936B (zh) 传输速率控制方法、装置、发送设备和接收设备
CN107948103B (zh) 一种基于预测的交换机pfc控制方法及控制***
CN107483976A (zh) 直播管控方法、装置及电子设备
US20220014478A1 (en) Resource consumption control
CN116018790A (zh) 基于接收方的精密拥塞控制
CN102325274A (zh) 一种自适应网络带宽的视频流传输控制方法
CN103139093A (zh) 基于fpga的高速网络数据流负载均衡调度方法
US20220078119A1 (en) Network interface device with flow control capability
CN102811176B (zh) 一种数据流量控制方法和装置
CN115174432B (zh) Rdma网络状态监测方法、装置、设备及可读存储介质
Hwang et al. Deadline and incast aware TCP for cloud data center networks
CN114257559B (zh) 一种数据报文的转发方法及装置
CN105978821B (zh) 网络拥塞避免的方法及装置
CN101771598A (zh) 一种实时以太网通信调度方法
US9203759B2 (en) Switch state reporting
CN103617132B (zh) 一种基于共享存储的以太网终端发送实现方法及终端装置
CN103685062A (zh) 缓存管理方法及装置
CN105681864B (zh) 一种基于ip的传输流抖动去除方法及装置
CN109995608B (zh) 网络速率计算方法和装置
Zheng et al. A QoE-perceived screen updates transmission scheme in desktop virtualization environment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building

Patentee after: Hangzhou Dipu Polytron Technologies Inc

Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building

Patentee before: Hangzhou Dipu Technology Co., Ltd.