Traffic Generator

TRex Traffic Generator

2021年12月29日

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

各方法の詳細は

のコンテンツを参照してください。