Iperf Tutorial. Jon Dugan <jdugan@es.net> Summer JointTechs 2010, Columbus, OH

Similar documents
Overview of Network Measurement Tools

Measure wireless network performance using testing tool iperf

TCP Labs. WACREN Network Monitoring and Measurement Workshop Antoine Delvaux perfsonar developer

Monitoring Android Apps using the logcat and iperf tools. 22 May 2015

Performance Analysis of IPv4 v/s IPv6 in Virtual Environment Using UBUNTU

Globus Striped GridFTP Framework and Server. Raj Kettimuthu, ANL and U. Chicago

Network testing with iperf

Measuring Wireless Network Performance: Data Rates vs. Signal Strength

High-Speed TCP Performance Characterization under Various Operating Systems

Application Note. Windows 2000/XP TCP Tuning for High Bandwidth Networks. mguard smart mguard PCI mguard blade

Final for ECE374 05/06/13 Solution!!

1000Mbps Ethernet Performance Test Report

D1.2 Network Load Balancing

Network Probe. Figure 1.1 Cacti Utilization Graph

TCP loss sensitivity analysis ADAM KRAJEWSKI, IT-CS-CE

WiFiPerf User Guide 1.5

ITL Lab 5 - Performance Measurements and SNMP Monitoring 1. Purpose

Netest: A Tool to Measure the Maximum Burst Size, Available Bandwidth and Achievable Throughput

Frequently Asked Questions

Quantifying the Performance Degradation of IPv6 for TCP in Windows and Linux Networking

Question: 3 When using Application Intelligence, Server Time may be defined as.

Network Performance - Theory

EINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Mathematics and Computer Science

Performance Measurement of Wireless LAN Using Open Source

SAN/iQ Remote Copy Networking Requirements OPEN iscsi SANs 1

Traffic Mangement in ATM Networks Dollar Day Sale

Master s Thesis Evaluation and implementation of a network performance measurement tool for analyzing network performance under heavy workloads

The Problem with TCP. Overcoming TCP s Drawbacks

STANDPOINT FOR QUALITY-OF-SERVICE MEASUREMENT

Using TrueSpeed VNF to Test TCP Throughput in a Call Center Environment

ICS 351: Today's plan. IP addresses Network Address Translation Dynamic Host Configuration Protocol Small Office / Home Office configuration

Internet Protocol: IP packet headers. vendredi 18 octobre 13

Network Considerations for IP Video

EVALUATING NETWORK BUFFER SIZE REQUIREMENTS

Allocating Network Bandwidth to Match Business Priorities

UDR: UDT + RSYNC. Open Source Fast File Transfer. Allison Heath University of Chicago

How To Connect To Bloomerg.Com With A Network Card From A Powerline To A Powerpoint Terminal On A Microsoft Powerbook (Powerline) On A Blackberry Or Ipnet (Powerbook) On An Ipnet Box On

Lecture 8 Performance Measurements and Metrics. Performance Metrics. Outline. Performance Metrics. Performance Metrics Performance Measurements

ΕΠΛ 674: Εργαστήριο 5 Firewalls

Challenges of Sending Large Files Over Public Internet

Computer Networks CS321

Internet Firewall CSIS Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS net15 1. Routers can implement packet filtering

Strategies. Addressing and Routing

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding

TalkShow Advanced Network Tips

LAN Switching Computer Networking. Switched Network Advantages. Hubs (more) Hubs. Bridges/Switches, , PPP. Interconnecting LANs

Understanding Latency in IP Telephony

Quality of Service using Traffic Engineering over MPLS: An Analysis. Praveen Bhaniramka, Wei Sun, Raj Jain

Sage ERP Accpac Online

Sage 300 ERP Online. Mac Resource Guide. (Formerly Sage ERP Accpac Online) Updated June 1, Page 1

TFTP TRIVIAL FILE TRANSFER PROTOCOL OVERVIEW OF TFTP, A VERY SIMPLE FILE TRANSFER PROTOCOL FOR SIMPLE AND CONSTRAINED DEVICES

What communication protocols are used to discover Tesira servers on a network?

4 High-speed Transmission and Interoperability

Firewalls P+S Linux Router & Firewall 2013

HP LeftHand SAN Solutions

ΕΠΛ 475: Εργαστήριο 9 Firewalls Τοίχοι πυρασφάλειας. University of Cyprus Department of Computer Science

Rapid Remote File System Benchmark on Long Fat Network and User ID Mapping Function Naoyuki FUJITA, Hirofumi OOKAWA

Proxy Server, Network Address Translator, Firewall. Proxy Server

enetworks TM IP Quality of Service B.1 Overview of IP Prioritization

Data Networks Summer 2007 Homework #3

SIP Trunking and Voice over IP

Internet Infrastructure Measurement: Challenges and Tools

NAT and Firewall Traversal with STUN / TURN / ICE

UPPER LAYER SWITCHING

Authors Mário Serafim Nunes IST / INESC-ID Lisbon, Portugal mario.nunes@inesc-id.pt

WAN Performance Analysis A Study on the Impact of Windows 7

Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation

Removing The Linux Routing Cache

Lecture Computer Networks

20-CS X Network Security Spring, An Introduction To. Network Security. Week 1. January 7

VXLAN: Scaling Data Center Capacity. White Paper

Transport Layer Protocols

Announcements. Midterms. Mt #1 Tuesday March 6 Mt #2 Tuesday April 15 Final project design due April 11. Chapters 1 & 2 Chapter 5 (to 5.

Linux Virtual Server Tutorial

Access Control: Firewalls (1)

File Transfer Protocol (FTP) Throughput Testing by Rachel Weiss

Computer Networks/DV2 Lab

Performance Evaluation of Linux Bridge

Network management and QoS provisioning - QoS in the Internet

Guideline for setting up a functional VPN

Zarząd (7 osób) F inanse (13 osób) M arketing (7 osób) S przedaż (16 osób) K adry (15 osób)

21.4 Network Address Translation (NAT) NAT concept

Service Level Analysis of Video Conferencing over Wireless Local Area Network

Network Performance Evaluation of Latest Windows Operating Systems

Smart Tips. Enabling WAN Load Balancing. Key Features. Network Diagram. Overview. Featured Products. WAN Failover. Enabling WAN Load Balancing Page 1

Chapter 4. VoIP Metric based Traffic Engineering to Support the Service Quality over the Internet (Inter-domain IP network)

IP address format: Dotted decimal notation:

HOST AUTO CONFIGURATION (BOOTP, DHCP)

WEB SERVER PERFORMANCE WITH CUBIC AND COMPOUND TCP

ESSENTIALS. Understanding Ethernet Switches and Routers. April 2011 VOLUME 3 ISSUE 1 A TECHNICAL SUPPLEMENT TO CONTROL NETWORK

Hands on Workshop. Network Performance Monitoring and Multicast Routing. Yasuichi Kitamura NICT Jin Tanaka KDDI/NICT APAN-JP NOC

Bridgewalling - Using Netfilter in Bridge Mode

Lecture 15: Congestion Control. CSE 123: Computer Networks Stefan Savage

DDoS attacks on electronic payment systems. Sean Rijs and Joris Claassen Supervisor: Stefan Dusée

Infrastructure for active and passive measurements at 10Gbps and beyond

IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP

Transcription:

Iperf Tutorial Jon Dugan <jdugan@es.net> Summer JointTechs 2010, Columbus, OH

Outline What are we measuring? TCP Measurements UDP Measurements Useful tricks Iperf Development

What are we measuring?

Throughput? Bandwidth? What? The term throughput is vague Capacity: link speed - Narrow Link: link with the lowest capacity along a path - Capacity of the end-to-end path = capacity of the narrow link Utilized bandwidth: current traffic load Available bandwidth: capacity utilized bandwidth - Tight Link: link with the least available bandwidth in a path Achievable bandwidth: includes protocol and host issues 45 Mbps 10 Mbps 100 Mbps 45 Mbps source sink Narrow Link (Shaded portion shows background traffic) Tight Link

Iperf data flow Client is the sender (data source) Client Server Server is the receiver (data sink) Iperf discards the data

TCP Measurements

TCP Measurements Measures TCP Achievable Bandwidth Measurement includes the end system Sometimes called memory-to-memory tests Set expectations for well coded application Limits of what we can measure TCP hides details In hiding the details it can obscure what is causing errors Many things can limit TCP throughput Loss Congestion Buffer Starvation Out of order delivery

Example Iperf TCP Invocation Server (receiver): $ iperf -s ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ [ 4] local 10.0.1.5 port 5001 connected with 10.0.1.10 port 60830 [ 4] 0.0-10.0 sec 1.09 GBytes 933 Mbits/sec [ 4] local 10.0.1.5 port 5001 connected with 10.0.1.10 port 60831 [ 4] 0.0-10.0 sec 1.08 GBytes 931 Mbits/sec Client (sender): $ iperf -c 10.0.1.5 ------------------------------------------------------------ Client connecting to 10.0.1.5, TCP port 5001 TCP window size: 129 KByte (default) ------------------------------------------------------------ [ 3] local 10.0.1.10 port 60830 connected with 10.0.1.5 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.2 sec 1.09 GBytes 913 Mbits/sec

TCP performance: window size Use TCP auto tuning if possible Linux 2.6, Mac OS X 10.5, FreeBSD 7.x, and Windows Vista The w option for Iperf can be used to request a particular buffer size. Use this if your OS doesn t have TCP auto tuning This sets both send and receive buffer size. The OS may need to be tweaked to allow buffers of sufficient size. See http://fasterdata.es.net/tuning.html for more details Parallel transfers may help as well, the P option can be used for this To get full TCP performance the TCP window needs to be large enough to accommodate the Bandwidth Delay Product

TCP performance: Bandwidth Delay Product The amount of in flight data allowed for a TCP connection BDP = bandwidth * round trip time Example: 1Gb/s cross country, ~100ms 1,000,000,000 b/s *.1 s = 100,000,000 bits 100,000,000 / 8 = 12,500,000 bytes 12,500,000 bytes / (1024*1024) ~ 12MB

TCP performance: read/write buffer size TCP breaks the stream into pieces transparently Longer writes often improve performance Let TCP do it s thing Fewer system calls How? -l <size> (lower case ell) Example l 128K UDP doesn t break up writes, don t exceed Path MTU

TCP performance: parallel streams Parallel streams can help in some situations TCP attempts to be fair and conservative Sensitive to loss, but more streams hedge bet Circumventing fairness mechanism - 1 Iperf stream vs. n background: Iperf gets 1/(n+1) - x Iperf streams vs. n background: Iperf gets x/(n+x) - Example: 2 background, 1 Iperf stream: 1/3 = 33% - Example: 2 background, 8 Iperf streams: 8/10 = 80% How? The P option sets the number of streams to use There is a point of diminishing returns

TCP performance: congestion control algorithm selection Classic TCP (aka TCP Reno) is very conservative Linux supports several different algorithms http://en.wikipedia.org/wiki/tcp_congestion_avoidance_algorithm CUBIC seems to work well for RE&E traffic flows How? -Z allows the selection of a congestion control algorithm

UDP Measurements

UDP Measurements UDP provides greater transparency We can directly measure some things TCP hides Loss Jitter Out of order delivery Use -b to specify target bandwidth Default is 1M Two sets of multipliers - K. m, g multipliers are 1000, 1000 2,1000 3 - K, M, G multipliers are 1024, 1024 2,1024 3 Eg, -b 1m is 1,000,000 bits per second

Example Iperf UDP Invocation Server (receiver): $ iperf -u -s ------------------------------------------------------------ Server listening on UDP port 5001 Receiving 1470 byte datagrams UDP buffer size: 107 KByte (default) ------------------------------------------------------------ [ 3] local 10.0.1.5 port 5001 connected with 10.0.1.10 port 65299 [ 3] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec 0.008 ms 0/ 893 (0%) Client (sender): $ iperf -u -c 10.0.1.5 -b 1M ------------------------------------------------------------ Client connecting to 10.0.1.5, UDP port 5001 Sending 1470 byte datagrams UDP buffer size: 9.00 KByte (default) ------------------------------------------------------------ [ 3] local 10.0.1.10 port 65300 connected with 10.0.1.5 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec [ 3] Server Report: [ 3] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec 0.003 ms 0/ 893 (0%) [ 3] Sent 893 datagrams

Useful tricks

Using Iperf to generate high rate streams UDP doesn t require a receiver If you have good counters on your switches & routers those can be used to measure Turns out UDP reception can be very resource intensive resulting in drops at the NIC at high rates (8-9 Gb/s)

Routing loops for fun and profit Generate 10 Gb/s of traffic using a 1 Gb/s source host 1 Gb/s Host Iperf UDP 1 Gb/s stream destined for 10.1.1.1 10.0.1.1 10.0.1.2 Static route: 10.1.1.1/32 10.0.1.2 Static route: 10.1.1.1/32 10.0.1.1 Use the T option to Iperf to control the number of times the traffic loops Can also use firewall filters to discard a certain TTL range. Other filters may be prudent as well. Use firewall filters to count traffic on your router. (Do not try this at home, the author is a highly insane network engineer.)

Iperf Development

Iperf Development (Iperf is dead, long live Iperf) Iperf 2 Iperf 2 is widely used Current version is 2.0.5 (released July 8, 2010) No further development, maintenance only - critical patches - sporadic releases, only when necessary Iperf 3 Currently in development Current version is 3.0b1 (released July 8, 2010) Weekly beta releases (starting this past Thursday) Eventually replace Iperf 2

Iperf 3: current status Working TCP Control channel - Stream setup - Test parameter negotiation - Results Exchange Clean code! Coming Soon UDP tests API with sane error reporting, library Timeline at: http://code.google.com/p/iperf/wiki/iperf3roadmap

More Information Iperf 2: http://sourceforge.net/projects/iperf/ Iperf 3: http://code.google.com/p/iperf/ User Discussion: iperf-users@lists.sourceforge.net Developer Discussion: iperf-dev@googlegroups.com Network performance: http://fasterdata.es.net/ Jon Dugan <jdugan@es.net>