rbp_demo.README
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:4k
源码类别:

通讯编程

开发平台:

Visual C++

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