The Link Rate tool estimates the round trip transfer rate of a data link by sending a series of ICMP echo requests (pings) of different sizes and comparing the relative time it takes to send and receive each one. For example, if we send a ping of 52 bytes and 1052 bytes and measure the round trip time of each one, we can estimate that the round trip time of the larger ping will increase by the amount of time it takes to send an additional 1000 bytes to the destination and back. The Link Rate tool computes the data transfer rate based on the measured time to transfer these bytes.
Notice the round trip time can fluctuate due to variations in network load and the responsiveness of the target, so this is only an estimate. By choosing the target carefully and comparing a few estimates, we can usually get a good idea of the approximate link rate. When measuring slower links such as a dial-up analog modem, ISDN, or even DSL, other fluctuations tend to be small compared to the data transfer time.
For asymetric data links that are faster in one direction than the other (56K modem or ADSL for example), the Link Rate tool estimates the aggregate up/down link rate which is likely to be dominated by the slower direction. If traffic is split accross more than one data link (connection teaming for example), this can also generate unexpected results.
Generally you can find the first router on the other side of your Internet connection (dialup, cable modem, or DSL) using the TraceRoute tool and use this as the target (select the corresponding row in the TraceRoute tool and then open a Link Rate window). By measuring the rate over this single link, you can minimize the effects of competing network traffic from the rest of the Internet.
You can use the Link Rate tool to measure the current round trip connection rate of your modem, DSL line, or even AirPort wireless (which varies depending on radio conditions).
In addition to measuring the link speed, the Link Rate tool can help you assess the efficiency of your TCP tuning or Window Size. In TCP/IP, the Window Size refers to how much data can be in flight before an acknowledgement must be received. You can see the TCP send and receive window size in the Connection List window (typically 57K).
For a given bandwidth (data rate) and delay (round trip time), the bandwidth-delay product (byte-rate * round-trip-time) tells you the minimum amount of data that must be in flight to keep the pipe full. If your send or receive window is less than the bandwidth-delay product, you are not allowing enough data in flight to utilize the full capacity of your connection.
For slower connections such as analog dial-up, it is possible for the receive window (amount of data in flight) to be too large. Consider a file transfer that allows several seconds worth of data to be in flight waiting to pass through a 33.3K modem connection. The sender normally waits about 1.5 seconds for a segment of data to be acknowledged before trying to send it again (the retransmit timeout interval). With a several second backlog waiting to get through the modem, the sender will begin retransmitting data that hasn't even reached the receiver yet, wasting precious bandwidth. The "One Second Window Size" shows the recommended maximum amount of data to allow in flight for slower data links.
If your TCP window size is too small (less than the Bandwidth-Delay Product), or too large (greater than the One Second Window Size), it simply means your network is operating at reduced efficiency. You may wish to use a network tuning utility to improve network performance.