TCP performance over gigabit networks
TCP is the most commonly used protocol in the Internet today. The problem
is that TCP was developed at a time when networks were a lot slower than
today. Although there have been several changes to TCP to cope with higher
speeds, these are not enough when we reach gigabit speeds. The current congestion
algorithm have problems with high speeds and high RTT since it takes too ling
time to reach full speed again after packet loss. Gigabit speeds also creates
problems for PC's and put a great demand on fast hardware and good software
implementation of drivers and TCP stacks.
This page is a collection of links related to TCP performance over gigabit
networks.
Tuning guides
RFCs
Internet drafts
Measurement tools
Netperf
|
Easy to use tool that can measure unidirectional
throughput and end-to-end latency. Can test both TCP and UDP performance.
|
ttcp
|
Sockets-based benchmarking tool for measuring
TCP and UDP performance. First released for BSD in 1984 and there are now
many implementations available for most operating systems.
|
netpipe
|
Protocol independent performance tool that shows
the results as graphs. Nice tool that is very good at showing buffer problems.
|
iperf
|
Developed by NLANR as a modern alternative for
measuring TCP and UDP bandwidth performance.
|
netspec
|
More advanced tool that goes beyond simple point-to-point
testing. A daemon is started on clients that are involved in the testing
and are controlled by a central station. Besides full performance testing,
netspec can also emulate FTP, TELNET, VBR Video Traffic (MPEG, Video-Teleconferencing),
CBR Voice Traffic, and HTTP traffic (World Wide Web traffic) on the application
layer.
|
Debugging tools
tcptrace
|
Tcptrace is a tool that can take TCP dump files
from several popular packet-capture programs and generate detailed reports
about individual TCP connections. Tcptrace can also generate several graphs
for further analysis.
|
web100
|
A project that will provide software and tools
necessary for end-hosts to automatically and transparently achieve high bandwidth
data rates over high performance networks. Provides software for instrumentation
of the TCP stack of the Linux kernel.
|
netlogger
|
Toolkit that was developed for end-to-end monitoring
and analysis of distributed system. Can also be used to analyse TCP connections
and used together with web100 it can display detailed information about the
TCP stack.
|
Conferences
PFLDnet 2003
|
First International Workshop on Protocols for Fast
Long-Distance Netoworks. Very good and interesting workshop with lots of
good information about TCP performance.
|