快捷搜索:  www.ymwears.cn  as  test

FPGA+x86构建高性能的国产网络测试仪竞技之道

(文章滥觞:信而泰XINERTEL)

众所周知,以太网已经深入我们的生活无处不在,企业、校园、大年夜数据中间和家庭等都离不开收集,否则我们的生活将受到严重的影响。以太网的接口速度也是迅速成长:10M、100M、GE、10GE、40GE、100GE,到今朝慢慢成熟的2.5GE、5GE、25GE、50GE以致400GE,基础是每10年速度10倍增长的成长趋势。

很多半据中间和运营商也已筹备将其收集从100GE扩展到400GE,以支持第五代无线技巧(5G)、人工智能(AI)、虚拟现实(VR)、物联网(IoT)、自动驾驶汽车等新兴技巧所需的带宽和相应光阴。然而任何新型收集接口速度、收集设备的研发至形成终极产品及收集新技巧从钻研到落地,每个阶段都离不开测试验证,而且已经给测试带来了极大年夜的寻衅。同时,高机能的稳定的高速度收集测试仪的成长,却有点跟不上收集设备的研发需求。

以是高速度、稳定的收集测试仪的成长刻不容缓,尤其是掌握核心技巧的国产化收集测试仪产品。海内电信运营商进行的大年夜规模的数据中间互换机或是核心路由器的测试场景对测试仪提出了极高的要求。具备长光阴稳定打流、统计及协议仿真的能力,如7x24小时长光阴稳定运行;同样的物理情况及收集前提,多次测试结果必须同等;测试结果必须能准确的反应被测设备或系统的真实指标环境,如吞吐量指标、时延和哆嗦的正确性、流量调整的正确性、流量统计的正确性。

支持所有包长(如64-16000字节或IMIX混杂包长)线速发流及统计的能力、超高的路由互换协议仿真能力(如多session数的BGP/OSPF/ISIS/PPPOE/IPOE/EVPN等)、多端口(如上百个以上的100GE/10GE)多营业(如IPV4/IPV6/MPLS/Multicast)流量场景仿真能力;具备相符国际测试标准RFC-2544,RFC-2889、RFC3511、RFC3918等;支持1GE/2.5GE/5GE/10GE/25GE/40GE/50GE/100GE/400GE等多种接口类型,支持多机框级联搭建大年夜规模的测试场景。而今朝市道市面上存在的收集测试仪主要有两种架构。

X86的编程相对轻易,调试手段加倍富厚,资源有必然的上风,在要求不高的功能性测试方面,是一个不错的选择。FPGA+x86这样的软硬聚拢的测试系统,则适用于高机能、全覆盖、测试场景规模大年夜、测试营业繁杂的测试场景。FPGA+x86的混杂架构,一方面使用了FPGA越来越强大年夜的数据层面硬件的并行性,另一方面也结合了CPU在节制层面的处置惩罚机动性,同时因为FPGA和CPU本色上都是可编程的系统,根据营业处置惩罚的必要,可以在FPGA硬件和CPU软件之间机动地移动营业划分界限,实现全部营业流程的周全优化。

x86+DPDK+网卡:以图示的100G收集为例,在64字节包长的环境下,大年夜概每秒会收发150M个数据包,以今朝的CPU的谋略和存储存取能力是无法处置惩罚的,而基于FPGA架构的测试仪没有此限定。根据DPDK官网公开宣布的最新数据(2019.10.9),采纳图1的系统设置设置设备摆设摆设,可以显着看出在64,128,256等小字节环境下无法做到100G线速收发包;

x86+DPDK+网卡:X86系统是面向通用谋略的系统,它本身的基准时钟精度就不高,同时OS的调整偏差至少在us量级;假如x86系统的NIC不支持在物理层插入光阴戳的话,必要由软件系统来处置惩罚收集时延,这将带来进一步的偏差;以是平日收集测试必要的正确至10ns量级的时延难以在面向谋略的通用x86平台上实现;FPGA+x86:在FPGA平台上,经由过程0.1~0.001PPM精度的晶振,孕育发生高达400M的时钟,可以将时延的精度节制在2.5ns数量级别。

x86+DPDK+网卡:x86系统面向通用谋略,今朝主流的内存系统是DDR4内存,带宽大年夜然则造访延迟也大年夜,根据读写造访模式的不合,可能会带有延迟哆嗦;FPGA+x86:FPGA的内存,可以根据必要组合片上RAM(可以实现cache功能)+DDR+QDR+RLDRAM等各类内存技巧,优化带宽需求型和延迟需求型造访。

x86+DPDK+网卡:无额外资本来实现TCP offloading等协议加速功能;FPGA+x86:FPGA是硬件的可编程系统,可以根据硬件资本的若干,以及营业处置惩罚的必要,在协议处置惩罚方面和x86系统机动地划分接口边界,实现TCP offloading等协议加速功能,把协议处置惩罚中的谋略密集型的无状态义务在硬件层面并行化,可以大年夜大年夜增强全部系统的处置惩罚能力。

x86+DPDK+网卡:x86系统在高速端口上无法实现小字节包长线速发流,更谈不上精准的流量调整了;FPGA+x86:面对测试营业流量越来越繁杂和规模越来越大年夜的互换机、路由器,FPGA系统架构下支持产天生千上万条流(比如高端测试仪中范例的64K条流),并且可以对每条流之间的带宽比例、发送调整模式做到正确节制,以致正确到小数点后面5位。

x86+DPDK+网卡:CPU的测试功能软件实现本色上是一个串行的指令聚拢,跟着多核的超线程等新技巧的实现,在指令级别可以实现部分的并行,然则对付一些统计数据,比如实时的每秒收发帧数等,至少是由两个参数来定义的(必然的光阴距离delta和该距离内的收发包数),若是这两个参数的读取是在一个CPU内核上实现的,则指令的串行特点一定带来很大年夜的偏差;若是这两个参数的读取是在两个内核上实现的,则今朝的CPU技巧难以实现内核之间ns级其余同步,同样带来统计值的不正确;

FPGA+x86: FPGA内部,经由过程硬件编程技巧,可以很轻松地实现统计值快照功能,严格包管上述两个参数的读取是正确对应的。x86+DPDK+网卡:对付大年夜规模的被测系统,无论是x86的软件实现照样FPGA+X86这样的混杂系统,单机都无法完成测试义务,系统级联并且在10ns级别实现同步是一定的选项。x86系统面向通用谋略,可以经由过程运行NTP的协议可以实现多机同步,然则NTP的同步精度无法达到时延测试营业的要求;

FPGA+x86:在FPGA+x86的混杂系统中,经由过程FPGA可以实现本地线缆级联/GPS/1588v2等高精度同步技巧,包管光阴测试精度。

别的,在FPGA+x86混杂系统的实现中,2-3层的流量处置惩罚在FPGA内实现,不必要颠末CPU的协议栈或者上层利用,CPU只需实现轻量级的设置设置设备摆设摆设下发、界面出现等运算,避免了CPU在线速收发流处置惩罚方面的天然缺陷;在X86一侧,也可以机动支配DPDK技巧,由X86系统实现颠末加速后的纯协议处置惩罚部分,将FPGA和x86的上风组合起来,实现高效的营业处置惩罚。

显而易见,采纳FPGA+x86混杂系统是构建高机能收集测试仪的最佳选择。

(责任编辑:fqj)

您可能还会对下面的文章感兴趣: