一种用户流量的生成方法及装置的制造方法

文档序号:9455844阅读:243来源:国知局
一种用户流量的生成方法及装置的制造方法
【技术领域】
[0001]本发明涉及网络测试技术领域,具体涉及一种用户流量的生成方法及装置。
【背景技术】
[0002]当前,网络设备的转发性能可以通过如图1所示的测试装置来完成,其中,图1所示的测试装置由中央处理器(CPU,Central Processing Unit)、流量模拟装置、待检测网络设备以及流量校验装置组成,且该流量模拟装置包括用于控制流量发包参数(如发包时间、发包数量以及发包间隔等)的流量控制模块、用于存储用户报文的静态随机存取存储器(SRAM,Static Random Access Memory)以及用于发起流量的流量发起模块。其基本原理为流量模拟装置在CPU的控制下发出用户流量,待检测网络设备将流量模拟装置发出的用户流量转发至流量校验装置,流量校验装置对待检测网络设备转发的用户流量进行分析、校验与统计,进而分析待检测网络设备的转发性能。可见,流量模拟装置发出的用户流量在网络设备的转发性能测试中显得尤为重要。
[0003]在以太网二三层测试中,图1所示的测试装置中的流量模拟装置在CPU的控制下通常通过基于现场可编程门阵列(FPGA,Field Programmable Gate Array)的专有硬件的生成方式发出用户流量,且其原理示意图如图2所示,在用户流量生成前,CPU将用户报文配置信息存储于片内SRAM中并将用户报文头部信息存储到SRAM(片内SRAM或片外SRAM)中,且在用户流量生成阶段循环的读取SRAM内存储的头部信息生成用户流量。该基于FPGA的专有硬件的生成方式能够实现超高速带宽流量生成与用户流量的精准控制,但是,由于用户报文的数量受限于SRAM空间的大小,这使得基于FPGA的专有硬件的生成方式无法实现海量用户报文的存储且无法线速生成用户流量。

【发明内容】

[0004]本发明实施例公开了一种用户流量的生成方法及装置,能够实现海量用户报文的存储以及线速生成用户流量。
[0005]本发明实施例第一方面公开了一种用户流量的生成方法,所述方法包括:
[0006]接收用户流量生成指令;
[0007]根据所述用户流量生成指令以及现场可编程门阵列FPGA的第一片内静态随机存取存储器SRAM中预先存储的索引信息,对动态随机存取存储器DRAM中存储的且所述索引信息所指示的用户报文执行预读取操作与缓存操作,所述第一片内SRAM用于存储需要用到的所有用户报文的索引信息,所述DRAM用于存储所述所有用户报文;
[0008]根据所述缓存操作缓存的用户报文生成用户流量。
[0009]在本发明实施例第一方面的第一种可能的实现方式中,所述方法还包括:
[0010]根据业务类型对所述所有用户报文进行分组,以获得多个用户报文组;
[0011]根据访问路径对每个所述用户报文组进行分组,以获得该用户报文组的多个子用户报文组;
[0012]将每个所述用户报文组的每个所述子用户报文组中的每个用户报文依次存储在所述DRAM中,并根据所述所有用户报文在所述DRAM中的存储位置生成所述所有用户报文的索引ig息;
[0013]将所述所有用户报文的索引信息存储在所述第一片内SRAM中。
[0014]结合本发明实施例第一方面或本发明实施例第一方面的第一种可能的实现方式,在本发明实施例第一方面的第二种可能的实现反式中,所述根据所述缓存操作缓存的用户报文生成用户流量之前,所述方法还包括:
[0015]判断所述缓存操作缓存的用户报文的数量是否达到预设数量阈值;
[0016]当达到所述预设数量阈值时,执行所述根据所述缓存操作缓存的用户报文生成用户流量的操作;
[0017]当未达到所述预设数量阈值时,执行所述根据所述用户流量生成指令以及现场可编程门阵列FPGA的第一片内静态随机存取存储器SRAM中预先存储的索引信息,对动态随机存取存储器DRAM中存储的且所述索引信息所指示的用户报文执行预读取操作与缓存操作,直至所述缓存操作缓存的用户报文的数量达到所述预设数量阈值。
[0018]结合本发明实施例第一方面、本发明实施例第一方面的第一种可能的实现方式或本发明实施例第一方面的第二种可能的实现方式,在本发明实施例第一方面的第三种可能的实现方式中,所述根据所述用户流量生成指令以及现场可编程门阵列FPGA的第一片内静态随机存取存储器SRAM中预先存储的索引信息,对动态随机存取存储器DRAM中存储的且所述索引信息所指示的用户报文执行预读取操作与缓存操作,包括:
[0019]根据所述用户流量生成指令以及FPGA的第一片内SRAM中预先存储的索引信息,读取DRAM中存储的且所述索引信息所指示的用户报文,并将读取到的所述用户报文缓存到所述FPGA的第二片内SRAM中。
[0020]结合本发明实施例第一方面的第三种可能的实现方式,在本发明实施例第一方面的第四种可能的实现方式中,所述将所述所有用户报文的索引信息存储在所述第一片内SRAM中之前,所述方法还包括:
[0021 ] 对所述第一片内SRAM以及所述第二片内SRAM执行清零操作。
[0022]本发明实施例第二方面公开了一种用户流量的生成装置,所述装置包括通信模块、处理模块以及第一生成模块,其中:
[0023]所述通信模块,用于接收用户流量生成指令;
[0024]所述处理模块,用于根据所述用户流量生成指令以及FPGA的第一片内SRAM中预先存储的索引信息,对DRAM中存储的且所述索引信息所指示的用户报文执行预读取操作与缓存操作,所述第一片内SRAM用于存储需要用到的所有用户报文的索引信息,所述DRAM用于存储所述所有用户报文;
[0025]所述第一生成模块,用于根据所述缓存操作缓存的用户报文生成用户流量。
[0026]在本发明实施例第二方面的第一种可能的实现方式中,所述装置还包括分组模块、存储模块以及第二生成模块,其中:
[0027]所述分组模块,用于根据业务类型对所述所有用户报文进行分组以获得多个用户报文组,并根据访问路径对每个所述用户报文组进行分组以获得该用户报文组的多个子用户报文组;
[0028]所述存储模块,用于将每个所述用户报文组的每个所述子用户报文组中的每个用户报文依次存储在所述DRAM中;
[0029]所述第二生成模块,还用于根据所述所有用户报文在所述DRAM中的存储位置生成所述所有用户报文的索引信息;
[0030]所述存储模块,还用于将所述所有用户报文的索引信息存储在所述第一片内SRAM中。
[0031]结合本发明实施例第二方面或本发明实施例第二方面的第一种可能的实现方式,在本发明实施例第二方面的第二种可能的实现反式中,所述装置还包括判断模块,其中:
[0032]所述判断模块,用于在所述第一生成模块根据所述缓存操作缓存的用户报文生成用户流量之前,判断所述缓存操作缓存的用户报文的数量是否达到预设数量阈值,当达到所述预设数量阈值时,触发所述第一生成模块执行所述根据所述缓存操作缓存的用户报文生成用户流量的操作,当未达到所述预设数量阈值时,触发所述处理模块执行所述根据所述用户流量生成指令以及FPGA的第一片内SRAM中预先存储的索引信息,对DRAM中存储的且所述索引信息所指示的用户报文执行预读取操作与缓存操作。
[0033]结合本发明实施例第二方面、本发明实施例第二方面的第一种可能的实现方式或本发明实施例第二方面的第二种可能的实现方式,在本发明实施例第二方面的第三种可能的实现方式中,所述处理模块包括读取子模块以及缓存子模块,其中:
[0034]所述读取子模块,用于根据所述用户流量生成指令以及所述第一片内SRAM中预先存储的索引信息,读取所述DRAM中存储的且所述索引信息所指示的用户报文;
[0035]所述缓存子模块,用于将所述读取子模块读取到的所述用户报文缓存到所述第二片内SRAM中。
[0036]结合本发明实施例第二方面的第三种可能的实现方式,在本发明实施例第二方面的第四种可能的实现方式中,所述装置还包括清零模块,其中:
[0037]所述清零模块,用于在所述缓存子模块将所述读取子模块读取到的所述用户报文缓存到所述第二片内SRAM中之前,对所述第一片内SRAM以及所述第二片内SRAM执行清零操作。
[0038]本发明实施例中,接收用户流量生成指令,根据该用户流量生成指令以及现场可编程门阵列FPGA的第一片内静态随机存取存储器SRAM中预先存储的索引信息,对动态随机存取存储器DRAM中存储的且该索引信息所指示的用户报文执行预读取操作与缓存操作,并根据该缓存操作缓存的用户报文生成用户流量,其中,第一片内SRAM用于存储需要用到的所有用户报文的索引信息,DRAM用于存储所有用户报文。可见,实施本发明实施例能够通过DRAM实现海量用户报文的存储,且通过对存储的用户报文的预读取操作与缓存操作实现了线速生成用户流量。
【附图说明】
[0039]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0040]图1是现有技术公开的一种网络设备的转发性能的测试装置的结构示意图;
[0041]图2是现有技术公开的一种用户流量生成的原理示意图;
[0042]图3是本发明实施例公开的一种用户流量的生成方法的流程示意图;
[0043]图4是本发明实施例公开的另一种用户流量的生成方法的流程示意图;
[0044]图5是本发明实施例公开的又一种用户流量的生成方法的流程示意图;
[0045]图6是本发明实施例
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1