rbp_demo.README
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:4k
- The attached nam file (rbp_demo.nam) attemptes to illustrate three TCP
- slow-start restart algorithms described in ``Improving Restart of Idle
- TCP Connections'' at
- <http://www.isi.edu/~johnh/PAPERS/Visweswaraiah97a.html> (submitted
- for publication).
- There are three groups of nodes. Each group has 10 clients (colored
- circles on the left) and one server (the black circle on the right)
- joined by two routers (hexagons) and a bottleneck link.
- The clients make web requests at random times (uniformly distributed
- around a central point), causing the server to send a burst of 10KB
- (=10 packets) of data. We do this twice, first at about 9.0s and then
- again at about 29s.
- The point of the experiment is to illustrate TCP behavior after the
- connection goes idle. It does this by showing a different algorithm
- in each group of nodes.
- The TOP group illustrates ``no slow-start restart'' (NSSR): after an idle
- period the TCP at node 112 does nothing special and so it sends a
- window-sized burst of data on the second request. NSSR is the policy
- implemented by SunOS for all connections and by all BSD-derived TCP's
- for web style traffic (due to an interaction between idle detection
- and HTTP-style traffic).
- The BOTTOM group illustrates ``slow-start restart'' (SSR): are an
- idle period, TCP resets itself and does a full slow-start. This is
- the policy advocated in the appendix of the 1990 revision of
- Jacobson's paper ``Congestion Avoidance and Control'' (with Mike
- Karels). Although 4.4BSD implements this policy, it is not used for
- web traffic because of an interaction between idle detection and
- HTTP-style traffic.
- The MIDDLE group illustrates ``rate-based pacing'' (RBP): a new
- algorithm proposed in the paper ``Improving Restart of Idle TCP
- Connections'' by Visweswaraiah and Heidemann.
- The animation is broken down into three phases, 9-12s and 29-32s,
- and 49-54s.
- In the FIRST PHASE (9-12s), all algorithms should behave identically.
- They do, for the most part, but as an implementation artifact, RBP
- sends packets with a slightly different schedule than the other
- algorithsm. This difference is because RBP (shown here) is based on
- Vegas while the others are Reno. We plan to redo the simulation with
- a Reno-based RBP.
- In the SECOND PHASE (29-32s), we see clear differences in the
- algorithms.
- - NSSR (on the top) sends large bursts of packets and has
- large queues at the router. As a result of bursts sent at nearly the
- same time, these queues cause NSSR to drop some packets.
- - SSR (on the bottom) has very conservative behavior. All connections
- slow start and so there are never large router queues and no lost
- packets, but it much longer than NSSR to completely send a response.
- - RBP (in the middle) illustrates median behavior. There are no large
- bursts, but instead of slow-starting, RBP uses existing information
- about the prior transmission rate to pace data packets instead of
- slow-starting. We can see that three lavendar packets are paced at
- times 29.0175, 29.1295 and 29.2495, before the ACK from the first
- returns to the source (at about 29.3215s). Because of this pacing,
- RBP is able to send the final packet of the lavendar request at about
- 29.59s where SSR sends it at about 30.05, about 80% faster. RBP
- acheives this performance gain without the large queues and burstiness
- of NSSR.
- In the THIRD PHASE (59-54s) we have another round of the experiment.
- This time NSSR has fewer packet drops (4 instead of 12) because the
- loses in the second phase caused some flows to be less agressive.
- Comments or suggestions about rate-based pacing are encouraged; send
- mail to {johnh,visweswa}@isi.edu. These traces are from the RBP
- implementation in ns-2.0. The simulation is in post-ns-2.0
- distributions as tcl/ex/rbp_demo.tcl, or at http://www.isi.edu.
- -John Heidemann, 6-Oct-97