Overview
TRex Traffic Generator の概要を述べる。
Reference
- TRex
- DPDK
- Scapy
- HLT
Summary
TRex で実現できることの概要は公式ドキュメントに
- Large scale – Supports about 10-30 million packets per second (Mpps) per core, scalable with the number of cores
- Each profile can support multiple streams, scalable to 10K parallel streams
- Each stream supports:
- Packet template – ability to build any packet (including malformed) using Scapy (example: MPLS/IPv4/Ipv6/GRE/VXLAN/NSH)
- Ability to change any field inside the packet
- Ability to change the packet size
- Mode – Continuous/Burst/Multi-burst
- Rate specification in pps, line rate percentage or L1/L2 bandwidth
- Action – stream can trigger a stream
- Interactive support – Fast Console, GUI
- Statistics per interface or per stream supported in hardware/software
- Latency and Jitter per stream
- Blazingly fast Python automation API
- Capture/Monitor traffic with BPF filters – no need for Wireshark
- Capture network traffic by redirecting the traffic to Wireshark
- PCAP file import/export with huge pcap file transmission support (e.g. 1TB pcap file) for DPI
- Multi-user support
とある。
Functions Summary
上記を実現する方法として
- Stateless(stl) mode : ネットワーク機器等のPerformance等の試験するためのTrafficを生成するmode
- Stateful(stf) /Advanced Stateful(astf) mode : ApplicationやInternet Traffic を模倣したPacketをベースにTraffic生成するmode
- Automation : Python Code から TRex Client/Server の JSON-RPC を利用しTrafficを生成
- Emulation(Emu) :
が提供されている。
Technology
TRex は
- DPDK
- Python Scapy
- HLT(High Level Testing)
- BIRD
の Technology を利用して動作するように作られている。
TRexを詳しく理解するためにはこれらのTechnologyの知識を予め理解しておくことをお勧めする。
Contents
各方法の詳細は
- TRex Stateless Mode
- TRex Statefil / Advanced Stateful Mode
- TRex Automation
- TRex Emulation
のコンテンツを参照してください。