Speed Tests
Tune Ups
RFC1323 High
Performance TCP Options
FTP File Transfer Performance Analysis
Sniffer Intelligence Session Setup File for Measuring Throughput and TCP Performance:
Throughput_TCP-Performance.zip
Unzip the file and drop it into C:/Program Files/NetScout/Sniffer Analysis/Sniffer Intelligence/Sessions (Windows XP machines).
Bandwidth Latency Product
If
it weren’t for Sliding Windows, all of our communication would be “stop and go”.
This would entail a lot of waiting on the part of the user.
The ideal TCP Window size is one that is larger than the bandwidth-delay product
(BDP)
to the resource.
If you are writing a file to a server, you want to still be sending a Window of
data
when the server’s first Acknowledgement arrives, so you effectively never stop
and wait for the Ack. The same is true when reading or downloading a file.
What is the best Window size for me?
If the bandwidth is 10Mbps and each frame is 1518 bytes in length (or 12,304
bits
after overhead), then it will take 1.23 milliseconds of bandwidth latency to put
all the bits on the wire.
If the distance is 3,000 miles over UTP copper wire, then the distance latency
is 27.27ms. Cumulatively, it will take 28.5ms of Network Delay before the first bit reaches
the destination
Data sent in one direction, once it arrives, will require an acknowledgement in
the reverse direction.
Thus, the distance latency is multiplied by two.
(10,000,000bps x 0.02727s x 2) / 8 bits/Byte = 68,182B
If each TCP MSS is 1460B, then the closest larger TCP Window would be 70,080.
The largest non-scaled TCP Window is 65,535.
You may need to enable TCP Window Scale if you and your server are
cross-coastal.
The Details
At the beginning of the Ethernet frame is an 8-byte Preamble.
Between each frame output onto an Ethernet segment is a 12-byte time period of silence, known as the InterFrame Gap (IFG). This allows for the fair access principle.
The combination of the Preamble and IFG require an additional 20 bytes to be added to the largest Ethernet frame of 1518B for a total of 1538 bytes
1538B x 8 bits per byte = 12,304 bits
12,304bits / 10,000,000bps = 0.00123s or 1.23ms
Speed of light = c = 186,000 miles per second in a vacuum
Speed of light or electrical signal in UTP is .59c = 110,000 miles per second
3,000 miles / 110,000 mi/s = 0.02727s or 27.27ms
It will take 27.27ms for one bit to travel 3,000 miles over UTP copper
Network Delay is comprised of Bandwidth Latency and Distance Latency
ND = BL + DL , 1.23ms + 27.27ms = 28.5ms
Round Trip Time (RTT) is from source to destination and back to source
RTT = ND x 2 or 57ms, in this case
Most ISPs will quote 65ms to 85ms of latency from coast to coast in America. This allows for the forwarding delay of repeaters, etc.
When computing the next largest window, it's best to use an even integer multiple of the MSS because of the Delayed Duplicates algorithm which
requires only every second data frame be Acked
More Bandwidth and Less Distance
What if you have 100Mbps connection to a server mid-way across the United
States?
(100,000,000bps x ((1,500mi x 2) / 110,000mi/s)) / 8b/B = 341KB
Closest larger window is 341,460 using even integer multiples of the 1460B MSS.
Once you have chosen the ideal TCP Window for the worst case BDP, it can become
the
corporate standard for all new installations
Home