The program ttcp (Test TCP) is a utility for measuring network throughput, popular on Unix systems. It measures the network throughput between two systems using the TCP or optionally UDP protocols. It was written by Mike Muuss and Terry Slattery at BRL sometime before December 1984, to compare the performance of TCP stacks by the Computer Systems Research Group (CSRG) of the University of California, Berkeley and Bolt, Beranek and Newman (BBN) to help DARPA decide which version to place in 4.3BSD.
Many compatible implementations and derivatives exist including the widely used Iperf.
Testing can be done from any platform to any other platform, for example from a Windows machine to a Linux machine, as long as they both have a ttcp application installed. For normal use, ttcp is installed on two machines – one will be the sender, the other the receiver. The receiver is started first and waits for a connection. Once the two connect, the sending machine sends data to the receiver and displays the overall throughput of the network they traverse. The amount of data sent and other options are configurable through command line parameters. The statistics output covers TCP/UDP payload only (not protocol overhead) and is generally displayed by default in KiB/s (kibiBytes per second) instead of kb/s (kilobits per second), but it can be configured to be displayed in other ways on some implementations. The reported throughput is more accurately calculated on the receive side than the transmit side, since the transmit operation may complete before all bytes actually have been transmitted.