报文到达时间间隔的计算方法及装置制造方法及图纸

技术编号:4128477 阅读:283 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种报文到达时间间隔的计算方法及装置。在上述方法中,当前报文到达时,从计时器读取系统当前时刻T↓[2],并读取外部RAM中记录的当前报文所属流的前一个报文的到达时刻T↓[1],其中,计时器以预设时间段T↓[max]为周期进行循环计时,预设时间段T↓[max]大于或等于以最小的令牌注入速率填满流的令牌桶最大深度的时间;读取内部RAM中记录的当前报文所属流的当前标志位,其中,当前标志位用于指示系统当前时刻T↓[2]与前一个报文的到达时刻T↓[1]之间计时器的循环次数;根据系统当前时刻T↓[2]、前一个报文到达时刻T↓[1]及当前标志位,计算本次报文到达的时间间隔。根据本发明专利技术,可以减少内部RAM的消耗量,提高硬件芯片实现的可操作性。

【技术实现步骤摘要】

本专利技术涉及移动通信才支术领域,尤其涉及一种才艮文到达时间间 隔的计算方法及装置。
技术介绍
由于数据网络中报文到达间隔是随机的,因此,大于网络节点 处理容量的突发数据流量在通过网络节点时,可能导致数据的阻塞。目前,为避免突发数据流量对通信的影响, 一般采用基于令牌 桶的报文限速方法。图1为基于令牌桶的^艮文限速方法的原理示意图。如图1所示,令牌以v字节/秒的速率注入到容量为V字节的令 牌桶中,如果令牌桶满,则注入的令牌;故丟弃。当才艮文到达时,如 果报文长度小于令牌桶内令牌数量,则将桶内令牌数减去报文长度, 并让才艮文通过;否则将报文丟弃。其中,v表征才艮文允许通过的平 均流量,而令牌桶容量V则表征报文允许通过的突发流量。在基于令牌桶的报文限速方法中,在实现令牌注入时,首先需 要确定令牌注入的定时间隔。如果定时间隔比较大,当才艮文到达速 率远小于定时间隔时,会导致报文通过速率产生大幅度的波动,不 能达到限速的效果。如果此定时间隔比较小,则系统需要频繁进4亍 添加令牌的操作,会耗费大量的运算资源。目前,相关技术中为了使得定时间隔比较合理,提出了一种只 在报文到达时才进行令牌添加操作的方法。在该方法中,每当报文 到达时,计算当前净艮文和前一个报文到达的这段时间间隔内,令牌 桶应该累计的令牌数量。具体地,通过设置一个计时器,每次一个 才艮文到达时,记录此才艮文到达的时间。当一个净艮文到达时,通过当 前报文到达的时间与前一个报文到达的时间计算出此次报文到达的 时间间隔。则在这段时间内,令牌桶的累积令牌数-报文到达间隔 x令牌注入速率。将累积令牌凄t加入到令牌桶后,再进4亍对才艮文长 度判断的操作。使用该方法时,如果报文到达间隔如果过长,计时 器将溢出,从而导致累积令牌数计算错误。在现有网络节点中,需要将到达的报文按照报文的源地址、目 的地址等属性进行分类,属于同一个分类的才艮文被称为一个流。对 于一个大容量的网络节点,流的数量可能非常巨大,需要对不同的 流进行区分及设置不同的令牌桶容量和令牌注入速率,针对该情况, 相关技术中提出了一种便于硬件芯片实现的令牌桶报文限速方法。 该方法首先计算了系统中所需的最大计时器深度T^。对于一个系统来说,以最小的令牌注入速率填满最大深度的令牌桶的时间即为系 统所需的最大计时器深度。对于系统中任何一个流来说,当两个报 文到达的间隔大于这个时间时,令牌桶必然已经溢出。此时无需对 累积令牌数进行计算,只需直接将相应令牌桶填满即可。具体地,该方法4吏用了 一个双口随^几存取存〗诸器(Random Access Memory,简-尔为RAM )用于计算每个流的包到达间隔,该 只又口 RAM记录了各个流前一个才艮文的到达时刻和该时刻计时器的 进位标志(计时器每计满一次,该标志位取反),同时还有一个溢出 标志位供溢出扫描才喿作使用。双口 RAM的两个存取端口分别用于 记录报文到达时刻和进行溢出扫描操作。其中,溢出扫描才喿作是对 双口 RAM内存々者的所有包到达时刻依次进4亍扫描,每次i己录新才艮 文到达时刻时,溢出标志位都^皮置0。而在扫描过禾呈中,如果发5见计时间隔已经溢出,则将此位置l。在r,时间内需要对所有流扫描 一次,扫描时将待扫描的流的报文到达时刻7;读出,并与当前计时 器时刻7^进行比较。如果读出的溢出标志为o,比较r,、 ^和两者进 位标志如果两者进位标志相同,且r,r,,表示从7;到当前时刻, 令牌桶没有溢出。如果两者进位标志相同,JLr2<7;,表示乂人r,到当 前时刻,计时器已经循环两次,令皁桶已经溢出。如果两者进^f立标 志不同,JLr2>7;,表示从7;到当前时刻,计时器已经循环一次,令 牌桶已经溢出。如果两者进位标志相同,JLr2<7;,表示/人r,到当前 时刻,计时器已经循环一次,令牌桶没有溢出。如果读出的溢出标 志为l,说明令牌桶已经溢出,不进行才喿作。因为扫描间隔为7^, 所以对于任何流来i兌,最新更新的才艮文到达时刻都会在2rmax时间内 被标记为令牌桶溢出。在才艮文到达后,计算才艮文到达间隔也采用相 同的判断方法。这样,当报文到达间隔小于27^时,令牌桶是否溢 出都可以正确进行判断,而对于报文到达间隔大于27^的情况,则通过溢出扫描才喿作解决。该方法需要4吏用一个双口 RAM,而现有网络节点中,需要分 辨上万个不同的流,并且,这些不同的流的限速速率可能相差上百 万倍。因此,用于计算报文到达间隔的计时器宽度会达到20位以上。 对于硬件芯片来说,在芯片内部可利用的双口 RAM数量有限。当 流密度非常大(16,000个流)、计时器宽度非常宽(20位以上)的 情况下,需要大量的存储空间,从而不利于通过内部RAM实现。 而如果使用外挂RAM,由于扫描操作和报文间隔计算操作有一定的 相关性(需要考虑溢出标志位),而外挂RAM的操作延时较大,从 而有可能影响到包处理速度。
技术实现思路
有鉴于此,本专利技术提供了 一种改进的报文到达时间间隔的计算方案,用以解决J见有4支术中由于采用一个双口 RAM实J见时需要大 量的存储空间从而既不利用内部实现也不利用外部实现的问题。根据本专利技术的一个方面,提供了 一种报文到达时间间隔的计算 方法,该方法用于计算各个流的才艮文到达网络节点的时间间隔,以 确定各个流的令牌桶中的令牌数量。根据本专利技术的报文到达时间间隔的计算方法包括当前报文到 达时,从计时器读取系统当前时刻T2,并读取外部RAM中记录的 当前才艮文所属流的前一个才艮文的到达时刻Tn其中,计时器以预i殳 时间段Tmax为周期进行循环计时,预设时间段Tmax大于或等于以最 小的令牌注入速率填满流的令牌桶最大深度的时间;读取内部RAM 中记录的当前报文所属流的当前标志位,其中,当前标志位用于指 示系统当前时刻丁2与前一个报文的到达时刻Ti之间计时器的循环 次数;根据系统当前时刻TV前一个报文到达时刻Tt及当前标志位, 计算本次才艮文到达的时间间隔。根据本专利技术的另 一个方面,提供了 一种报文到达时间间隔的计 算装置,该装置用于计算各个流的报文到达网络节点的时间间隔, 以确定各个流的令牌桶中的令牌凄t量。根据本专利技术的报文到达时间间隔的计算装置包括外部RAM、 计时器、内部RAM、读取才莫块和计算才莫块。其中,外部RAM,用 于以各个流的流标识为i也址,i己录各个流中的最近一个才艮文的到达 时刻TV,计时器,用于以预设时间段Tn^为周期进行循环计时,其 中,预设时间段Tmax大于或等于以最小的令牌注入速率填满各个流 的令牌桶最大深度的时间;内部RAM,用于以各个流的标识为地址,记录各个流的当前标志位,其中,当前标志位用于指示从系统当前时刻到各个流的前一个报文的到达时刻之间计时器循环的次数;读 取模块,用于在当前报文到达时,从计时器读取系统当前时刻T2、 外部RAM中记录的与当前净艮文所属流对应的前一个才艮文到达时刻 Tj以及内部RAM中记录的与当前才艮文所属流对应的当前标志位; 计算模块,用于根据读取模块读取的系统当前时刻T2、前一个报文 到达时刻Ti及当前标志位,计算本次才艮文到达的时间间隔。通过本专利技术的上述至少一个方案,通过采用一个内部RAM保 存各个流的标本文档来自技高网
...

【技术保护点】
一种报文到达时间间隔的计算方法,用于计算各个流的报文到达网络节点的时间间隔,以确定各个流的令牌桶中的令牌数量,其特征在于,所述方法包括: 当前报文到达时,从计时器读取系统当前时刻T↓[2],并读取外部随机存取存储器RAM中记录的所述当 前报文所属流的前一个报文的到达时刻T↓[1],其中,所述计时器以预设时间段T↓[max]为周期进行循环计时,所述预设时间段T↓[max]大于或等于以最小的令牌注入速率填满所述流的令牌桶最大深度的时间; 读取内部RAM中记录的所述当前报 文所属流的当前标志位,其中,所述当前标志位用于指示所述系统当前时刻T↓[2]与所述前一个报文的到达时刻T↓[1]之间所述计时器的循环次数; 根据所述系统当前时刻T↓[2]、所述前一个报文到达时刻T↓[1]及所述当前标志位,计算本次报文 到达的时间间隔。

【技术特征摘要】
1.一种报文到达时间间隔的计算方法,用于计算各个流的报文到达网络节点的时间间隔,以确定各个流的令牌桶中的令牌数量,其特征在于,所述方法包括当前报文到达时,从计时器读取系统当前时刻T2,并读取外部随机存取存储器RAM中记录的所述当前报文所属流的前一个报文的到达时刻T1,其中,所述计时器以预设时间段Tmax为周期进行循环计时,所述预设时间段Tmax大于或等于以最小的令牌注入速率填满所述流的令牌桶最大深度的时间;读取内部RAM中记录的所述当前报文所属流的当前标志位,其中,所述当前标志位用于指示所述系统当前时刻T2与所述前一个报文的到达时刻T1之间所述计时器的循环次数;根据所述系统当前时刻T2、所述前一个报文到达时刻T1及所述当前标志位,计算本次报文到达的时间间隔。2. 根据权利要求1所述的方法,其特征在于,读取所述外部RAM 中记录的所述前一个才艮文到达时刻包^r:获取所述当前净艮文所属流的流标识,以所述流标识为;也址 读取所述外部RAM中i己录的与所述流标i只只于应的到达时刻3. 根据权利要求1或2所述的方法,其特征在于,在读取所述前 一个4艮文到达时刻Ti之后,所述方法还包4舌以所述当前报文所属流的流标识为地址,将所述系统当前 时刻T2写入所述外部RAM中。4. 才艮据4又利要求1所述的方法,其特征在于,读取所述内部RAM 中记录的所述当前才艮文所属流的当前标志位包括获耳又所述当前才艮文所属流的流标识,以所述流标识为地 址,读取所述内部RAM中i己录的与所述流才示i只》t应的当前标 志位。5. 根据权利要求1或4所述的方法,其特征在于,在读取所述当 前才艮文所属流的所述当前标志位之后,所述方法还包4舌获取所述当前4艮文所属流的流标识,以所述流标识为地 址,将所述内部RAM中记录的与所述流标识7于应的标志位置6. 根据权利要求5所述的方法,其特征在于,所述方法还包括以所述预设时间段Tm狀为周期,对所述内部RAM中记录 的各个流的标志位进4亍扫描,每扫描到一个标志位,该标志位 的值加1。7. 根据权利要求6所述的方法,其特征在于,每个标志位的位宽 为2,标志位的最大值为3,当扫描到的...

【专利技术属性】
技术研发人员:肖洁吴边吴风波余晨
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1