10g网络性能测试仪流量生成与发送电路组件的制作方法

文档序号:7612353阅读:244来源:国知局
专利名称:10g网络性能测试仪流量生成与发送电路组件的制作方法
技术领域
本发明属于高速网络及其网络设备性能测试中测试流量生成技术领域。
背景技术
网络性能测试是指测试网络系统和网络设备的性能,并对网络系统和网络设备的性能进行评价。性能测试关注被测对象的具体性能指标,如吞吐量、延迟、丢失率等,是准确地评价在不同网络负载下被测网络或网络设备的性能的一种重要手段。测试系统完成对被测网络或被测设备的测试功能,由被测设备(DUTDevice Under Test)、测试执行器(也称为“测试仪”)和测试监控器(也称为“监控机”)这三部分组成。测试仪实现测试端口,完成测试的基本功能,包括测试流量的产生和接收、测试统计量的测量、路由报文的产生和报文截取等。在高速网络性能测试中,一般用PC机作为测试监控器,测试监控器也称为“监控机”,提供用户交互界面,包括测试参数的设定、测试结果的分析和显示等。
在网络性能测试中,采用主动测量方法,测试仪主动地生成和发送测试流量,经过被测设备转发回到测试仪,测试仪分析测试流量,从而得出网络或网络设备的性能指标。发送流量生成与发送组件是测试仪的重要组成部分,完成测试流量的生成与发送和其他有关数据的发送功能。
在国内外,测试流量生成方法有硬件和软件二种实现方法。软件生成测试流量方法的速率较低和实时性太差,无法满足高速网络或网络设备的性能测试需求,现有的硬件生成测试流量方法生成的测试流量比较单一,缺乏灵活性,如流量中数据包的长度固定、内容不可变,无法完全达到rfc1242、rfc2544规定的性能测试要求,会影响测试结果的准确性和精确性;还有采用专用集成电路(ASIC)器件来实现测试流量的生成与发送,ASIC器件一旦设计成型,内部逻辑和功能就无法改变,升级性和可扩展性较差。

发明内容
本发明的目的是克服现有测试流量生成设备存在的生成的测试流量单一和自身的灵活性、升级性差的问题,用FPGA实现了高速网络或网络设备测试流量生成与发送功能,作为10G网络性能测试的测试流量生成与发送电路组件。
本发明的特征之一是基于“流”来生成测试流量。由于如路由器等网络设备连接的是多个不同的网络,因此测试仪就不可避免的要模拟多个不同的网络,并且由于要测试网络的性能指标,必须对测试流量进行一定的设计才能测试到诸如延迟等性能,因此提出了流这个概念。流就是模拟的同一网络下一类数据包的组合。流主要通过流标签来表示,流标签是指附加在数据包用户数据中用来测试各项网络性能的一段数据,称作signature,它的结构如图1所示。每一个流在发送的时候,可以根据用户配置的流模式(均匀流或突发流)来改变测试流量发送的流模式;可以根据用户配置来改变每条流的带宽和一次突发报文数;可以根据用户的配置,以几种方式改变报文内容和长度,从而灵活生成各种测试流量。
本发明的特征之二是用FPGA实现了高速网络或网络设备测试流量生成与发送功能。与ASIC器件相比,FPGA器件具有现场可编程的优点,随着生产工艺的不断完善,现在FPGA器件的集成度和工作速度都获得了极大改进,其内部提供的逻辑资源如数据时钟管理器、存储器、内部FIFO、数据信号处理器DSP,完成可以满足测试流量生成与发送电路组件对逻辑资源和时钟频率的要求。用FPGA器件实现测试流量生成与发送功能具有设计周期短、便于设计改进、性能性价比高等优点,特别是能很好地支持远程更新FPGA内部逻辑功能。
本发明的特征之三是采用ALTERA公司的PL4(POS-PHY Level 4)核完成把FPGA用户逻辑数据转换成符合OIF(Optical Internetworking Forum)SPI4.2(the System Packet Interface Level4-Phase 2)规范的差分数据,再传送给成帧控制器Framer。由于SPI4.2协议规范的复杂性和数据发送的高速率,我们选用非常成熟稳定的PL4核来完成这个复杂功能,这样做的好处是保证了发送数据的正确性和系统的稳定性,也减少了设计的复杂性和开发时间。
10G网络性能测试仪测试流量生成与发送电路组件,其主要特征在于它是用现场可编程门阵列即FPGA实现的大规模可编程数字集成电路器件,它由以下各个部分组成ACPU接口电路,它与测试仪主板上的CPU系统互连;B流序列信息存储器,它的输入端与上述CPU接口电路的流序列输出端相连;C流可变配置存储器和流固定配置存储器,它们分别和上述CPU接口电路的流可变配置信息、流固定配置信息的输出端相连;D外部SRAM接口电路,它的一个端口与上述CPU接口电路的IP包包头信息输出端相连;E流序列生成电路,它的一个输入端与上述流序列信息存储器的输出端相连;F流序列缓存存储器,它的数据、控制信号输入端与上述流序列生成电路的相应输出端相连,它的满信号输出端与上述流序列生成电路中相应的输入端相连;G流生成与发送电路,它的流开始或停止发送命令输入端与上述CPU接口电路相应的输出端相连;它的流发送序列输入端与上述流序列缓存存储器的相应端相连;它的流可变配置信息和流固定配置信息输入端与上述流可变配置存储器和流固定配置存储器相应的信息输出端相连;它的IP包包头信息输入端与上述外部SRAM接口电路的相应的信息输出端相连;它根据流序列、流固定配置信息生成初步的流数据包,在初步的流数据包中加入上述IP包包头信息,生成完整的流数据包,最后根据流可变配置信息改变流数据包的部分数据,形成测试流量;H流缓存存储器,它的测试流量数据输入端与上述流生成与发送电路的相应输出端相连;I旁路数据存储器,它的数据、地址、控制信号输入端与上述CPU接口电路的相应输出端相连;J旁路数据转发电路,它的内部寄存器读写控制信号和地址信号输入端与上述CPU接口电路相应输出端相连;它的旁路数据的数据、地址和控制信号与上述旁路数据存储器相应的输出端相连;K旁路数据缓存存储器,它的旁路数据输入端与上述旁路数据转发电路的相应输出端相连;L多路选择电路,它的流数据输入端、旁路数据输入端分别与上述流缓存存储器和旁路数据缓存器的相应输出端相连;它的IP包包数、字节数信息输入端分别与上述CPU接口电路相应输出端相连;MPL4(POS-PHY Level 4)核电路,它是ALTERA公司的产品,它把上述多路选择电路输入的发送数据转换成符合OIF SPI4.2规范的差分数据输出;其中,CPU接口电路A包括A1CPU地址寄存器,它的输入端与测试仪主板上CPU的地址信号总线相连;A2CPU数据寄存器,它的输入端与测试仪主板上CPU的数据信号总线相连;A3第一级地址译码器,它的输入端与CPU地址寄存器A1的地址输出端相连;A4第二级地址译码器,它的输入端与CPU地址寄存器A1的地址输出端相连;A5包数寄存器和字节数寄存器,它们的数据输入端口分别与上述多路选择电路L的相应端口相连;A6外部SRAM数据寄存器,它的输入、输出端口分别与上述外部SRAM接口电路D相应端口互连;A7流可变配置数据寄存器和流固定配置数据寄存器,它们的数据输入、输出端口分别与上述流可变配置存储器和流固定配置存储器C的相应端口相连;A8旁路数据寄存器,它的数据输入、输出端口与上述旁路数据存储器I相应端口相连;A9旁数据配置寄存器,它的数据输入、输出端口与上述旁路数据转发电路J的相应端口互连;A10状态寄存器,上述CPU数据寄存器A2根据上述第一级地址译码器A3产生的片选信号值,选择性地连接该状态寄存器,该状态寄存器再根据第二级地址译码器A4的片选信号值,选择性地连接上述包数寄存器和字节数寄存器A5;A11数据寄存器,上述CPU数据寄存器A2根据上述第一级地址译码器A3产生的片选信号值,选择性地连接该数据寄存器,该状态寄存器再根据第二级地址译码器A4的片选信号值,选择性地连接上述外部SRAM数据寄存器A6、流可变配置数据寄存器和流固定配置数据寄存器A7、旁路数据寄存器A8和旁路数据配置寄存器A9;A12控制寄存器,上述CPU数据寄存器A2根据上述第一级地址译码器A3产生的片选信号值,选择性地连接该控制寄存器,该控制寄存器产生流发送开始和停止信号,再发送到上述流序列生成电路E和流生成与发送电路G;其中,外部SRAM接口电路D,包括D1数据选择器,它的两个输入端分别与上述CPU接口电路A中外部SRAM数据寄存器A6的写SRAM地址信号输出端、上述流生成与发送电路G的读SRAM地址信号输出端相连;它的输出端与外部SRAM的地址信号输入端相连;D2非门,它的输入端与CPU接口电路A的写SRAM信号输出端相连;D3与门,它的一个输入端与上述流生成与发送电路G的读SRAM信号输出端相连,另外一个输入端与上述非门D2的输出端相连;D4数据选通器一它的选通信号输入端与上述与门D3的输出端相连,另一个数据输入端与外部SRAM的数据信号输出端相连;而它的输出端与上述流生成与发送电路G的外部SRAM读控制逻辑电路G9的SRAM数据输入端相连;D5数据选通器二它的选通信号输入端与CPU接口电路的写SRAM信号输出端相连,另一个数据输入端与CPU接口电路的SRAM数据信号输出端相连;而它的输出端与外部SRAM的数据信号输入端相连;其中,流生成序列电路E,包括E1内部状态机逻辑电路,它的状态变化条件信息输入端和与门二E9的输出端相连;E2数值比较器它的输入端与上述内部状态机逻辑电路E1的状态值输出端相连;E3地址寄存器,它的地址清零信号输入端与或门E11的输出端相连;E4加1运算的加法器,它的输入端与上述地址寄存器E3的输出端相连,并把加1后的值输回地址寄存器E3;E5数据选通器一,它的一个输入端与上述加1运算的加法器E4的输出端相连,另一个选通信号输入端和与门一E8的输出端相连,它的输出端与上述流序列信息存储器B的流序列地址输入端相连;E6流序列信息寄存器,它的输入端与上述流序列信息存储器B的输出端相连;E7数据选通器二,它的流序列信息输入端与上述流序列信息寄存器E6的输出端相连,它的选通信号输入端和与门三E10的输出端相连;E8与门一,它的一个输入端与上述流序列信息寄存器E6的当前流序列不是流序列链表最后一个元素信号输出端相连,而另一个输出端与上述数值比较器E2的内部状态处于读流序列阶段(即当前状态值为3)信号输出端相连;E9与门二,它的一个输入端与CPU接口电路的开始发送流信号输出端相连,而另一个输入端与上述流序列缓存存储器F的满信号反相后的信号输出端相连;
E10与门三,它的一个输入端与上述数据比较器E2的内部状态处于读流序列阶段(即当前状态值为3)信号输出端相连,而另一个输入端与上述流序列缓存存储器F的满信号反相后的信号输出端相连;E11或门,它的一个输入端与上述数值比较器E2的内部状态处于读流序列阶段(即当前状态值为3)信号输出端相连,而另一个输入端与上述流序列缓存存储器F的满信号反相后的信号输出端相连;其中,流生成与发送电路G,包括G1流可变配置读控制逻辑电路,它有二个输入端,它的可变配置信息输入端与上述C中的流可变配置存储器的相应输出端相连,它的另一个使能输入端与CPU接口电路A的流发送命令信号输出端相连,而它的地址输出端与上述C中的流可变配置存储器的相应输入端相连;G2流可变配置写控制逻辑电路,它的可变配置信息输出端与上述C中的流可变配置存储器的相应输入端相连,而它的写可变配置信号、地址信号输出端则与上述流可变配置存储器的相应输入端相连;G3流固定配置读控制电路,它的固定配置信息输入端与上述C中的流固定配置存储器的相应输入端相连,它的另一个使能输入端与CPU接口电路A的流发送命令信号输出端相连,而它的地址输出端与上述流固定配置存储器中的相应输入端相连;G4流序列读控制逻辑电路,它的流序列输入端与上述流序列缓存存储器F的相应输出端相连,它的另一个使能输入端与CPU接口电路A的流发送命令信号输出端相连;G5可变配置寄存器,它的输入端与上述流可变配置读控制逻辑电路G1的相应输出端相连;G6固定配置寄存器,它的输入端与上述流固定配置读控制逻辑电路G3的相应输出端相连;G7流序列寄存器,它的输入端与上述流序列读控制逻辑电路G4的相应输出端相连;G8内部状态机逻辑电路,它的三个输入端分别与上述可变配置寄存器G5、固定配置寄存器G6、流序列寄存器G7的相应输出端相连;它的写回的流可变配置数据输出端与上述流可变配置写控制逻辑电路G2的相应输入端相连,它的流可变配置信号、流固定配置信号、读流序列信号输出端依次分别与上述流可变配置读控制逻辑电路G1、流固定配置读控制逻辑电路G3、流序列读控制逻辑电路G4的相应输入端相连;G9SRAM读控制逻辑电路,它的使能信号输入端与上述CPU接口电路A的流发送命令信号输出端相连,它的SRAM数据输入端与上述外部SRAM接口电路D的相应输出端相连,它的读SRAM信号输入端与上述内部状态机逻辑电路G8的相应输出端相连;它的SRAM读信号输出端与上述外部SRAM接口电路D的相应输入端相连;G10地址发生器,它的地址输入端与上述内部状态机逻辑电路G8的相应地址输出端相连;它的流可变配置地址输出端分别与上述流可变配置读逻辑控制电路G1、流可变配置写控制逻辑电路G2的地址输入端相连,它的流固定配置地址输出端与上述流固定配置读控制逻辑电路G3的地址输入端相连,它的SRAM地址输出端与上述SRAM读控制逻辑电路G9的地址输入端相连;G11运算器,它的包内容变化信息输入端、包头内容变化规则输入端分别与上述内部状态机逻辑电路G8的相应输出端相连;G12包新数据寄存器,它的变化后的部分包内容信息输入端与上述运算器G11的相应输出端相连;G13数据拼装逻辑电路一,它的预生成的流数据包输入端、IP包头内容信息输入端依次分别与上述内部状态机逻辑电路G8、SRAM读控制逻辑电路G9的相应输出端相连;G14完整流数据包寄存器,它的输入端与上述数据拼装逻辑电路一的完整数据包输出端相连;G15数据拼装逻辑电路二,它的两个输入端依次分别与上述包新数据寄存器G12的包新数据输出端、完整的流数据包寄存器G14的完整数据包输出端相连;G16流数据写控制逻辑电路,它的变化后的完整数据包输入端与上述数据拼装逻辑电路二G15的相应输出端相连,它的流数据输出端与上述流缓存存储器H的相应输入端相连,它的流缓存存储器写信号输入端与上述内部状态机逻辑电路G8的相应输出端相连,它的流缓存存储器满信号输入端与上述流缓存存储器H的相应输出端相连,它的流缓存存储器满信号输出端与上述内部状态逻辑电路G8的相应输入端相连;其中,旁路数据转发电路J,包括J1内部寄存器读写控制逻辑电路,它的输入端与上述CPU接口电路A中的旁路数据配置寄存器A9的数据输出端相连;J2地址译码器,它的输入与内部寄存器读写控制逻辑电路J1的地址输出端相连;J3旁路数据配置信息寄存器;J4旁路数据控制寄存器;J5ping包源IP地址寄存器;J6ping包目的IP地址寄存器;J7ping包控制寄存器;J8ping包长寄存器;J9ping包间隔寄存器;上述J3-J9各寄存器的片选信号输入端与地址译码器J2的片选信号输出端相连,上述内部寄存器读写控制逻辑电路J1的数据输出端根据片选信号值选择性与上述J3-J9相连;J10旁路数据读控制逻辑电路,它的地址输出端与旁路数据存储器I的地址输入端相连,它的数据输入端与上述旁路数据存储器I的数据输入端相连;
J11旁路数据寄存器,它的输入端和旁路数据读控制逻辑电路J10的旁路数据输出端相连;J12旁路数据封装逻辑电路,它的一个输入端与旁路数据寄存器的输出端相连,而另一个输入端与上述旁路数据配置信息寄存器J3的数据类型及末16字节有效字节数MOD信号的输出端相连;J13旁路数据包长寄存器,它的旁路数据包长信息输入端与上述旁路数据配置信息寄存器J3的相应输出端相连;J14减1运算的减法器一,它的数据输入端与上述旁路数据包长寄存器J13的相应输出端相连,然后,再把减后的值送回上述旁路数据包长寄存器J13;J15数值比较器一,它的输入端与上述减法器一J14的输出端相连;J16与门一,它的一个输入端与上述旁路数据控制寄存器J4的开始发送旁路数据信号输出端相连,而另一个输入端与上述数值比较器一的当前旁路数据包长大于零信号输出端相连;J17数据选通器一,它的选通信号输入端与上述与门一J16的输出端相连,而另一个输入端与上述旁路数据封装逻辑电路J12的数据帧输出端相连;J18ping包拼装逻辑电路,它有三个输入端,分别与上述ping包源IP地址寄存器、ping包目的IP地址寄存器的输出端相连,另外,还有一个ping包其它内容输入端;J19数据选通器二,它的选通信号输入端和与门二J24的输出端相连,而另一个输入端与上述ping包拼装逻辑电路J18的ping包封装帧输出端相连;J20数据选通器三,它有二个输入,它的一个选通信号输入端与数值比较二J23的当前ping包长等于1信号的输出端相连,它的另一个输入端与上述ping包长寄存器J8的输出端相连;J21当前ping包长寄存器,它的数据输入端与上述数据选通器三的相应输出端相连;J22减1运算的减法器二,它的输入端与当前ping包长寄存器J21的相应输出端相连,再把减后的值送回当前ping包长寄存器J21;J23数值比较器二,它的输入端与上述减1运算的减法器二J22的输出端相连;J24三输入与门二,它的三个输入分别与上述ping包控制寄存器J7的开始发送ping包信号输出端、上述数值比较器二的当前包长小于初始值信号输出端、数值比较器三的当前包间隔等于初始值信号输出端相连,它的输出端与上述数据选通器二J19的选通信号输入端相连;J25数据选通器四,它有二个输入端,它的数据输入端与上述ping包间隔寄存器J9的相应输出端相连,而选通信号输入端与上述数值比较二J23的相应输出端相连;J26当前ping包间隔寄存器,它的输入端与上述数据选通器四J25的相应输出端相连;J27减1运算的减法器三,它的数据输入端与上述当前ping包间隔寄存器J26的相应输出端相连,再把减后的值送回当前ping包间隔寄存器J26;
J28数值比较器三,它的输入端与上述减1运算减法器J27的输出端相连,而二个输出端,其中一个是当前ping包间隔等于包间隔初起值的信号输出端与上述与门二J24的第三个输入端相连,另一个当前ping包间隔等于1的信号输出端与上述数据选通器三J20的选通信号输入端相连;J29数据选择器,它的旁路数据帧输入端、ping包数据帧输入端分别与上述数据选通器一、数据选通器二的输出端相连;J30旁路数据写控制逻辑电路,它的数据帧输入端与上述数据选择器J29的相应输出端相连,而其旁路数据帧输出端与上述旁路数据缓存存储器I的相应输入端相连,而它的旁路数据缓存存储器满信号输入端与上述旁路数据缓存存储器I的相应输出端相连;其中,多路选择电路L,包括L1流数据读控制逻辑电路,它的输入端与上述流缓存存储器H的流输出端相连,它的流数据信号输出端与上述流缓存存储器H的相应输入端相连;L2旁路数据读控制逻辑电路,它的输入端与上述旁路数据缓存存储器K的旁路数据输出端相连,它的旁路数据读信号输出端与上述旁路数据缓存存储器K的相应输入端相连;L3数据选择器,它的两个输入端分别与上述流数据读控制逻辑电路L1、旁路数据读控制逻辑电路L2的相应输出端相连;L4数据缓存寄存器,它的数据输入端与上述数据选择器L3相应输出端相连;L5数据写入PL4核控制逻辑电路,它的数据输入端与上述数据缓存器存器L4的输出端相连,两个输出端分别与上述PL4核电路M的数据输入端、PL4核写信号输入端相连;L6端口统计计数器,它的输入端与上述数据缓存存储器L4的相应输出端相连;L7端口统计寄存器,它的输入端与上述端口统计计数器L6的输出端相连;L8端口统计寄存器读写控制逻辑电路,它一个端口与上述端口统计寄存器L7互连,而它的CPU读写控制信号输入端与上述CPU端口电路A中控制寄存器A12的相应输出端相连,而数据端口又与上述CPU接口电路A的CPU数据输入端互连。
本高速测试流量生成与发送设备实现了根据CPU发出的指令来生成和发送测试流量和旁路数据给帧控制器Framer,旁路数据一般由上层的路由仿真软件、ARP、PING等组成。该设备支持IPv4/v6双IP协议,能够实现40字节到64K字节数据包的线速度处理。该设备能产生256个“流”,并且能根据一定的变化规则改变流中每个包的包头的部分字段值,从而模拟256个网络的运行情况。


图1流标签结构图。
图2测试系统总体构成图。
图3测试流量生成与发送电路及其连接关系图。
图4CPU接口电路结构图。
图5外部SRAM接口电路结构图。
图6流序列生成电路结构图。
图7流生成与发送电路结构图。
图8旁路数据转发电路结构图。
图9多路选择电路结构图。
图10测试仪主板结构及测试系统结构图。
具体实施例方式
10G网络性能测试仪中测试流量生成与发送电路主要实现测试流的生成与发送和旁路数据转发功能。下面结合附图对本发明做进一步的描述,并且说明本发明的具体实施方式

本电路组件内部功能主要有以下二类第一类流量生成与发送。通过本电路组件的CPU接口电路将流配置和流的数据包包头分别写入内部流配置存储器和外部SRAM存储器;发送时从内部流配置存储器中读取流配置和外部SRAM存储器读取数据包包头,从而生成测试流量进行发送,同时CPU读取流统计数据和端口统计数据。主要动作包括配置流、配置流序列、开始发送流、停止发送流、流统计和端口统计。
第二类旁路数据转发。通过本组件的CPU接口电路把要发送的旁路数据存入内部RAM,把旁路数据的配置信息写入内部寄存器,旁路数据转发电路根据CPU指令开始发送旁路数据。旁路数据一旦需要发送,不管是否有测试流数据正在发送,旁路数据都将优先通过多路选择电路发送到帧控制器Framer。主要动作包括配置旁路数据、配置控制数据、发送旁路数据。
本发明的实施方式在图10所示的环境下进行,其中五个模块的主要功能为(1)CPU控制模块。CPU控制模块驱动并控制主板上的以太网芯片、现场可编程门阵列FPGA和帧控制器Framer和光模块Transponder等模块,使其正常工作。(2)10G测试端口模块。10G测试端口模块主要由帧控制器FRAMER和光模块TRANSPONDER组成。测试仪主板上10G测试端口用以向被测设备传送和接收测试数据,包括流报文、旁路数据和要截取的实时报文。(3)FPGA流量生成与统计接收模块。FPGA模块采用两片FPGA,分别为上行FPGA和下行FPGA。下行FPGA生成测试流量并转发给被测设备,上行FPGA接收来自被测设备的数据,并进行性能指标的统计。(4)同步级联模块。同步级联模块的电路提供两个同步接口,多个测试仪可以通过同步接口依次串行级联,并且都通过以太网端口由监控机统一控制,从而实现多个端口的联合测试。(5)级联方案设计。测试系统中可以有多台测试仪,各测试仪作为板卡插在背板上,通过背板上的同步布线,同步接口依次串行级联。各测试仪的以太网通讯接口均和同一台监控机相联接,由监控即统一控制,实现多台测试仪联合对被测设备进行测试。
在上述测试仪主板的五个模块中下行FPGA发送数据包模块是用FPGA来实现测试流量生成与发送功能,实现测试流量生成与发送功能的FPGA,称为测试流量生成与发送电路组件,即本发明的电路组件。FPGA器件我们选用ALTERA公司的Stratix GX EP1SGX40DF。测试流量发送的总体流程为用户通过监控机设置测试流量的属性,如流模式、带宽、包的变化信息,通过测试仪CPU系统传送给本组件,本组件按照相关的配置和控制信息完成流量的生成,并且发送至10G光接口电路(包括10G帧控制器和10G光模块),再发送至被测设备。
对于本组件来说,测试流量的生成与发送包括流的生成与发送和旁路数据转发二个部分,由于ping包不用于性能测试,所以本发明把ping也归类在旁路数据。
具体实施方式
也从流的生成与发送和旁路数据转发二个方面来描述。
测试流的生成与发送的具体实施步骤是第一步,通过CPU接口电路(如图4所示)写入流的发送序列(简称为“流序列”)到流序列信息存储器,经过流序列生成电路(如图6所示)处理后生成流序列链表,存入流序列缓存存储器;第二步,通过CPU接口电路写入流配置信息到流可变配置存储器和流固定配置存储器,流配置信息包括固定配置和可变配置;第三步,通过CPU接口电路把IP包包头80字节内容写入外部SRAM;第四步,通过CPU接口电路发出开始发送流命令。流生成与发送电路(如图7所示)从流序列缓存存储器读出流发送序列,写入流序列寄存器,再从流可变配置存储器和流固定配置存储器读出流可变配置和固定配置,写入可变配置寄存器和固定配置寄存器,根据流序列、流固定配置先生成初步的流数据包,在初步流数据包中加入包头80字节内容,就可以生成完整的流数据包,最后根据可变配置变化流数据包的部分数据,形成测试流量发送给流缓存储器,经过多路选择电路(如图9所示)和PL4核的处理后送给相邻的10G光接口;第五步,通过CPU接口电路发出停止发送流命令,停止流发送。
旁路数据转发的具体实施步骤是第一步,通过CPU接口电路把要发送的旁路数据写入旁路数据存储器;第二步,通过CPU接口电路把旁路数据配置信息写入旁路数据配置信息寄存器;第三步,通过CPU接口电路发出旁路数据发送命令写入旁数据控制寄存器。旁路数据转发电路(如图8所示)根据旁路数据配置信息寄存器的值,从旁路数据存储器读出旁路数据,经过一定的处理后生成旁路数据数据帧,并发送给旁流数据缓存存储器,经过多路选择电路(见附图9)和PL4核的处理后送给相邻的10G光接口。
Ping包生成与发送的具体实施步骤是第一步,通过CPU接口电路把ping包的配置信息写入ping包长寄存器和ping包间隔寄存器,把ping包的源和目的IP地址写入ping包源和目的地址寄存器;第二步,通过CPU接口电路把ping包开始发送命令写入ping包控制寄存器。旁路数据转发电路(如图8所示)根据ping包长寄存器、ping包间隔寄存器、ping包源和目的地址寄存器的值,生成ping包,并封装成PPP帧,并发送给旁流数据缓存存储器,经过多路选择电路和PL4核的处理后送给相邻的10G光接口。
第三步,通过CPU接口电路发出停止发送ping命令,停止ping包发送。
权利要求
1.10G网络性能测试仪测试流量生成与发送电路组件,其特征在于它是用现场可编程门阵列即FPGA实现的大规模可编程数字集成电路器件,它包含以下各个部分组成ACPU接口电路,它与测试仪主板上的CPU系统互连;B流序列信息存储器,它的输入端与上述CPU接口电路的流序列输出端相连;C流可变配置存储器和流固定配置存储器,它们分别和上述CPU接口电路的流可变配置信息、流固定配置信息的输出端相连;D外部SRAM接口电路,它的一个端口与上述CPU接口电路的IP包包头信息输出端相连;E流序列生成电路,它的一个输入端与上述流序列信息存储器的输出端相连;F流序列缓存存储器,它的数据、控制信号输入端与上述流序列生成电路的相应输出端相连,它的满信号输出端与上述流序列生成电路中相应的输入端相连;G流生成与发送电路,它的流开始或停止发送命令输入端与上述CPU接口电路相应的输出端相连;它的流发送序列输入端与上述流序列缓存存储器的相应端相连;它的流可变配置信息和流固定配置信息输入端与上述流可变配置存储器和流固定配置存储器相应的信息输出端相连;它的IP包包头信息输入端与上述外部SRAM接口电路的相应的信息输出端相连;它根据流序列、流固定配置信息生成初步的流数据包,在初步的流数据包中加入上述IP包包头信息,生成完整的流数据包,最后根据流可变配置信息改变流数据包的部分数据,形成测试流量;H流缓存存储器,它的测试流量数据输入端与上述流生成与发送电路的相应输出端相连;I旁路数据存储器,它的数据、地址、控制信号输入端与上述CPU接口电路的相应输出端相连;J旁路数据转发电路,它的内部寄存器读写控制信号和地址信号输入端与上述CPU接口电路相应输出端相连;它的旁路数据的数据、地址和控制信号与上述旁路数据存储器相应的输出端相连;K旁路数据缓存存储器,它的旁路数据输入端与上述旁路数据转发电路的相应输出端相连;L多路选择电路,它的流数据输入端、旁路数据输入端分别与上述流缓存存储器和旁路数据缓存器的相应输出端相连;它的IP包包数、字节数信息输入端分别与上述CPU接口电路相应输出端相连;MPL4核电路,它是ALTERA公司的产品,它把上述多路选择电路输入的发送数据转换成符合OIF SPI4.2规范的差分数据输出;其中,CPU接口电路A包括A1CPU地址寄存器,它的输入端与测试仪主板上CPU的地址信号总线相连;A2CPU数据寄存器,它的输入端与测试仪主板上CPU的数据信号总线相连;A3第一级地址译码器,它的输入端与CPU地址寄存器A1的地址输出端相连;A4第二级地址译码器,它的输入端与CPU地址寄存器A1的地址输出端相连;A5包数寄存器和字节数寄存器,它们的数据输入端口分别与上述多路选择电路L的相应端口相连;A6外部SRAM数据寄存器,它的输入、输出端口分别与上述外部SRAM接口电路D相应端口互连;A7流可变配置数据寄存器和流固定配置数据寄存器,它们的数据输入、输出端口分别与上述流可变配置存储器和流固定配置存储器C的相应端口相连;A8旁路数据寄存器,它的数据输入、输出端口与上述旁路数据存储器I相应端口相连;A9旁数据配置寄存器,它的数据输入、输出端口与上述旁路数据转发电路J的相应端口互连;A10状态寄存器,上述CPU数据寄存器A2根据上述第一级地址译码器A3产生的片选信号值,选择性地连接该状态寄存器,该状态寄存器再根据第二级地址译码器A4的片选信号值,选择性地连接上述包数寄存器和字节数寄存器A5;A11数据寄存器,上述CPU数据寄存器A2根据上述第一级地址译码器A3产生的片选信号值,选择性地连接该数据寄存器,该状态寄存器再根据第二级地址译码器A4的片选信号值,选择性地连接上述外部SRAM数据寄存器A6、流可变配置数据寄存器和流固定配置数据寄存器A7、旁路数据寄存器A8和旁路数据配置寄存器A9;A12控制寄存器,上述CPU数据寄存器A2根据上述第一级地址译码器A3产生的片选信号值,选择性地连接该控制寄存器,该控制寄存器产生流发送开始和停止信号,再发送到上述流序列生成电路E和流生成与发送电路G;其中,外部SRAM接口电路D,包括D1数据选择器,它的两个输入端分别与上述CPU接口电路A中外部SRAM数据寄存器A6的写SRAM地址信号输出端、上述流生成与发送电路G的读SRAM地址信号输出端相连;它的输出端与外部SRAM的地址信号输入端相连;D2非门,它的输入端与CPU接口电路A的写SRAM信号输出端相连;D3与门,它的一个输入端与上述流生成与发送电路G的读SRAM信号输出端相连,另外一个输入端与上述非门D2的输出端相连;D4数据选通器一它的选通信号输入端与上述与门D3的输出端相连,另一个数据输入端与外部SRAM的数据信号输出端相连;而它的输出端与上述流生成与发送电路G的外部SRAM读控制逻辑电路G9的SRAM数据输入端相连;D5数据选通器二它的选通信号输入端与CPU接口电路的写SRAM信号输出端相连,另一个数据输入端与CPU接口电路的SRAM数据信号输出端相连;而它的输出端与外部SRAM的数据信号输入端相连;其中,流生成序列电路E,包括E1内部状态机逻辑电路,它的状态变化条件信息输入端和与门二E9的输出端相连;E2数值比较器它的输入端与上述内部状态机逻辑电路E1的状态值输出端相连;E3地址寄存器,它的地址清零信号输入端与或门E11的输出端相连;E4加1运算的加法器,它的输入端与上述地址寄存器E3的输出端相连,并把加1后的值输回地址寄存器E3;E5数据选通器一,它的一个输入端与上述加1运算的加法器E4的输出端相连,另一个选通信号输入端和与门一E8的输出端相连,它的输出端与上述流序列信息存储器B的流序列地址输入端相连;E6流序列信息寄存器,它的输入端与上述流序列信息存储器B的输出端相连;E7数据选通器二,它的流序列信息输入端与上述流序列信息寄存器E6的输出端相连,它的选通信号输入端和与门三E10的输出端相连;E8与门一,它的一个输入端与上述流序列信息寄存器E6的当前流序列不是流序列链表最后一个元素信号输出端相连,而另一个输出端与上述数值比较器E2的内部状态处于读流序列阶段即当前状态值为3信号输出端相连;E9与门二,它的一个输入端与CPU接口电路的开始发送流信号输出端相连,而另一个输入端与上述流序列缓存存储器F的满信号反相后的信号输出端相连;E10与门三,它的一个输入端与上述数据比较器E2的内部状态处于读流序列阶段即当前状态值为3信号输出端相连,而另一个输入端与上述流序列缓存存储器F的满信号反相后的信号输出端相连;E11或门,它的一个输入端与上述数值比较器E2的内部状态处于读流序列阶段即当前状态值为3信号输出端相连,而另一个输入端与上述流序列缓存存储器F的满信号反相后的信号输出端相连;其中,流生成与发送电路G,包括G1流可变配置读控制逻辑电路,它有二个输入端,它的可变配置信息输入端与上述C中的流可变配置存储器的相应输出端相连,它的另一个使能输入端与CPU接口电路A的流发送命令信号输出端相连,而它的地址输出端与上述C中的流可变配置存储器的相应输入端相连;G2流可变配置写控制逻辑电路,它的可变配置信息输出端与上述C中的流可变配置存储器的相应输入端相连,而它的写可变配置信号、地址信号输出端则与上述流可变配置存储器的相应输入端相连;G3流固定配置读控制电路,它的固定配置信息输入端与上述C中的流固定配置存储器的相应输入端相连,它的另一个使能输入端与CPU接口电路A的流发送命令信号输出端相连,而它的地址输出端与上述流固定配置存储器中的相应输入端相连;G4流序列读控制逻辑电路,它的流序列输入端与上述流序列缓存存储器F的相应输出端相连,它的另一个使能输入端与CPU接口电路A的流发送命令信号输出端相连;G5可变配置寄存器,它的输入端与上述流可变配置读控制逻辑电路G1的相应输出端相连;G6固定配置寄存器,它的输入端与上述流固定配置读控制逻辑电路G3的相应输出端相连;G7流序列寄存器,它的输入端与上述流序列读控制逻辑电路G4的相应输出端相连;G8内部状态机逻辑电路,它的三个输入端分别与上述可变配置寄存器G5、固定配置寄存器G6、流序列寄存器G7的相应输出端相连;它的写回的流可变配置数据输出端与上述流可变配置写控制逻辑电路G2的相应输入端相连,它的流可变配置信号、流固定配置信号、读流序列信号输出端依次分别与上述流可变配置读控制逻辑电路G1、流固定配置读控制逻辑电路G3、流序列读控制逻辑电路G4的相应输入端相连;G9SRAM读控制逻辑电路,它的使能信号输入端与上述CPU接口电路A的流发送命令信号输出端相连,它的SRAM数据输入端与上述外部SRAM接口电路D的相应输出端相连,它的读SRAM信号输入端与上述内部状态机逻辑电路G8的相应输出端相连;它的SRAM读信号输出端与上述外部SRAM接口电路D的相应输入端相连;G10地址发生器,它的地址输入端与上述内部状态机逻辑电路G8的相应地址输出端相连;它的流可变配置地址输出端分别与上述流可变配置读逻辑控制电路G1、流可变配置写控制逻辑电路G2的地址输入端相连,它的流固定配置地址输出端与上述流固定配置读控制逻辑电路G3的地址输入端相连,它的SRAM地址输出端与上述SRAM读控制逻辑电路G9的地址输入端相连;G11运算器,它的包内容变化信息输入端、包头内容变化规则输入端分别与上述内部状态机逻辑电路G8的相应输出端相连;G12包新数据寄存器,它的变化后的部分包内容信息输入端与上述运算器G11的相应输出端相连;G13数据拼装逻辑电路一,它的预生成的流数据包输入端、IP包头内容信息输入端依次分别与上述内部状态机逻辑电路G8、SRAM读控制逻辑电路G9的相应输出端相连;G14完整流数据包寄存器,它的输入端与上述数据拼装逻辑电路一的完整数据包输出端相连;G15数据拼装逻辑电路二,它的两个输入端依次分别与上述包新数据寄存器G12的包新数据输出端、完整的流数据包寄存器G14的完整数据包输出端相连;G16流数据写控制逻辑电路,它的变化后的完整数据包输入端与上述数据拼装逻辑电路二G15的相应输出端相连,它的流数据输出端与上述流缓存存储器H的相应输入端相连,它的流缓存存储器写信号输入端与上述内部状态机逻辑电路G8的相应输出端相连,它的流缓存存储器满信号输入端与上述流缓存存储器H的相应输出端相连,它的流缓存存储器满信号输出端与上述内部状态逻辑电路G8的相应输入端相连;其中,旁路数据转发电路J,包括J1内部寄存器读写控制逻辑电路,它的输入端与上述CPU接口电路A中的旁路数据配置寄存器A9的数据输出端相连;J2地址译码器,它的输入与内部寄存器读写控制逻辑电路J1的地址输出端相连;J3旁路数据配置信息寄存器;J4旁路数据控制寄存器;J5ping包源IP地址寄存器;J6ping包目的IP地址寄存器;J7ping包控制寄存器;J8ping包长寄存器;J9ping包间隔寄存器;上述J3-J9各寄存器的片选信号输入端与地址译码器J2的片选信号输出端相连,上述内部寄存器读写控制逻辑电路J1的数据输出端根据片选信号值选择性与上述J3-J9相连;J10旁路数据读控制逻辑电路,它的地址输出端与旁路数据存储器I的地址输入端相连,它的数据输入端与上述旁路数据存储器I的数据输入端相连;J11旁路数据寄存器,它的输入端和旁路数据读控制逻辑电路J10的旁路数据输出端相连;J12旁路数据封装逻辑电路,它的一个输入端与旁路数据寄存器的输出端相连,而另一个输入端与上述旁路数据配置信息寄存器J3的数据类型及末16字节有效字节数MOD信号的输出端相连;J13旁路数据包长寄存器,它的旁路数据包长信息输入端与上述旁路数据配置信息寄存器J3的相应输出端相连;J14减1运算的减法器一,它的数据输入端与上述旁路数据包长寄存器J13的相应输出端相连,然后,再把减后的值送回上述旁路数据包长寄存器J13;J15数值比较器一,它的输入端与上述减法器一J14的输出端相连;J16与门一,它的一个输入端与上述旁路数据控制寄存器J4的开始发送旁路数据信号输出端相连,而另一个输入端与上述数值比较器一的当前旁路数据包长大于零信号输出端相连;J17数据选通器一,它的选通信号输入端与上述与门一J16的输出端相连,而另一个输入端与上述旁路数据封装逻辑电路J12的数据帧输出端相连;J18ping包拼装逻辑电路,它有三个输入端,分别与上述ping包源IP地址寄存器、ping包目的IP地址寄存器的输出端相连,另外,还有一个ping包其它内容输入端;J19数据选通器二,它的选通信号输入端和与门二J24的输出端相连,而另一个输入端与上述ping包拼装逻辑电路J18的ping包封装帧输出端相连;J20数据选通器三,它有二个输入,它的一个选通信号输入端与数值比较二J23的当前ping包长等于1信号的输出端相连,它的另一个输入端与上述ping包长寄存器J8的输出端相连;J21当前ping包长寄存器,它的数据输入端与上述数据选通器三的相应输出端相连;J22减1运算的减法器二,它的输入端与当前ping包长寄存器J21的相应输出端相连,再把减后的值送回当前ping包长寄存器J21;J23数值比较器二,它的输入端与上述减1运算的减法器二J22的输出端相连;J24三输入与门二,它的三个输入分别与上述ping包控制寄存器J7的开始发送ping包信号输出端、上述数值比较器二的当前包长小于初始值信号输出端、数值比较器三的当前包间隔等于初始值信号输出端相连,它的输出端与上述数据选通器二J19的选通信号输入端相连;J25数据选通器四,它有二个输入端,它的数据输入端与上述ping包间隔寄存器J9的相应输出端相连,而选通信号输入端与上述数值比较二J23的相应输出端相连;J26当前ping包间隔寄存器,它的输入端与上述数据选通器四J25的相应输出端相连;J27减1运算的减法器三,它的数据输入端与上述当前ping包间隔寄存器J26的相应输出端相连,再把减后的值送回当前ping包间隔寄存器J26;J28数值比较器三,它的输入端与上述减1运算减法器J27的输出端相连,而二个输出端,其中一个是当前ping包间隔等于包间隔初起值的信号输出端与上述与门二J24的第三个输入端相连,另一个当前ping包间隔等于1的信号输出端与上述数据选通器三J20的选通信号输入端相连;J29数据选择器,它的旁路数据帧输入端、ping包数据帧输入端分别与上述数据选通器一、数据选通器二的输出端相连;J30旁路数据写控制逻辑电路,它的数据帧输入端与上述数据选择器J29的相应输出端相连,而其旁路数据帧输出端与上述旁路数据缓存存储器I的相应输入端相连,而它的旁路数据缓存存储器满信号输入端与上述旁路数据缓存存储器I的相应输出端相连;其中,多路选择电路L,包括L1流数据读控制逻辑电路,它的输入端与上述流缓存存储器H的流输出端相连,它的流数据信号输出端与上述流缓存存储器H的相应输入端相连;L2旁路数据读控制逻辑电路,它的输入端与上述旁路数据缓存存储器K的旁路数据输出端相连,它的旁路数据读信号输出端与上述旁路数据缓存存储器K的相应输入端相连;L3数据选择器,它的两个输入端分别与上述流数据读控制逻辑电路L1、旁路数据读控制逻辑电路L2的相应输出端相连;L4数据缓存寄存器,它的数据输入端与上述数据选择器L3相应输出端相连;L5数据写入PL4核控制逻辑电路,它的数据输入端与上述数据缓存器存器L4的输出端相连,两个输出端分别与上述PL4核电路M的数据输入端、PL4核写信号输入端相连;L6端口统计计数器,它的输入端与上述数据缓存存储器L4的相应输出端相连;L7端口统计寄存器,它的输入端与上述端口统计计数器L6的输出端相连;L8端口统计寄存器读写控制逻辑电路,它一个端口与上述端口统计寄存器L7互连,而它的CPU读写控制信号输入端与上述CPU端口电路A中控制寄存器A12的相应输出端相连,而数据端口又与上述CPU接口电路A的CPU数据输入端互连。
全文摘要
10G网络性能测试仪流量生成与发送电路组件属于高速网络及网络设备性能技术领域,其特征在于通过CPU接口电路把流序列、流固定配置及可变配置信息写入流生成与发送电路,再从外部SRAM接口电路取得IP包头信息,形成流数据;还从CPU接口电路把旁路数据信息送入旁路数据转发电路,形成旁路数据,上述流数据和旁路数据经缓存后送入多路选择电路,再从PL4核电路中输出差分数据。该组件由FPGA实现,PL4核电路采用ALTERA公司成型产品。因而,减少了设计复杂性和开发时间,保证了高速率情况下数据发送的正确性,也保证了电路组件的灵活性和易升级性。
文档编号H04L12/26GK1688134SQ200510011710
公开日2005年10月26日 申请日期2005年5月13日 优先权日2005年5月13日
发明者张小平, 廖有清, 赵有健, 吴建平 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1