SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
Userspace 2015 | Dublin
Current Situation
• Networks include complex L4-7 features, such as
• Load Balancer, DPI/AVC, Firewall, NAT
• Requires testing with stateful and realistic traffic mix
Firewall, NATDPI/AVCLB
What problem is being solved?
• Traffic generators for realistic traffic are
• Expensive ~$100-500K
• Not scalable for high rates
• Not flexible
• Implication
• Limited and late testing
• Different benchmarks and test methodologies
• Real life bottlenecks and design issues
What is TRex?
• Stateful traffic generator
• Generates, manipulates and amplifies based on
templates of real, captured flows – no TCP/IP stack
• High performance: up to 200 Gb/sec
• Low cost: C220M UCS-1RU, Cisco internal
– Standard server hardware
• Flexible and Open Software - DPDK, ZMQ, Python libs
• Virtualization (VMXNET3/E1000)
• Easy installation and deployment
Stateful Traffic Generation Model
High level software architecture
CPU/Sharememory
Share
memo
ry
Intel
NIC
DP -thread
1
CP –
thread 0
DP -thread
2
Rx – thread
5
IF0
Client
IF1
Server
IF2
Client
IF3
Server
DP -thread
3
DP -thread
4
• DPDK/Multi-Threaded
• Scales linearly
• ~20 Gb/sec per core
• Supports 1/10/40 Gb Intel NICs
• Flow-based
• Fast event scheduler
• Generates flow templates
• Can support 1K templates
• Scales up to 100K clients,1M servers
• Flexible
• Client/server generation models
• Measures jitter/latency/flow order
• NAT translation/IPv6/Tunnels
• User Interface
• Python API
• Benchmark automation
• GUI
Flow Generation
Total PPS =
𝑘=0
𝑛
𝐶𝑃𝑆 𝑘 × 𝑓𝑙𝑜𝑤_𝑝𝑘𝑡𝑠 𝑘
Total CPS =
𝑘=0
𝑛
𝐶𝑃𝑆 𝑘
Concurrent flows
=
𝑘=0
𝑛
𝐶𝑃𝑆 𝑘 × 𝑓𝑙𝑜𝑤_𝑑𝑢𝑟𝑎𝑡𝑖𝑜𝑛 𝑘
• Example of one flow with four packets
FIF
FIF
FIF
DNS simple profile example
DNS output
HTTP & DNS
HTTP & DNS
Enterprise traffic profile
• Includes protocols with
Control/Data dependency
• SIP
• RTSP
EMIX - YAML
EMIX
Demo routing
Cisco ASR 1013 ESP100 100Gb/sec
13RU - 4KW
UCS-220M2 32GB 2x8 cores 2Ghz
2x82559 NIC (4x10Gb/sec)
0.4KW 1RU , 2K$
-Per port stats table
ports | 0 | 1 | 2 | 3
-----------------------------------------------------------------------------------------
opackets | 71602327 | 82914082 | 71601627 | 82913259
obytes | 23990692045 | 67783397687 | 23990683213 | 67783032819
ipackets | 82914006 | 71602322 | 82913203 | 71601615
ibytes | 67783068258 | 23986183633 | 67782693539 | 23986134949
Tx Bw | 3.68 Gbps | 8.84 Gbps | 3.68 Gbps | 8.84 Gbps
Cpu Utilization : 41.6 % 15.0 Gb/core
Platform_factor : 1.0
Total-Tx : 25.04 Gbps Nat_time_out : 0
Total-Rx : 25.03 Gbps Nat_no_fid : 0
Total-PPS : 5.21 Mpps Total_nat_active: 33
Total-CPS : 103.16 Kcps Total_nat_open : 6697955
Active-flows : 90502 Clients : 248 Socket-util : 0.5795 %
Open-flows : 6713475 Servers : 5368 Socket : 90502 Socket/Clients : 364.9
-Latency stats enabled
Cpu Utilization : 7.2 %
if| tx_ok , rx_ok , rx ,error, average , max , Jitter , max window
| , , check, , latency(usec),latency (usec) ,(usec) ,
--------------------------------------------------------------------------------------------------------------
--
0 | 65649, 65648, 647320, 0, 61 , 144, 13 | 111 130 138 107 127 110
1 | 65648, 65649, 552181, 0, 37 , 62, 3 | 42 42 43 39 38 39 38
2 | 65649, 65648, 660627, 0, 57 , 144, 11 | 103 139 130 97 126
3 | 65648, 65649, 562860, 0, 37 , 55, 3 | 39 41 39 39 46 39 39
-Rx Check stats enabled
------------------------------------------------------------------------------------------------------------
rx check: avg/max/jitter latency, 63 , 176, 18 | 130 158 159 138 155 175 136
active flows: 647, fif: 52193, drop: 0, errors: 0
------------------------------------------------------------------------------------------------------------
Configure NAT & Firewall
-Global stats enabled
Cpu Utilization : 34.9 % 15.9 Gb/core
Platform_factor : 1.0
Total-Tx : 22.24 Gbps Nat_time_out : 3910462
Total-Rx : 22.24 Gbps Nat_no_fid : 735
Total-PPS : 4.87 Mpps Total_nat_active: 46
Total-CPS : 102.79 Kcps Total_nat_open : 11287417
Active-flows : 79813 Clients : 248 Socket-util : 0.5110 %
Open-flows : 11313545 Servers : 5368 Socket : 79813 Socket/Clients : 321.8
-Latency stats enabled
Cpu Utilization : 6.7 %
if| tx_ok , rx_ok , rx ,error, average , max , Jitter , max window
| , , check, , latency(usec),latency (usec) ,(usec) ,
--------------------------------------------------------------------------------------------------------------
--
0 | 110281, 110279, 714052, 0, 204 , 14313, 16 | 807 1276 3439 935 850 5175
1 | 110280, 110280, 644514, 0, 91 , 10907, 5 | 802 653 1344 717 701 3436
2 | 110281, 110280, 720630, 0, 201 , 14355, 14 | 808 1194 3357 972 822 5177
3 | 110280, 110281, 645768, 0, 90 , 10491, 3 | 800 642 1349 706 699 3279
-Rx Check stats enabled
------------------------------------------------------------------------------------------------------------
rx check: avg/max/jitter latency, 180 , 14785, 407 | 2321 2546 4229 1627 1912 5275
active flows: 690, fif: 57593, drop: 14179, errors: 14552
------------------------------------------------------------------------------------------------------------
Roadmap
• RPC support
• Stateless support (Ostinato like)
– Streams
– Stats per stream
– Any type of packet
– GUI to build packet
– Emulation
• Stateful
– TCP stack
– SDK for light application
TRex on your laptop (virtualbox)
Resources
• Web
• GitHub
• Manual
• Presentation
TRex Traffic Generator - Hanoch Haim

Contenu connexe

Tendances

マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
Takuya ASADA
 

Tendances (20)

LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
 
Intel dpdk Tutorial
Intel dpdk TutorialIntel dpdk Tutorial
Intel dpdk Tutorial
 
Ceph Performance and Sizing Guide
Ceph Performance and Sizing GuideCeph Performance and Sizing Guide
Ceph Performance and Sizing Guide
 
FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)
 
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructions
 
OVN - Basics and deep dive
OVN - Basics and deep diveOVN - Basics and deep dive
OVN - Basics and deep dive
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
 
Open vSwitch Offload: Conntrack and the Upstream Kernel
Open vSwitch Offload: Conntrack and the Upstream KernelOpen vSwitch Offload: Conntrack and the Upstream Kernel
Open vSwitch Offload: Conntrack and the Upstream Kernel
 
Ceph scale testing with 10 Billion Objects
Ceph scale testing with 10 Billion ObjectsCeph scale testing with 10 Billion Objects
Ceph scale testing with 10 Billion Objects
 
DPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabDPDK in Containers Hands-on Lab
DPDK in Containers Hands-on Lab
 
Ovs dpdk hwoffload way to full offload
Ovs dpdk hwoffload way to full offloadOvs dpdk hwoffload way to full offload
Ovs dpdk hwoffload way to full offload
 
1 intro to_dpdk_and_hw
1 intro to_dpdk_and_hw1 intro to_dpdk_and_hw
1 intro to_dpdk_and_hw
 
Linux Kernel vs DPDK: HTTP Performance Showdown
Linux Kernel vs DPDK: HTTP Performance ShowdownLinux Kernel vs DPDK: HTTP Performance Showdown
Linux Kernel vs DPDK: HTTP Performance Showdown
 
DPDK In Depth
DPDK In DepthDPDK In Depth
DPDK In Depth
 
Capturing NIC and Kernel TX and RX Timestamps for Packets in Go
Capturing NIC and Kernel TX and RX Timestamps for Packets in GoCapturing NIC and Kernel TX and RX Timestamps for Packets in Go
Capturing NIC and Kernel TX and RX Timestamps for Packets in Go
 
DPDK KNI interface
DPDK KNI interfaceDPDK KNI interface
DPDK KNI interface
 
DPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet ProcessingDPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet Processing
 
Linux Linux Traffic Control
Linux Linux Traffic ControlLinux Linux Traffic Control
Linux Linux Traffic Control
 
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake SolutionCeph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
 

Similaire à TRex Traffic Generator - Hanoch Haim

20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf
20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf
20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf
JunZhao68
 
Aceleracion TCP Mikrotik.pdf
Aceleracion TCP Mikrotik.pdfAceleracion TCP Mikrotik.pdf
Aceleracion TCP Mikrotik.pdf
WifiCren
 
Cisco EuroMPI'13 vendor session presentation
Cisco EuroMPI'13 vendor session presentationCisco EuroMPI'13 vendor session presentation
Cisco EuroMPI'13 vendor session presentation
Jeff Squyres
 

Similaire à TRex Traffic Generator - Hanoch Haim (20)

Инновации Cisco для операторов связи
Инновации Cisco для операторов связиИнновации Cisco для операторов связи
Инновации Cisco для операторов связи
 
High-performance 32G Fibre Channel Module on MDS 9700 Directors:
High-performance 32G Fibre Channel Module on MDS 9700 Directors:High-performance 32G Fibre Channel Module on MDS 9700 Directors:
High-performance 32G Fibre Channel Module on MDS 9700 Directors:
 
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitchDPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
 
PLNOG16: Obsługa 100M pps na platformie PC , Przemysław Frasunek, Paweł Mała...
PLNOG16: Obsługa 100M pps na platformie PC, Przemysław Frasunek, Paweł Mała...PLNOG16: Obsługa 100M pps na platformie PC, Przemysław Frasunek, Paweł Mała...
PLNOG16: Obsługa 100M pps na platformie PC , Przemysław Frasunek, Paweł Mała...
 
100 M pps on PC.
100 M pps on PC.100 M pps on PC.
100 M pps on PC.
 
Fast datastacks - fast and flexible nfv solution stacks leveraging fd.io
Fast datastacks - fast and flexible nfv solution stacks leveraging fd.ioFast datastacks - fast and flexible nfv solution stacks leveraging fd.io
Fast datastacks - fast and flexible nfv solution stacks leveraging fd.io
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
 
20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf
20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf
20160927-tierney-improving-performance-40G-100G-data-transfer-nodes.pdf
 
Continuum pcap-oem
Continuum pcap-oemContinuum pcap-oem
Continuum pcap-oem
 
Full PPT Stack
Full PPT StackFull PPT Stack
Full PPT Stack
 
Aceleracion TCP Mikrotik.pdf
Aceleracion TCP Mikrotik.pdfAceleracion TCP Mikrotik.pdf
Aceleracion TCP Mikrotik.pdf
 
BGP Flowspec (RFC5575) Case study and Discussion
BGP Flowspec (RFC5575) Case study and DiscussionBGP Flowspec (RFC5575) Case study and Discussion
BGP Flowspec (RFC5575) Case study and Discussion
 
Cumulus Linux 2.5.5 What's New
Cumulus Linux 2.5.5 What's NewCumulus Linux 2.5.5 What's New
Cumulus Linux 2.5.5 What's New
 
The Data Center and Hadoop
The Data Center and HadoopThe Data Center and Hadoop
The Data Center and Hadoop
 
Cisco EuroMPI'13 vendor session presentation
Cisco EuroMPI'13 vendor session presentationCisco EuroMPI'13 vendor session presentation
Cisco EuroMPI'13 vendor session presentation
 
100Gbps OpenStack For Providing High-Performance NFV
100Gbps OpenStack For Providing High-Performance NFV100Gbps OpenStack For Providing High-Performance NFV
100Gbps OpenStack For Providing High-Performance NFV
 
ODSA Proof of Concept SmartNIC Speeds & Feeds
ODSA Proof of Concept SmartNIC Speeds & FeedsODSA Proof of Concept SmartNIC Speeds & Feeds
ODSA Proof of Concept SmartNIC Speeds & Feeds
 
Brkdct 3101
Brkdct 3101Brkdct 3101
Brkdct 3101
 
Introducing the Future of Data Center Interconnect Networks
Introducing the Future of Data Center Interconnect NetworksIntroducing the Future of Data Center Interconnect Networks
Introducing the Future of Data Center Interconnect Networks
 
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
 

Plus de harryvanhaaren

Plus de harryvanhaaren (13)

The 7 Deadly Sins of Packet Processing - Venky Venkatesan and Bruce Richardson
The 7 Deadly Sins of Packet Processing - Venky Venkatesan and Bruce RichardsonThe 7 Deadly Sins of Packet Processing - Venky Venkatesan and Bruce Richardson
The 7 Deadly Sins of Packet Processing - Venky Venkatesan and Bruce Richardson
 
Symmetric Crypto for DPDK - Declan Doherty
Symmetric Crypto for DPDK - Declan DohertySymmetric Crypto for DPDK - Declan Doherty
Symmetric Crypto for DPDK - Declan Doherty
 
Performance Lessons learned in vRouter - Stephen Hemminger
Performance Lessons learned in vRouter - Stephen HemmingerPerformance Lessons learned in vRouter - Stephen Hemminger
Performance Lessons learned in vRouter - Stephen Hemminger
 
Dpdk Validation - Liu, Yong
Dpdk Validation - Liu, YongDpdk Validation - Liu, Yong
Dpdk Validation - Liu, Yong
 
Packet Framework - Cristian Dumitrescu
Packet Framework - Cristian DumitrescuPacket Framework - Cristian Dumitrescu
Packet Framework - Cristian Dumitrescu
 
Project growth & Next steps - Thomas monjalon
 Project growth & Next steps - Thomas monjalon Project growth & Next steps - Thomas monjalon
Project growth & Next steps - Thomas monjalon
 
Hotplug and Virtio - Tetsuya Mukawa
Hotplug and Virtio - Tetsuya MukawaHotplug and Virtio - Tetsuya Mukawa
Hotplug and Virtio - Tetsuya Mukawa
 
Generic Resource Manager - László Vadkerti, András Kovács
Generic Resource Manager - László Vadkerti, András KovácsGeneric Resource Manager - László Vadkerti, András Kovács
Generic Resource Manager - László Vadkerti, András Kovács
 
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. GrayOVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
OVS and DPDK - T.F. Herbert, K. Traynor, M. Gray
 
DPDK Architecture Musings - Andy Harvey
DPDK Architecture Musings - Andy HarveyDPDK Architecture Musings - Andy Harvey
DPDK Architecture Musings - Andy Harvey
 
DPDK Integration: A Product's Journey - Roger B. Melton
DPDK Integration: A Product's Journey - Roger B. MeltonDPDK Integration: A Product's Journey - Roger B. Melton
DPDK Integration: A Product's Journey - Roger B. Melton
 
OpenDataPlane - Bill Fischofer
OpenDataPlane - Bill FischoferOpenDataPlane - Bill Fischofer
OpenDataPlane - Bill Fischofer
 
Hyperscan - Mohammad Abdul Awal
Hyperscan - Mohammad Abdul AwalHyperscan - Mohammad Abdul Awal
Hyperscan - Mohammad Abdul Awal
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

TRex Traffic Generator - Hanoch Haim

  • 2. Current Situation • Networks include complex L4-7 features, such as • Load Balancer, DPI/AVC, Firewall, NAT • Requires testing with stateful and realistic traffic mix Firewall, NATDPI/AVCLB
  • 3. What problem is being solved? • Traffic generators for realistic traffic are • Expensive ~$100-500K • Not scalable for high rates • Not flexible • Implication • Limited and late testing • Different benchmarks and test methodologies • Real life bottlenecks and design issues
  • 4. What is TRex? • Stateful traffic generator • Generates, manipulates and amplifies based on templates of real, captured flows – no TCP/IP stack • High performance: up to 200 Gb/sec • Low cost: C220M UCS-1RU, Cisco internal – Standard server hardware • Flexible and Open Software - DPDK, ZMQ, Python libs • Virtualization (VMXNET3/E1000) • Easy installation and deployment
  • 6. High level software architecture CPU/Sharememory Share memo ry Intel NIC DP -thread 1 CP – thread 0 DP -thread 2 Rx – thread 5 IF0 Client IF1 Server IF2 Client IF3 Server DP -thread 3 DP -thread 4 • DPDK/Multi-Threaded • Scales linearly • ~20 Gb/sec per core • Supports 1/10/40 Gb Intel NICs • Flow-based • Fast event scheduler • Generates flow templates • Can support 1K templates • Scales up to 100K clients,1M servers • Flexible • Client/server generation models • Measures jitter/latency/flow order • NAT translation/IPv6/Tunnels • User Interface • Python API • Benchmark automation • GUI
  • 7. Flow Generation Total PPS = 𝑘=0 𝑛 𝐶𝑃𝑆 𝑘 × 𝑓𝑙𝑜𝑤_𝑝𝑘𝑡𝑠 𝑘 Total CPS = 𝑘=0 𝑛 𝐶𝑃𝑆 𝑘 Concurrent flows = 𝑘=0 𝑛 𝐶𝑃𝑆 𝑘 × 𝑓𝑙𝑜𝑤_𝑑𝑢𝑟𝑎𝑡𝑖𝑜𝑛 𝑘 • Example of one flow with four packets FIF FIF FIF
  • 12. Enterprise traffic profile • Includes protocols with Control/Data dependency • SIP • RTSP
  • 14. EMIX
  • 15. Demo routing Cisco ASR 1013 ESP100 100Gb/sec 13RU - 4KW UCS-220M2 32GB 2x8 cores 2Ghz 2x82559 NIC (4x10Gb/sec) 0.4KW 1RU , 2K$
  • 16. -Per port stats table ports | 0 | 1 | 2 | 3 ----------------------------------------------------------------------------------------- opackets | 71602327 | 82914082 | 71601627 | 82913259 obytes | 23990692045 | 67783397687 | 23990683213 | 67783032819 ipackets | 82914006 | 71602322 | 82913203 | 71601615 ibytes | 67783068258 | 23986183633 | 67782693539 | 23986134949 Tx Bw | 3.68 Gbps | 8.84 Gbps | 3.68 Gbps | 8.84 Gbps Cpu Utilization : 41.6 % 15.0 Gb/core Platform_factor : 1.0 Total-Tx : 25.04 Gbps Nat_time_out : 0 Total-Rx : 25.03 Gbps Nat_no_fid : 0 Total-PPS : 5.21 Mpps Total_nat_active: 33 Total-CPS : 103.16 Kcps Total_nat_open : 6697955 Active-flows : 90502 Clients : 248 Socket-util : 0.5795 % Open-flows : 6713475 Servers : 5368 Socket : 90502 Socket/Clients : 364.9 -Latency stats enabled Cpu Utilization : 7.2 % if| tx_ok , rx_ok , rx ,error, average , max , Jitter , max window | , , check, , latency(usec),latency (usec) ,(usec) , -------------------------------------------------------------------------------------------------------------- -- 0 | 65649, 65648, 647320, 0, 61 , 144, 13 | 111 130 138 107 127 110 1 | 65648, 65649, 552181, 0, 37 , 62, 3 | 42 42 43 39 38 39 38 2 | 65649, 65648, 660627, 0, 57 , 144, 11 | 103 139 130 97 126 3 | 65648, 65649, 562860, 0, 37 , 55, 3 | 39 41 39 39 46 39 39 -Rx Check stats enabled ------------------------------------------------------------------------------------------------------------ rx check: avg/max/jitter latency, 63 , 176, 18 | 130 158 159 138 155 175 136 active flows: 647, fif: 52193, drop: 0, errors: 0 ------------------------------------------------------------------------------------------------------------
  • 17.
  • 18. Configure NAT & Firewall
  • 19. -Global stats enabled Cpu Utilization : 34.9 % 15.9 Gb/core Platform_factor : 1.0 Total-Tx : 22.24 Gbps Nat_time_out : 3910462 Total-Rx : 22.24 Gbps Nat_no_fid : 735 Total-PPS : 4.87 Mpps Total_nat_active: 46 Total-CPS : 102.79 Kcps Total_nat_open : 11287417 Active-flows : 79813 Clients : 248 Socket-util : 0.5110 % Open-flows : 11313545 Servers : 5368 Socket : 79813 Socket/Clients : 321.8 -Latency stats enabled Cpu Utilization : 6.7 % if| tx_ok , rx_ok , rx ,error, average , max , Jitter , max window | , , check, , latency(usec),latency (usec) ,(usec) , -------------------------------------------------------------------------------------------------------------- -- 0 | 110281, 110279, 714052, 0, 204 , 14313, 16 | 807 1276 3439 935 850 5175 1 | 110280, 110280, 644514, 0, 91 , 10907, 5 | 802 653 1344 717 701 3436 2 | 110281, 110280, 720630, 0, 201 , 14355, 14 | 808 1194 3357 972 822 5177 3 | 110280, 110281, 645768, 0, 90 , 10491, 3 | 800 642 1349 706 699 3279 -Rx Check stats enabled ------------------------------------------------------------------------------------------------------------ rx check: avg/max/jitter latency, 180 , 14785, 407 | 2321 2546 4229 1627 1912 5275 active flows: 690, fif: 57593, drop: 14179, errors: 14552 ------------------------------------------------------------------------------------------------------------
  • 20.
  • 21. Roadmap • RPC support • Stateless support (Ostinato like) – Streams – Stats per stream – Any type of packet – GUI to build packet – Emulation • Stateful – TCP stack – SDK for light application
  • 22. TRex on your laptop (virtualbox)
  • 23. Resources • Web • GitHub • Manual • Presentation