Spirent TestCenter 使用培训 思博伦通信上海代表处 钟晟 sheng.zhong@spirent.com
Spirent TestCenter系统简介
什么是Spirent TestCenter? 思博伦的下一代测试平台 Most technologically advanced test tool on the market || Designed from the ground up to improve productivity || Broadly addresses all key markets 综合接入 B-RAS, EAR, PON || PPPoE, DHCP, L2TP, LACP Conformance || Functional || Performance 视频验证 IPTV || Channel zapping, IGMP/MLD, Video quality 交换路由测试 Data Center || Edge, Core || L2/L3 VPNs, IPv4/IPv6, multicast Spirent TestCenter has been designed to offer conformance, functional and performance testing for all key network markets. Carrier Ethernet 验证 Edge, Core || VPLS, EOAM, xSTP, PB/PBB/PBT, T-MPLS, MEF 有状态的流量测试 Firewall, Load Balancers || HTTP, FTP, mail, SIP, video
从Spirent TestCenter可以获得 Structured and Hierarchical System Implementation of viewer, system logic and instrument layers Viewer The GUI, TCL: the viewer does not contain the state of the running test, just the presentation of the configuration and results. Currently on the same PC as the system logic, but does not have to be. System logic The state of the test, reservations, objects, counters, The objects are all contained in this layer. Instrumentation The actual hardware and firmware running on it GUI API System Logic/State A logical and segmented approach was taken to the system design. This allows the various layers to perform their jobs effectively and efficiently. Also, a tight coupling was achieved between the GUI and API, thereby allowing anything in the GUI to be scripted and allowing capability such as GUI to script.
Spirent TestCenter System Architecture – The Chassis Chassis appears to PC as one big Ethernet switch Chassis management channel consists of 12Gbs non-blocking switch Up to 72 simultaneous users Port CPU Port CPU Ethernet Switch Port CPU Port CPU Port CPU Port CPU Ethernet Switch Port CPU Port CPU Ethernet Switch Port CPU Port CPU Ethernet Switch Port CPU Port CPU Port CPU Simplified diagram showing the communications structure only. There is an FPGA on front for g/a. Non-blocking switch capacity for each module. Traffic is not terminated or processed by the controller card – no bottle necks in the system. Typical legacy test systems have 2-4 Mbs of bandwidth for results and configuration to/from the PC. Port CPU Ethernet Switch Port CPU Port CPU Port CPU Port CPU Single Chassis IP Address Ethernet Switch Port CPU Port CPU Management Backplane Host Systems Chassis Controller Test Modules Spirent TestCenter System
Spirent TestCenter Infrastructure – System Logic / State Spirent TestCenter Inspire Architecture Modern, 面向对象的设计思想 (e.g. objects behind objects) 多个对象可以以”Block”的形式表示,从而提高效率 所有的操作都支持实时的 更改一个属性可以通过继承来影响到他的子对象实例 以上这些支持我们构建一个可以适应以后新技术发展的平台 很好支持高密度测试, 可适应于新的协议和功能 十分适合性能测试,以至性测试和功能测试
系统对象 – Hosts and Host Blocks 一个Host就相当于桌上的一台电脑;那么Host Block就相当于一个办公室/实验室 用户可以修改的属性就如同:有多少台电脑,每台电脑的的IP地址,MAC地址等等 这些对象的用处 处理host与host之间的流量的抽象– 使用hosts就可以自动的去实现系统中流量的传播 例如,你可以定义一个测试中仿真一台电脑,那么你可以使用这个host来创建流量。如果你修改这个host block里面的hosts的数量,那么流的条目数也会对应的增加,而不需要再去做新增流量的添加 Hosts可以使用一些常见的用户行为 -- PPPoE, DHCP, IGMP等 Host内含有MAC地址等属性,所以创建流量时只需要关心从哪个host到哪个host,而不需要去记那些源地址和目的地址
系统对象 – Stream Block Stream Block对象可以用来表示一个或多个端口的整体流量模型. 如, 128个端口, full mesh的流量模型,可以是一个stream block. 优点 可以通过一个简单的命令来修改所有流量的包大小或是发送速率 可以实现多个端口的发送速率的同时实时的修改 修改hosts的数量和流条目数的自动重建,可以通过host block和stream block来作为集合的不变的控制句柄来实现控制 采用集合的处理方式可以使得大规模测试提高配置速率
Interactive Testing w/ Bound Streams Dynamic and interactive stream setup for complex data plane/control plane tests
Spirent TestCenter Chassis Family SPT-9000 SPT-2000 / 2000HS 144-ports of 1GigE or 24-ports of 10GigE in rack mount chassis For large workgroups or large scale testing Module hot swap GigE backplane for control and results Redundant Power Supply, LCD, modular design 24-ports of 1GigE or 4-ports of 10GigE in portable chassis Bench top chassis Module hot swap GigE backplane for control and results 2000HS optimized for 10G hardware
Spirent TestCenter Modules Series 1000 Series 2000 Series 5000 High-performance, stateful L4-7 protocol testing for firewalls, load balancers, servers and security testing 8-port 10/100/1000 Ethernet copper 2-port 10GbE Industry leading L4-7 protocol performance Optimized for medium-scale routing, access & switch testing, PHY or protocol development, manufacturing test Modem emulation Full line rate generation and analysis – filters, capture, real-time stats, etc. Ethernet dual media GigE, SFP GigE, 10/100/1000 RJ-45, 10/100 RJ-45; 10GbE XFP, CX4, XENPAK, X2, 10GBaset-T High-scale routing, access & switch testing Full line rate generation and analysis – filters, capture, real-time stats, etc. Med-scale stateful L4-7 Ethernet dual media GigE, SFP GigE, 10/100/1000 RJ-45, 10/100 RJ-45; 10GbE XFP, CX4, XENPAK, X2, 10GBaset-T; OC-192/48/12/3 POS, OC-12/3 IPoATM
Spirent’s 10GbE Solution Overview Spirent delivers the critical features for 10GbE switch/router testing: Line rate testing with 48B to 16K frame lengths Test and measure at greater than line rate (i.e. 11B IFG) Measure with 10 nanosecond resolution Support for Deficit Idle Count in LAN and WAN modes Link Fault Signaling support Loop line timing – Eliminate clock differences with synchronized test tool and DUT Management Data Input Output (MDIO) - User defined templates Preamble access: length control, edit byte content, capture and display content High accuracy 10GbE hardware rate counters – actual hardware transmit and receive rates (accurate to 1 ppm) PRBS error measurement Hot Swappable
10GbE Solution XFP X2 10GBASE-T XENPAK & CX-4 High-density functional and performance 10GbE tester for LAN and WAN protocols Up to 24 ports of 10GbE supported per a 9U chassis Up to 32,768 customizable transmit streams per port Real time, per stream results Hot-swappable personality modules Test modules support a wide array of multiple source agreement (MSA) transceiver types Spirent TestCenter 10GbE test tools are uniquely featured to measure ultra-low latency (down to 10 nanosecond resolution) in these challenging tests, in any topology and with a high degree of realistic network traffic.
Spirent TestCenter ATM SFP-4002A OC-3/12, STM-1/4 ATM Personality Module Available SFP optics: ACC-6035A Singlemode ACC-6038A Multimode Supported Host Modules: UPY-2001A UPY-2002A WAN-2002A WAN-2003A - 622M host module – New Supports 2000 series performance for supported protocols
Spirent TestCenter ATM Modes Normal, Line Monitor and Diagnostic Loopback Adaptation Layer AAL5 Encapsulations VC Mux LLC/SNAP Bridged Ethernet with or without FCS via VC Mux (Including VLANs) Bridged 802.3/LLC/SNAP with or without FCS via VC Mux (Including VLANs) Bridged Ethernet with or without FCS via LLC (Including VLANs) Bridged 802.3/LLC/SNAP with or without FCS via LLC (Including VLANs) Protocols IPoA / QoS PPPoX Unicast Routing - BGP, OSPFv2, OSPFv3, RIP, RIPng, IS-IS
ATM – Port Setup When ATM boards are reserved ATM is already selected as the SONET mode. Switch between OC-3 and OC-12
ATM - Alarms All SONET alarms are available as well as the ATM OOCD (Out-Of-Cell-Delineation) View alarms from the Port views on the “SONET Alarm” tab
ATM Traffic – PDU Editor Ability to customize your packet to fit any encapsulation needed
ATM – Hosts/Routers When creating hosts and routers on an ATM port the default encapsulation is IPoA
系统解决方案
Spirent TestCenter Solutions Access IPTV EAR, B-BRAS, Relay Agent testing PPPoE, DHCP, DHCP-PD, L2TP, LACP, IGMP/MLD QoS and Throughput testing Session capacity, stability, rate Relay Agent functional and performance testing IPTV channel zapping, video quality IGMPv1,2 & 3, MLDv1 / 2 Key Tests Join Latency – Time from when a join is sent until first multicast packet arrives Leave Latency - Time from when a leave is sent until the last multicast packet arrives Channel Gap/Overlap – Time it takes to complete an entire channel Stream Integrity – Are there lost or misinserted packets in the multicast stream
Spirent TestCenter Solutions Switching & Routing Carrier Ethernet Edge, Core and Enterprise switch/routers MPLS-VPN, VPLS, multicast routing, high availability, IPv4/v6 routing protocols and MPLS Wizards for setting up complex VPLS, MPLS-VPN and L2 VPN tests Wizards for quickly setting up emulated routes, routers, and MPLS tunnels Test route/tunnel capacity/stability/functionality Edge and Core Carrier Ethernet devices 802.1Q/ad, 802.1ah, 802.1ag, 802.3ah, MEF 9 & 14 STP/RSTP/MSTP Hard QoS testing with real time packet loss, latency and MEF Jitter Generate 32k streams and analyze 64k streams for high-scale EVC testing
Spirent TestCenter Solutions Automation Conformance Testing Fast, customizable, integrated platform with or without coding! Full Featured Automation API supports all system functions NoCode TM Automation provides an order of magnitude decrease in test development time Optimal GUI to Script generates smaller scripts than ever A la Carte Extreme Automation Toolkit provides ancillary tools to enhance customer experience and fit in existing frameworks Over 3 dozen suites supported! IPv4 and IPv6 routing Carrier Ethernet 802.1x Ethernet Bridging Multicast Fast and efficient test case execution Leverage a single platform for conformance, performance and functional testing Multiple users executing conformance and performance tests on the same module Intelligent results with pass/fail, protocol bounce/ladder diagrams, decode and hex dump
L2-7 Triple Play Services Traffic L2-7 Voice, Video and Data Triple Play services testing For Switches, Routers and Access Aggregation devices Full line rate on every port Easily add HTTP, FTP and SIP application layer traffic Measure Quality of Experience and Quality of Service HTTP Goodput, RTP latency and perceptual video quality Loss, latency, jitter and 40+ other statistics on thousands of streams At the same time in the same test with correlated results
Advanced L4-7 Testing Test advanced Layer 4-7 with Avalanche for TestCenter Firewall, Intrusion Detection and Intrusion Prevention Systems Server Load Balancers and Stateful Proxy’s Application Accelerators, Web Caches and WAN Accelerators Rich and deep protocol support SIP, HTTP, TCP, FTP, mail, streaming media Security: IPSec, SSL, DDOS, Vulnerabilities Storage: CIFS Comprehensive High-Performance and Functional Measurements
流量发送结果分析
Hosts Hosts是在端口上配置的一系列节点Endpoints或Host Object,类似于PC节点。TestCenter中,可以建立多个Host Blocks,每个Host Block内通过修改变量的设置可以模拟出大量的Host或Endpoints Host的用途 Traffic:用于创建Traffic时设定的源/目的节点 IGMP/PPPOE/IPTV/DHCP响应动作的节点 VPN的接入点 ARP/Ping的请求响应节点 ……
Hosts-Host Blocks Host Wizard(创建多个Host Blocks) 方式A 方式B 方式C
Hosts Wizard生成端口Host Block(s)-1
Hosts Wizard生成端口Host Block(s)-2
Hosts Wizard生成端口Host Block(s)-3 Port的Vlan数,用于生成Host Block的数量
Hosts Wizard生成端口Host Block(s)-4
Hosts-Single Host Block
Host Blocks-Modifier 似类于for循环的嵌套方式,根据循环不同的变量,可以将Host批量设置不同的模式 Value= Step= Host count Host1 Source MAC Host2 Vlan Host3 IP address Host4 Step=? Increment HostN 似类于for循环的嵌套方式,根据循环不同的变量,可以将Host批量设置不同的模式 Endpoint=Host count*(IPaddr*stack count)*(Vlan*stack count)*(Source Mac*stack*(count)
Hosts-Setting 设定Host缺省相关参数
Stream Blocks Stream Blocks:是一组具有相同属性的流块的集合,这些属性有Load/Frame size/Burst size/Priority/Pdu等。同时Stream Blocks又可以包含大量的streams(TestCenter可以分别统计);通过设置及modify 相应的变量,每个stream也可以包含大量的flows。 Flows:Flows就是一系列特定流特征头的组合,通过增加/修改Stream中的变量域,可以组合产生大量的flows。在TestCenter中,每条Flow可以独立追踪统计。 Stream Blocks建立方式 Raw Stream Block:Manual, Edit the detail frame (include Preamble) Bound Stream Block (s): Traffic Wizard, Manual,Dynamic Binding by Hosts/Router/Route/LSP/IGMP groups/VPN...)
Stream Blocks Up to 32,767 unique TX streams per port Set rate, header fields, protocol and up to 6 variable fields 65,535 Streams on RX Analyzer Tracks 24 Measurements per Stream Min, Max, Average Latency Package Loss Out of Sequence Latency Distribution Group ID Bi-directional Capture
Stream Blocks-Raw Stream Block
Stream Blocks-Raw Stream Block Pseudorandom binary sequence CRC错误帧
Stream Blocks-Raw Stream Block 通过循环变量/Modifier增加flows Steams/Flows
Stream Blocks-Raw Stream Block 产生错误帧 Checksum error
Stream Blocks-Raw Stream Block 灵活构建streams及flows,在不同的设置模式下,流的生成的区别
Stream Blocks-Raw Stream Block 多个变量域循环时,不同的设置条件对流的影响 Streams+flows flows
Stream Blocks-Bound Stream Block(s) 创建dynamic/Bound的Stream Block, 依据测试目的的不同,Stream Block可以与Host/router/route/LSP/IGMP Group/VPN等绑定,这种绑定的是动态/dynamic的,如果修改绑定的(如Host)配置,则相关的Stream Block会自动更新。 在创建dynamic/Bound的Stream Block前,需要有相关的Binding参数(如Host)配置。 使用Bound Stream Block(s)生成的流,在重新编辑时不能修改已Binding部分。
Stream Blocks Bound Stream Block(s)的生成方式 Traffic Bind Bound Stream Endpoints/Hosts Traffic Bind Bound Stream Router/Route Apply Lsp/MPLS IGMP/PPPOE/DHCP…. VPN
Stream Blocks-Bound Stream Block(s) Wizrads 添加Stream Block A 添加 Bound Stream Block B C 右键弹出菜单
Stream Blocks-Bound Stream Block(s) Traffic wizards-1 端口选择
Stream Blocks-Bound Stream Block Traffic wizards-2 Port 11 Host:10.1.1.2-3 Port 11 Host:20.1.1.2-3 添加 选定的流 Host间是一一对应还是遍历 生成的流是否基于Stream
Stream Blocks-Bound Stream Block Traffic wizards-3 Port 11 Host:192.85.5.3-4 Port 11 Host:192.85.6.3-4 Stream方式与非Stream方式
Stream Blocks-Bound Stream Block Traffic wizards-4(Many to Many方式) Port 11 Host:192.85.5.3-4 Port 11 Host:192.85.6.3-4 Host-Host中Endpoints间的Full-mesh
Stream Blocks-Bound Stream Block Edit the Bound Stream Blocks-Frame For Rate Based/Priority Based For every Stream block For Priority Based
Stream Blocks- Stream Block Edit the Stream Blocks-1 For Priority Based
Stream Blocks-Stream Block Edit the Stream Blocks-2 Port Based/Rate Based/Priority Based Only for Port Based FIXX LIXX
Stream Blocks-Scheduling Mode Scheduling Mode-定制Load模式及流队列调度 Port Based:基于端口的流调度,所有的Stream Block具有相同的速率,所有的流块/流均被轮流调度,通过调整帧间的间隔来控制帧的速率。 Rate Based:基于每个Stream Block的流调度(Burst size/Load/Frame size),在整体的帧速率控制上保持均匀。 Priority Based:基于Stream Block优先级调度,确保优先级高的流块均匀的速率。
Stream Blocks-Scheduling Mode Scheduling Mode-Port Based Src IP 10.1.1.2 Src IP 10.1.1.3
Stream Blocks-Scheduling Mode Scheduling Mode-Rate Based Src IP 10.1.1.2 Src IP 10.1.1.3
Stream Blocks-Scheduling Mode Scheduling Mode-Priority Based Src IP 10.1.1.2 Src IP 10.1.1.3
Stream Blocks-Stream Block 基于Stream Priority的调度方式 Stream Block A的优先级最高,其次为B,最小为C Stream Block A scheduled first Priority = 1 Burst Size Stream Block A : 3 Priority = 2 Burst Size Stream Block B : 2 Interleaved traffic Prioritized Scheduler Stream Block C Priority = 3 Burst Size : 1 Stream Block B scheduled second Stream Block C scheduled third
Stream Blocks-Stream Block 基于Stream Priority的调度方式 Stream Block B: Load 10%, Size:256, Stream Block A: Load 10%, Size:128, Priority: 1 Priority: 0 Priority:1
Stream Blocks-Bound Stream Block Burst Size Duration Mode Continues Bursts Seconds ? Inter Frame Gap Load Frame Size:128 Load :1%
Stream Blocks-Starting Traffic Starting all Traffic Starting the selected Traffic Starting the port’s Traffic
Result Browsers TestCenter含有大量的32位寄存器,以统计测试中所需要的各种数据,主要的大类有 Port:基于端口各项统计,Tx/Rx Frame/Rate,CPU Result, PPP,Protocol… Host:基于Host的统计(IPTV STB/IGMP) Router:统计路由协议报文 PortAvgLatencyResults:统计基于端口的时延 FilteredStreamResults:统计已定义各项Filter策略的Stream DiffSerResult:基于QOS项的统计 TxTrafficGroupResult:统计基于Group组的流量 TxportPairResult:统计端口间的流量 TxStreamResult:统计基于Stream的相关参数 TxStreamBlockResult:统计基于Stream Block的相关参数 IptvTestResults: IPTV测试结果统计 IptvViewingProfileConfig:IPTV channel Zapping定义 IptvViewedChannels:基于Channel的统计
Result Browsers-View 设置Result statistics项
Result Browsers-Create Statistics-Table 建立新Result statistics表项 Create/Edit Statistics: Table/Chart
Result Browsers-Create Statistics-Table 查看编辑已创建的统计表项 修改编辑
Result Browsers-Create Statistics Chart
Result Browsers-Create Statistics Chart
Result Browsers-Create Statistics Chart
Result Browsers-Report 生成报告 保存详细的数据流统计 数据导出 调用Result Repoter
Result Browsers-Report 结果报告及导出-1
Result Browsers-Report 结果报告及导出-2
Result Browsers-Filter Filter:利用Filter的方式将Stream中的每一个Flow统计出来 共有96-bits用于设置frame的标记 One 32-bit field. 缺省已用于标记signature field的Stream ID Four 16-bit fields. 缺省未用 Filter的设置既可以利用已有的标准Template模板(Frame编辑器),也可以采用Customer设置
Result Browsers-Filter
Result Browsers-Filter 例子:创建一条流,Des MAC及VLAN ID变化 Flow
Result Browsers-Filter 利用Filter查看每一个flow的结果
无代码自动化 --Command Sequencer
Command Sequencer Command Sequencer 将TestCenter的大多数命令、动作及控制集成到一个个Command选项中 ,并可以自由组合形成Command Sequence。这样就可以实现测试过程中的自动控制及Command Schedule,类似于以前版本中的Flapping功能。 Command Sequencer 集成了流、端口、路由、RFC2544/2889、捕获、分析等几乎TestCenter GUI的大部分控制操作,如同操作GUI的Menu一样。 Command sequencer 支持断点跟踪、暂停、中断等功能 支持Command Groups及Loop功能
Command Sequencer-Edit
Command Sequencer-Sample-1 实例:在Port2/9上建立2条Stream Block A/B,并通过Command Sequencer来控制Stream Block B的开启/停止,并在接收端口Port2/11记录测试结果
Command Sequencer-Sample-2 Save Stream statistics
Q&A
谢谢!