网络业务流分组数与流长度并行测量装置制造方法

文档序号:7803690阅读:213来源:国知局
网络业务流分组数与流长度并行测量装置制造方法
【专利摘要】本发明公开了一种网络业务流分组数与流长度并行测量装置,涉及业务流统计【技术领域】。本发明将SRAM存储器分为容量相同的存储部分和回写部分,并且由控制模块判断其存储部分是否存在数据溢出,若存在数据溢出,则直接把存储部分和回写部分进行对换,从而实现了实时并行统计每流的分组数和流长度信息,并防止数据频繁溢出。本发明还通过对分组数和流长度实现非线性压缩,从而进一步降低计数器增长速度,防止计数器值频繁溢出。
【专利说明】网络业务流分组数与流长度并行测量装置
【技术领域】
[0001]本发明涉及业务流统计【技术领域】,特别涉及一种网络业务流分组数与流长度并行
测量装置。
【背景技术】
[0002]网络测量为网络及其各种应用的管理、优化与控制提供有效的支撑,对业务流进行测量和监控是实施网络管理的重要步骤。作为网络的原子统计信息,以每流统计(Per-Flow)的方式测量得到的业务流分组数目和流长度信息对网络的短期监控(如网络拥塞的发生和拒绝服务攻击的检测等)和网络的长期规划(如网络容量规划、流量工程和网络计费等)都具有十分重要的意义,是其正确执行的前提条件。
[0003]在测量过程中,每个业务流的分组数和流长度计数器被维护在硬件存储器中。然而,在当前网络内容与链路速率飞速增长的环境下,目前已有的线性测量方法或固定概率采样测量方法都无法有效地为互联网的管理和控制平面提供实时、准确的每流分组数与流长度信息。其根本技术问题在于无法平衡在进行高速数据采集时所面临的存储器速度和存储器空间之间的矛盾。随着网络链路速度和流数目的提升,现有的存储器无法同时满足高速和大容量的需求。大容量的DRAM能够支持大量的流记录但是它的低存取速率无法支持高速的寄存器读写需求;另一方面,高速的SRAM能够支持高速读写需求但是由于其低容量而容易频繁溢出。

【发明内容】

[0004](一 )要解决的技术问题
[0005]本发明要解决的技术问题是:如何实时并行统计每流的分组数和流长度信息,并防止数据频繁溢出。
[0006]( 二 )技术方案
[0007]为解决上述技术问题,本发明提供了一种网络业务流分组数与流长度并行测量装置,所述装置包括:输入模块、计数器地址映射模块、控制模块、分组数计算模块、流长度计算模块、随机数产生模块、写回模块、SRAM存储器和回导模块,所述SRAM存储器分为容量相同的存储部分和回写部分,所述分组数计算模块包括:采样概率计算单元和第一比较单元,所述流长度计算模块包括:浮点运算单元和第二比较单元;
[0008]所述输入模块,用于获取待测量网络链路上的IP数据报,并对所述IP数据报进行解析,以获取对应的IP五元组和报文长度;
[0009]所述计数器地址映射模块,用于查找与所述IP五元组对应的业务流计数器地址;
[0010]所述控制模块,用于根据所述业务流计数器地址从所述SRAM存储器的存储部分中读取完整流计数器值,并从所述完整流计数器值中提取出分组数计数器值和流长度计数器值;
[0011]所述随机数产生模块,用于产生第一随机数和第二随机数,所述第一随机数和第二随机数的取值范围均为不小于O且不大于I ;
[0012]所述采样概率计算单元,用于根据所述分组数计数器值计算第一采样概率;
[0013]所述第一比较单元,用于比较所述第一随机数和第一采样概率,并根据比较结果调整第一采样命令的标志位;
[0014]所述浮点运算单元,用于根据所述流长度计数器值和报文长度计算第二采样概率和基本增量;
[0015]所述第二比较单元,用于比较所述第二随机数和第二采样概率,并根据比较结果调整第二采样命令的标志位;
[0016]所述写回模块,用于根据所述第一采样命令的标志位对所述分组数计数器值进行更新,根据所述第二采样命令的标志位和基本增量对所述流长度计数器值进行更新,并将更新后的分组数计数器值和流长度计数器值进行拼接,以获得更新后的完整流计数器值;
[0017]所述控制模块,还用于根据所述业务流计数器地址将所述更新后的完整流计数器值存储至所述SRAM存储器的存储部分中,并判断所述SRAM存储器的存储部分是否存在数据溢出,若存在数据溢出,则清空所述SRAM存储器的回写部分,并将所述SRAM存储器的存储部分和回写部分进行对换;
[0018]所述回导模块,用于对所述SRAM存储器的回写部分中的所有完整流计数器值逐一进行封装,并将封装后的数据传输至上位机。
[0019]其中,所述控制模块通过以下两个条件判断所述SRAM存储器的存储部分存在数据溢出:条件一、所述更新后的完整流计数器值等于所述SRAM存储器的位宽所表示的最大数值;条件二、所述业务流计数器地址等于所述SRAM存储器的存储部分的最大容量所表示的地址。
[0020]其中,所述采样概率计算单元根据所述分组数计数器值通过下式计算第一采样概率,
[0021]p' (s) = l/[f (s+l)-f (s)],
[0022]其中,
【权利要求】
1.一种网络业务流分组数与流长度并行测量装置,其特征在于,所述装置包括:输入模块、计数器地址映射模块、控制模块、分组数计算模块、流长度计算模块、随机数产生模块、写回模块、SRAM存储器和回导模块,所述SRAM存储器分为容量相同的存储部分和回写部分,所述分组数计算模块包括:采样概率计算单元和第一比较单元,所述流长度计算模块包括:浮点运算单元和第二比较单元; 所述输入模块,用于获取待测量网络链路上的IP数据报,并对所述IP数据报进行解析,以获取对应的IP五元组和报文长度; 所述计数器地址映射模块,用于查找与所述IP五元组对应的业务流计数器地址;所述控制模块,用于根据所述业务流计数器地址从所述SRAM存储器的存储部分中读取完整流计数器值,并从所述完整流计数器值中提取出分组数计数器值和流长度计数器值; 所述随机数产生模块 ,用于产生第一随机数和第二随机数,所述第一随机数和第二随机数的取值范围均为不小于O且不大于I ; 所述采样概率计算单元,用于根据所述分组数计数器值计算第一采样概率; 所述第一比较单元,用于比较所述第一随机数和第一采样概率,并根据比较结果调整第一米样命令的标志位; 所述浮点运算单元,用于根据所述流长度计数器值和报文长度计算第二采样概率和基本增量; 所述第二比较单元,用于比较所述第二随机数和第二采样概率,并根据比较结果调整第二采样命令的标志位; 所述写回模块,用于根据所述第一采样命令的标志位对所述分组数计数器值进行更新,根据所述第二采样命令的标志位和基本增量对所述流长度计数器值进行更新,并将更新后的分组数计数器值和流长度计数器值进行拼接,以获得更新后的完整流计数器值;所述控制模块,还用于根据所述业务流计数器地址将所述更新后的完整流计数器值存储至所述SRAM存储器的存储部分中,并判断所述SRAM存储器的存储部分是否存在数据溢出,若存在数据溢出,则清空所述SRAM存储器的回写部分,并将所述SRAM存储器的存储部分和回写部分进行对换; 所述回导模块,用于对所述SRAM存储器的回写部分中的所有完整流计数器值逐一进行封装,并将封装后的数据传输至上位机。
2.如权利要求1所述的装置,其特征在于,所述控制模块通过以下两个条件判断所述SRAM存储器的存储部分存在数据溢出:条件一、所述更新后的完整流计数器值等于所述SRAM存储器的位宽所表示的最大数值;条件二、所述业务流计数器地址等于所述SRAM存储器的存储部分的最大容量所表示的地址。
3.如权利要求1所述的装置,其特征在于,所述采样概率计算单元根据所述分组数计数器值通过下式计算第一采样概率,
4.如权利要求1所述的装置,其特征在于,所述浮点运算单元根据所述流长度计数器值和报文长度通过下式计算第二采样概率和基本增量,
5.如权利要求1所述的装置,其特征在于,所述第一比较单元在比较结果满足下式时,将所述第一采样命令的标志位置为1, P' ≥ q, 其中,为第一采样概率,为第一随机数,所述第一采样命令的标志位初始值为O。
6.如权利要求5所述的装置,其特征在于,所述写回模块根据所述第一采样命令的标志位通过下式对所述分组数计数器值进行更新,
7.如权利要求1所述的装置,其特征在于,所述第二比较单元在比较结果满足下式时,将所述第二采样命令的标志位置为1, P≥q 其中,P为第二采样概率,Q为第二随机数,所述第二采样命令的标志位初始值为O。
8.如权利要求7所述的装置,其特征在于,所述写回模块根据所述第二采样命令的标志位和基本增量通过下式对所述流长度计数器值进行更新,

9.如权利要求1~8中任一项所述的装置,其特征在于,所述控制模块由FPGA芯片实现。
10.如权利要求1~8中任一项所述的装置,其特征在于,所述IP五元组包括:源IP地址、目的IP地址、源端口号、目的端口号和协议号。
【文档编号】H04L12/26GK104009884SQ201410201161
【公开日】2014年8月27日 申请日期:2014年5月13日 优先权日:2014年5月13日
【发明者】武昊, 黎阳, 汪漪, 刘斌 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1