Chesapeake Introduces Free TCP Testing Tool

By Terry Slattery, President

In the last issue of The Network Monitor(TM)(Vol. 3, No. 1), we described the "Test TCP" (TTCP) program as it is implemented in Cisco routers. (If you missed that article, you can review it on the Chesapeake web site at http://www.ccci.com.) In this issue, we're introducing a free Java-based version of TTCP that you can download from our web site.

Figure 1: Chesapeake TTCP

About TTCP

TTCP is a simple network testing program that sends or receives a data stream over a TCP connection. Since no disk I/O is performed, the performance is better than using FTP for testing network throughput. The Chesapeake TTCP allows you to select Transmit or Receive mode, the buffer size, the number of buffers sent, the TCP port number, and for Transmit, the IP address (or hostname) of the receiving system. To run a test, you start TTCP on a receiving system, then start TTCP on a sending system. The port numbers, number of buffers, and buffer size must match on both ends for the test results to be valid. When TTCP finishes transferring the requested amount of data, both the receiver and transmitter output their respective transfer statistics, including a calculation of the throughput in bytes per second. TTCP can be used for a variety of test scenarios such as validating the CIR of Frame Relay links, evaluating router buffering mechanisms, and providing high traffic volume against which queuing algorithm changes can be measured.

The receiver of a TTCP test can be another end-system running TTCP, a router running TTCP, or any system that has the discard TCP port (i.e., port 7) enabled. If you use the discard port of a remote system, you will only have the statistics for the transmitter because the discard port simply throws away all data received.

The Chesapeake TTCP

Chesapeake has continued its Java development effort by creating a Java-based version of TTCP. With this tool, you will be able to run network performance tests between end systems, giving you a better measurement of network end-to-end performance. The platform independence of Java will allow you to run this useful network testing tool on a variety of systems. Since some platforms work better with a "command line" interface and others a "window" interface, we've built the Chesapeake TTCP to run in either environment. And our TTCP will work with the UNIX or Cisco router version, too! Just remember that the transmitter and receiver parameters should match for the connection to go through.

The Chesapeake TTCP is a true Java application, not an applet. (An applet is a Java program that executes within your Web browser while a Java application is a stand-alone program.) The installation of a Java application will require installing the Java run-time interpreter and class libraries. The important thing to remember is that you cannot run the Chesapeake TTCP from within your web browser -- it must be run by the Java interpreter. Full installation details are described in our web pages.

The "Window" Interface

Systems like Win95 and NT prefer the use of graphical user interfaces (GUI). Using the Chesapeake TTCP in this mode is very simple. If you set up your file associations in Win95 or NT to execute the Java interpreter on any file with an extension of .class, then all you need to do is click on the file named ttcp.class. Otherwise, start a DOS window and enter the command java ttcp.class. You will see the graphical interface like the one shown in Figure 1. For testing on your workstation, start this copy in receive mode by clicking on the Start button. This will use the default values for port number, number of buffers, and buffer size. You will notice that all buttons change so that the only options that are then available are Stop and Quit. The Results field indicates that it has started in receive mode.

Now start another TTCP, only this time, click on the Transmit button to select transmit mode. Make sure the destination address is "127.0.0.1", which is the loopback interface IP address. Leave all the other parameters unchanged and click on the Start button. As with the receiver, only the Stop and Quit buttons will remain enabled and information about the start of the transfer will appear in the Results window.

Both the transmitter and receiver will output socket information about the connection when it is made. Nothing will be output during the test run as this would slow down the test. When the test is over, the statistics are output in the Results field, as shown in Figure 2. Restarting the test will clear the Results field for the next run.

Figure 2: TTCP Test Run Results

The "Command-Line" Interface
Not every system has a graphical interface, nor is it likely that you can use the graphical interface when executing TTCP remotely. With this in mind, we've built the Chesapeake TTCP to accept its parameters as arguments and not start the graphical interface. The output of the command line version is the same as the output in the Results field of the GUI. Command line options are shown in Figure 3.

TTCP Command Line Options

To stop a running TTCP that was started from the command line, enter your system's interrupt character (this is typically CTRL-C).

TTCP Command Line Receive

TTCP Command Line Transmit

Figure 4 shows a receive session and Figure 5 shows a transmit session using the Chesapeake TTCP. In these examples, we are specifying all of the parameters to demonstrate their use. As with the Cisco router or the UNIX versions, you must always start the receiver before the transmitter, so that there is a process ready to accept the incoming connection.

Performance

The Chesapeake TTCP performance is very good. The tests above were run on a 100Mhz Pentium notebook computer running Win95 with the Microsoft TCP/IP protocol stack. The software loopback interface (which doesn't rely on any hardware) achieved a throughput of 13Mbps. That's good performance for this size computer running an interpreted language. Another (unscientific) test was to transmit from this same PC to the UNIX version of TTCP running on a Sun. Even with other users on the Sun and on the network, performance was above 7Mbps.

Its portability and ease of use are real advantages, allowing the Chesapeake TTCP to be used in a wide variety of testing situations.

Availability

You can obtain a free copy of the Chesapeake TTCP from our Web site, www.ccci.com. Look for an announcement on our home page. There, you will find the documentation in HTML format and a registration form to fill out to get your own copy. The installation instructions are detailed in the Web pages.

Volume 3, Number 2 Table Of Contents

Copyright © Chesapeake 1997