iperf 2 online with Winfy

We have hosted the application iperf 2 in order to run this application in our online workstations with Wine or directly.


Quick description about iperf 2:

Iperf here is a means of measuring networks - capacity & latency (including dual queue L4S) over sockets both TCP and UDP. The goals include maintaining an active iperf code base across a broad set of platforms and operating systems. This is a multi-threaded design that scales with the number of CPUs or cores within a system. It supports both high impact and low impact techniques to obtain and report network performance.

Current release: 2.1.9 March 14, 2023

About iperf 2 and iperf3: Read about the differences between these programs at https: //iperf2.sourceforge.io/IperfCompare.html

Man page: https: //iperf2.sourceforge.io/iperf-manpage.html

GPS atomic clock options for RPi:
https: //store.uputronics.com/index.php?route=product/product&product_id=81
https: //store.timebeat.app/products/gnss-raspberry-pi-cm4-module?variant=41934772764843

Open source time server:
https: //github.com/opencomputeproject/Time-Appliance-Project/tree/master/Open-Time-Server/.

Features:
  • TOO MANY TO LIST SEE THE RELEASE NOTES OR THE MAN PAGE!!
  • Fix portability, compile and tested with Linux, Win10, Win7, WinXP, MacOS, Android and some set-top box OSs.
  • Require -u for UDP (-b no longer defaults to UDP)
  • Improved performance
  • Enhanced reporting with -e
  • Support smaller report intervals (100 us or greater, configure --enable-fastsampling for high precision interval time output)
  • Support SO_RCVTIMEOUT for server reports regardless of no packets
  • Support SO_SNDTIMEO on send so socket write won't block beyond -t or -i
  • Support SO_TIMESTAMP for kernel level packet timestamping
  • Support end/end latency in mean/min/max/stdev format (UDP) (-e required) (assumes client and server clocks synched, e.g by Precision Time Protocol to an OCXO oscillator per Spectracom)
  • Fixes to bind so OS can auto assign source port
  • Add local port to bind support (-B option) using colon as separator (v4) or brackets (v6) e.g. iperf -c 192.168.100.100 -B 192.168.100.10: 6001 (v4) or for v6, iperf -V -c 2001: e30: 1401: 2: d46e: b891: 3082: b939 -B [2001: e30: 1401: 2: d46e: b891: 3082: b940]: 6001
  • Support TCP rate limited streams (via the -b) using simplified token bucket
  • Support packets per second (UDP) via pps as units, (e.g. -b 1000pps)
  • Display PPS in both client and server reports (UDP) (-e required)
  • Support realtime scheduler as a command line option (--realtime or -z, assumes proper user privileges)
  • Improve client tx code path so actual tx offered rate will converge to the -b value
  • Improve accuracy of microsecond delay calls (in platform independent manner) (Use of Kalman filter to predict delay errors and adjust delays per predicted error)
  • Display target loop time in initial client header (UDP)
  • Fix final latency report sent from server to client (UDP)
  • Include standard deviation in latency output
  • Suppress unrealistic latency output using (-/-/-/-)
  • Use clock_gettime() in critical sections, if available, replacing gettimeofday() calls
  • TCP write and error counts (TCP retries and CWND for linux) (-e required)
  • TCP read count, TCP read histogram (8 bins) (-e required)
  • TCP RTT and CWND values in client reports (-e required, Linux only, RTT units microseconds)
  • Added support for -t on the Server (Listener) so servers/listener can be set to timeout and exit
  • Add ipv6 link local support (e.g. iperf -c fe80: : d03a: d127: 75d2: 4112%eno1)
  • Default ipv6 UDP payload to 1450 bytes per one ethernet frame per payload
  • -V on server will accept both IPv4 and IPv6 traffic flows
  • Isochronous traffic support (via --isochronous) and frame bursts with variable bit rate (vbr) traffic and frame ids
  • Multicast SSM support for both v4 and v6 using -H or -ssm-host, e.g. iperf -s -B ff1e: : 1 -u -V -H fc00: : 4
  • Latency histograms for both packets and frames (e.g. --udp-histogram=10u,200000, 0.03, 99.97)
  • Ethernet frame length checks with --l2checks on the client (UDP only and requires systems that support AF_PACKET)
  • Server (read) -b support for TCP (via token bucket)
  • UDP write counters and write error counters (requires -e)
  • Python asyncio code to manage multiple iperf sessions (found in the flows directory)
  • Support for timed transmit starts per --txstart-time
  • Support for client incrementing the destination ip with -P via --incr-dstip
  • Support for varying the offered load using a log normal distribution around a mean and standard deviation (per -b ,),
  • Honor -T (ttl) for both unicast and multicast
  • Added network power to TCP client and UDP server enhanced output (netpower = throughput / RTT or throughput / end2end delay on server)
  • Add TCP connect time to connected to message
  • Add support for SO_MAX_PACING_RATE socket option using --fq-rate
  • Add configure support for --enable-fastsampling, allowing 100 microsecond report intervals
  • Add support for --trip-time on client, requires -e on both client and server and synchronized clocks
  • UDP uses 64 bit sequence numbers (though still interoperates with 2.0.5 which uses 32b seq no.)



.

©2024. Winfy. All Rights Reserved.

By OD Group OU – Registry code: 1609791 -VAT number: EE102345621.