출처 : https://developer.cisco.com/site/trex/discover/overview/
TRex
Traffic generator
TRex는 DPDK에 의해 힘입어 오픈 소스, 저비용, 상태 저장(stateful) 및 상태 비저장(stateless) 트래픽 생성기입니다.
Stateful 모드에서는 사전 처리(pre-processing)를 기반으로 클라이언트 및 서버 측 L4-7 트래픽을 생성합거나 실제 트래픽 템플릿의 스마트 재생을 합니다.
Stateless 모드에서는 라인 속도로 여러 스트림을 생성 할 수 있고, 스트림 당 또는 인터페이스 당 통계를 계산할 수 있습니다.
Stateful
· Intel DPDK 1/10/40Gbps interface support
· High scale of realistic traffic, up to 200Gb/sec with one Cisco UCS
( 1개의 Cisco UCS 최대 200Gb/sec, 높은 수준의 현실적인 traffic 생성 )
· Latency/Jitter measurements
· Flow ordering checks
· NAT, PAT dynamic translation learning
· Python automation API
Stateless
· High scale - line rate 14MPPS per core, linear scale with number of cores
( 높은 스케일 - 코어 당 14MPPS, 코어 수가linear scale )
· Support 1/10/40 Gb/sec interfaces
· 인터페이스에 다중 트래픽 프로파일을 설정해서 사용할 수 있습니다.
· 트래픽 프로필은 다중 스트림을 지원할 수 있습니다. 병렬로 10K 스트림으로 확장
· 각각의 스트림
o Packet 템플릿 - Scapy를 사용하여 모든 패킷을 빌드하는 가능 (e.g. MPLS/IPv4/Ipv6/GRE/VXLAN/NSH)
- 조작된 패킷(malformed packets) 생성이 가능합니다.
o Field engine program
- 패킷내에 모든 필드를 변경할 수 있습니다. 예를들어, src_ip = 10.0.0.1-10.0.0.255
- 패킷 사이즈를 변경할 수 있습니다. (e.g. Random packet size 64-9K)
o Mode - Continuous/Burst/Multi burst support
o Rate can be specified in (pps/bps/percentage)
o Support HLTAPI like profile definition
o Action- stream can trigger a stream
· Interactive support- Fast Console, GUI
· Statistic per interface/per stream\
· Latency and Jitter per stream
· Blazing fast Automation support
· Python Client API
· Multi user support