  Closed-loop flow control protocols, such as the prominent implementation TCP,
are prevalent in the Internet, today. TCP has continuously been improved for
greedy traffic sources to achieve high throughput over networks with large
bandwidth delay products. Recently, the increasing use for streaming and
interactive applications, such as voice and video, has shifted the focus
towards its delay performance. Given the need for real-time communication of
non-greedy sources via TCP, we present an estimation method for performance
evaluation of closed-loop flow control protocols. We characterize an end-to-end
connection by a transfer function that provides statistical service guarantees
for arbitrary traffic. The estimation is based on end-to-end measurements at
the application level that include all effects induced by the network and by
the protocol stacks of the end systems. From our measurements, we identify
different causes for delays. We show that significant delays are due to
queueing in protocol stacks. Notably, this occurs even if the utilization is
moderate. Using our estimation method, we compare the impact of fundamental
mechanisms of TCP on delays at the application level: In detail, we analyze
parameters relevant for network dimensioning, including buffer provisioning and
active queue management, and parameters for server configuration, such as the
congestion control algorithm. By applying our method as a benchmark, we find
that a good selection can largely improve the delay performance of TCP.
