Simulation Studies of Increased Initial TCP Window Size
RFC 2415
Network Working Group K. Poduri
Request for Comments: 2415 K. Nichols
Category: Informational Bay Networks
September 1998
Simulation Studies of Increased Initial TCP Window Size
Status of this Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (1998). All Rights Reserved.
Abstract
An increase in the permissible initial window size of a TCP
connection, from one segment to three or four segments, has been
under discussion in the tcp-impl working group. This document covers
some simulation studies of the effects of increasing the initial
window size of TCP. Both long-lived TCP connections (file transfers)
and short-lived web-browsing style connections were modeled. The
simulations were performed using the publicly available ns-2
simulator and our custom models and files are also available.
1. Introduction
We present results from a set of simulations with increased TCP
initial window (IW). The main objectives were to explore the
conditions under which the larger IW was a "win" and to determine the
effects, if any, the larger IW might have on other traffic flows
using an IW of one segment.
This study was inspired by discussions at the Munich IETF tcp-impl
and tcp-sat meetings. A proposal to increase the IW size to about 4K
bytes (4380 bytes in the case of 1460 byte segments) was discussed.
Concerns about both the utility of the increase and its effect on
other traffic were raised. Some studies were presented showing the
positive effects of increased IW on individual connections, but no
studies were shown with a wide variety of simultaneous traffic flows.
It appeared that some of the questions being raised could be
addressed in an ns-2 simulation. Early results from our simulations
were previously posted to the tcp-impl mailing list and presented at
the tcp-impl WG meeting at the December 1997 IETF.
Poduri & Nichols Informational [Page 1]
RFC 2415 TCP Window Size September 1998
2. Model and Assumptions
We simulated a network topology with a bottleneck link as shown:
10Mb, 10Mb,
(all 4 links) (all 4 links)
C n2_________ ______ n6 S
l n3_________\ /______ n7 e
i \\ 1.5Mb, 50ms // r
e n0 ------------------------ n1 v
n n4__________// \ \_____ n8 e
t n5__________/ \______ n9 r
s s
URLs --> <--- FTP & Web data
File downloading and web-browsing clients are attached to the nodes
(n2-n5) on the left-hand side. These clients are served by the FTP
and Web servers attached to the nodes (n6-n9) on the right-hand side.
The links to and from those nodes are at 10 Mbps. The bottleneck link
is between n1 and n0. All links are bi-directional, but only ACKs,
SYNs, FINs, and URLs are flowing from left to right. Some simulations
were also performed with data traffic flowing from right to left
simultaneously, but it had no effect on the results.
In the simulations we assumed that all ftps transferred 1-MB files
and that all web pages had exactly three embedded URLs. The web
clients are browsing quite aggressively, requesting a new page after
a random delay uniformly distributed between 1 and 5 seconds. This is
not meant to realistically model a single user's web-browsing
pattern, but to create a reasonably heavy traffic load whose
individual tcp connections accurately reflect real web traffic. Some
discussion of these models as used in earlier studies is available in
references [3] and [4].
The maximum tcp window was set to 11 packets, maximum packet (or
segment) size to 1460 bytes, and buffer sizes were set at 25 packets.
(The ns-2 TCPs require setting window sizes and buffer sizes in
number of packets. In our tcp-full code some of the internal
parameters have been set to be byte-oriented, but external values
must still be set in number of packets.) In our simulations, we
varied the number of data segments sent into a new TCP connection (or
initial window) from one to four, keeping all segments at 1460 bytes.
A dropped packet causes a restart window of one segment to be used,
just as in current practice.
Poduri & Nichols Informational [Page 2]
Show full document text