Part 1 Congestion Control in TCP

Document Sample
Part 1 Congestion Control in TCP Powered By Docstoc
					           Part 1: Congestion Control in TCP


1.   The Problem
2.   TCP Congestion Control
3.   Evaluation Criteria
4.   Network Assistance




May 2002              M. Y. Sanadidi, UCLA Computer   1
                            Science Department
                                                                   1. The Problem

                    Causes of Congestion
• Active resources in a network: (1) communication links, (2) CPUs
• Passive resources: buffers, used to relieve temporary high demand on
  an active resource
• Demands are unpredictable:
      Arrival rates are non-deterministic
      Resource holding times (transmission, processing) are non-
      deterministic
• Resources are distributed, thus the difficulty of global assessment of
  network load
• Capacity allocation approaches:
      Design for worst case demands
      Design using statistical sharing
• Inevitably, at times, demand exceeds capacity causing congestion



May 2002                 M. Y. Sanadidi, UCLA Computer                     2
                               Science Department
                                                                            1. The Problem
                   Delay Due To Congestion
•   Offered Rate, or Sending Rate: rate at which sources send traffic into the
    network
•   Carried Rate(Throughput or Delivery Rate): rate at which the network is
    delivering data to destinations
•   Fundamental Network Performance Measures: (1) Throughput , (2) Delay
•   Assume infinite buffer space in the network, so no loss due to congestion
•   Carried = Offered Traffic up to network capacity
•   When Offered > Capacity, Carried = Capacity, but excessive delay occur:




May 2002                     M. Y. Sanadidi, UCLA Computer                       3
                                   Science Department
                                                                       1. The Problem
       Lower Utilization Due To Congestion
• In reality, the network has a finite buffer space
• Due to congestion, some resources may be underutilized
• Example: router buffer space filled with traffic directed to line 1;
  arriving packets directed to lines 2 and 3 are rejected, resulting in link
  2 and 3 underutilization


                          3
                                                              2




                                                                  3


                    1
                                           2




May 2002                      M. Y. Sanadidi, UCLA Computer                    4
                                    Science Department
                                                                       1. The Problem
     Useless Utilization Due To Congestion
• In reality, the network has a finite buffer space
• As Offered rate increases, packet loss occurs when router buffers are
  full, and communication and processing capacity are wasted by
  “useless utilization”
• Useless Utilization: packets that utilize communications links and
  processors on their way to destination, but then get dropped later due
  when they encounter congestion
• Result: Carried (or Throughput) << Capacity; and excessive delay
  occurs as well

  carried                                                delay
   traffic                          Ideal

                                     Good                Operating
                                                           point
                                     Bad                             Throughput


                           Offered traffic
May 2002                 M. Y. Sanadidi, UCLA Computer                       5
                               Science Department
                                                                             1. The Problem

            Congestion Control Approaches
•   End-to-end: all the work done by transport layer (or application layer),
    including bandwidth estimation method; no explicit or implicit action by
    network is expected
•   Network Assisted: network layer, and/or link layer assist in congestion control:
          Drop a packet intentionally to cause a connection to reduce offered rate
         (RED)
         Set a bit in ACK header informing source of presence of congestion
         (ECN)
         Interfere with ACKs returning to Hosts to prevent end-to-end
         retransmission, instead retransmitting at link layer where needed
         (SNOOP)
         Buffer management to handle deadlocks, and ensure uniform link
         utilization
         Router detect the network condition and advertise the information to the
         senders, and the senders respond accordingly (XCP, BA-TCP)
•   Initially TCP was end-to-end; later support for optional ECN was included,
    thus it can operate either ETE or Network Assisted


May 2002                    M. Y. Sanadidi, UCLA Computer                          6
                                  Science Department
                                                        2. TCP Congestion
                                                             Control
           TCP Congestion Control Overview
• Evolved over the years: Tahoe, Reno, NewReno, SACK
• Window based, window size => offered traffic rate
• Probing: a connection “probes” for available bandwidth, when
  perceives packet loss, backs down to slower rate
• Two phases with differing probing behavior
• Initial design assumes packet losses are almost all due to buffer
  overflow
• Network layer assistance (RED, ECN, XCP, BA-TCP) for better
  efficiency, fairness and stability
• Link layer assistance has been suggested for hybrid networks where
  packets loss can be caused by both (1) random error, and (2) buffer
  overflow



May 2002                M. Y. Sanadidi, UCLA Computer                   7
                              Science Department
                                                               2. TCP Congestion
                                                                    Control
                         Key Concepts
                                cwnd
• Since beginning (TCP
  Tahoe):
                                                            Fast recovery
      Congestion window
      Slow Start             ssthresh                                       Timeout
      Congestion Avoidance                       ssthresh
      Slow Start Threshold                                             ssthresh
      Timeout
      Round Trip Time
      (RTT)
      Duplicate ACKs                                                                  time
                                        Slow    Congestion                  Slow
      Fast Retransmit
                                        start   Avoidance                   start
• Added in Reno:
      Fast Recovery                                 Packet loss
                                                    detected



 May 2002                M. Y. Sanadidi, UCLA Computer                                 8
                               Science Department
                                                                   2. TCP Congestion
                                                                        Control
    Congestion Window and Slow Start Threshold
•   Congestion window (cwnd): limits the number of “Outstanding Segments”, i.e.
    segments that are transmitted but no yet acknowledged
•   cwnd determines the sending (or offered) rate: the larger the congestion
    window, the larger the sending rate, because we “pipeline” segments
    transmissions up to window size
•   Probing is via increasing the congestion window:
         Exponentially during slow start phase (cwnd doubles every RTT)
         Linearly during congestion avoidance phase (cwnd is increased by one
         segment every RTT)
•   Upon possible packet loss indication, backing down is via reducing cwnd
•   Slow Start Threshold (ssthresh): indicates when the Slow Start phase is exited
    and the Congestion Avoidance phase entered



               base Congestion window (cwnd = 20)           next_seqno
    Already ACKed     Available, not yet        Sent but not yet        Not usable
                      sent                      ACKed
May 2002                    M. Y. Sanadidi, UCLA Computer                            9
                                  Science Department
                                                           2. TCP Congestion
                                                                Control
                   TCP Timeouts and RTT
• Each transmitted packet has a Timeout: an ACK must reach the sender
  before the timeout expires, otherwise the packet is assumed lost
• Timeout value must be fine tuned to avoid unecessary timouts expirations
• Round Trip Time (RTT) is monitored and Timeout is set based on RTT
• Round Trip Time estimation and Timeout Setting:
      Each segment will have its own SampleRTT
      EstimatedRTT = (1-x)*EstimatedRTT + x*SampleRTT
      Timeout is set to be EstiamtedRTT plus deviation:
      Timeout = EstimatedRTT + 4*Deviation where:
      Deviation = (1-x)*Deviation + x*|SampleRTT-
      EstimatedRTT |




  May 2002                 M. Y. Sanadidi, UCLA Computer                  10
                                 Science Department
                                                            2. TCP Congestion
                                                                 Control
   Packet Loss Indications and Possible Reactions
• The following indicates to the sender possible packet loss:
     Timeout => no packets arriving at the receiver; considered hard
     loss
     N DUPACKs (default is 3) => sequence of packets arriving at
     receiver missing one or more packets; considered soft loss
• Possible Reactions:
     Retransmit upon
              Receiving 3 DUPACKs (Fast Retransmit)
              Timeout (Retransmit)
           Change cwnd, ssthresh, phase




May 2002                    M. Y. Sanadidi, UCLA Computer                  11
                                  Science Department
                                                                  2. TCP Congestion
                                                                       Control
   Congestion Control Algorithm in TCP Tahoe
Initialize:
      cwnd <-- 1 (MSS);
      Threshold <-- Init_Ssthresh; /* (implementation dependant) */
      State <-- Slow Start;
Case Event of:
      ACK received in Slow Start:
         cwnd <-- cwnd +1 (MSS); /* “exponential” increase of cwnd */
         If cwnd > Threshold Then
             State <-- Congestion Avoidance;
    ACK received in Congestion Avoidance:
         If (#ack received = cwnd) Then
             cwnd <-- cwnd +1; /* “linear” increase of cwnd */
    Timeout expiration OR 3rd DUP_ACK received :
         Retransmit(lost packet);
         Threshold <-- cwnd/2;
         cwnd <-- 1(MSS);
         State <-- Slow Start;


   May 2002                     M. Y. Sanadidi, UCLA Computer                    12
                                      Science Department
                                                 2. TCP Congestion
                                                      Control
           TCP Tahoe cwnd Evolution




May 2002         M. Y. Sanadidi, UCLA Computer                  13
                       Science Department
                                                            2. TCP Congestion
                                                                 Control
             TCP Reno and Fast Recovery

Reno improves on Tahoe by introducing Fast recovery phase which is entered
   after Fast Retransmit (when the loss indication is 3 DUPACKs):
   Set:
        ssthresh = 1/2 cwnd;
        cwnd = ssthresh;
• ssthresh and cwnd are both reduced to reduce the transmission rate and drain
   the network congestion, but we do not need to begin from slow start again!
• Until a “non-DUPACK” is received, a temporary congestion window is used
   during Fast Recovery and is increased by 1 MSS for every new DUPACK
   received; this allows new packet transmissions during Fast Recovery
• When the sender receives acknowledgment that the retransmission of the lost
   packet has been received, the Fast Recovery phase is exited, Congestion
   Avoidance phase is entered and cwnd starts to grow starting from the updated
   cwnd size (1/2 cwnd at time loss is detected)



May 2002                   M. Y. Sanadidi, UCLA Computer                      14
                                 Science Department
                                                                 2. TCP Congestion
                                                                      Control
   TCP Reno Congestion Control Algorithm




3rd DUP_ACK Algorithm in Reno:                During Fast Recovery:
Case Event of:                                      Case Event of:
     3rd DUPACK received:                               DUPACK received:
           Fast Retransmit(lost packet);                Temp_Cwnd <-- Temp_Cwnd +1;
           Threshold <-- cwnd/2;                        /* can transmit a new pkt */
           Cwnd <-- Threshold;
                                                    On new ACK received:
           Temp_Cwnd <-- Threshold;
                                                        State <-- Congestion Avoidance;
           State <-- Fast Recovery;
                                                        /*cwnd grows linearly again*/
May 2002                       M. Y. Sanadidi, UCLA Computer                     15
                                     Science Department
                                                                       2. TCP Congestion
                                                                            Control
                  TCP Reno cwnd Evolution
           cwnd


                                          Fast recovery

       ssthresh                                           Timeout

                               ssthresh
                                                          ssthresh




                                                                       time
                  Slow start Congestion     Congestion    Slow start
                             Avoidance      Avoidance

                                   Packet loss
                                   detected

May 2002                      M. Y. Sanadidi, UCLA Computer                           16
                                    Science Department
                                                        2. TCP Congestion
                                                             Control
                       TCP NewReno
• TCP NewReno Improves over Reno in handling multiple segment
  losses in same window, since TCP Reno is likely to experience
  Timeout (and thus enters slow start phase)
• NewReno cuts the cwnd only after the first loss (and not for every
  subsequent lost packet in the same window)
• NewReno exits Fast Recovery only after all lost packets have been
  ACKed
• When multiple segments are lost, the sender will receive a partial new
  acknowledgment (some lost packet recovered but not all); NewReno
  will Fast Retransmit packets that are still to be recovered




May 2002                M. Y. Sanadidi, UCLA Computer                  17
                              Science Department
                                                          2. TCP Congestion
                                                               Control
                TCP Reno and NewReno
•   TCP Reno NewReno behavior when 3 packets are lost within one window:




May 2002                  M. Y. Sanadidi, UCLA Computer                    18
                                Science Department
                                              3. Evaluation
                                                   Criteria
Evaluating TCP Congestion Control Schemes


• TCP Congestion Control Schemes should
  be evaluated in terms of:
    Efficiency
    Fairness
    Friendliness
    Stability


May 2002      M. Y. Sanadidi, UCLA Computer              19
                    Science Department
                                                                                               3. Evaluation
                                                                                                    Criteria
                                                          Efficiency
•     Measures:
         Delivery Rate (throughput)
         Bottleneck link utilization
         Retransmission ratio: i.e. # retransmissions / total transmissions

               Simulation results on retransmission rate of Reno:
                                   8                                                    Reno
               Retransmission ratio (%)




                                   7
                                   6
                                   5
                                   4
                                   3
                                   2
                                   1
                                   0
                                          0   0.5   1     1.5   2    2.5   3    3.5     4   4.5    5
                                                            Packet Error Rate (%)
    May 2002                                            M. Y. Sanadidi, UCLA Computer                     20
                                                              Science Department
                                                                                                             3. Evaluation
                                TCP NewReno Efficiency                                                            Criteria
                                     Limitations
• In Wire/wireless networks both random errors and buffer overflows
  may cause packet loss; window reduction results in inefficiency when
  loss is due to random error
• In High speed networks blind halving of cwnd is a binary search for
  optimal cwnd resulting in inefficiency


         10                                                                                                   NewReno
                                                                              10
 Throughput (Mbps)




                     8




                                                                       Throughput (Mbps)
                                                                                           8
                     6
                                                                                           6
                     4
                                                                                           4
                     2
                                                                                           2
                     0                                                                0
                        2   4    6   8 10 12 14 16 18 20                              0.01        0.1             1
                     Transmition Speed of the Bottleneck Link (Mbps)                           Packet Loss Rate (%)


May 2002                                           M. Y. Sanadidi, UCLA Computer                                        21
                                                         Science Department
                                                                    3. Evaluation
                                                                         Criteria
                                Fairness




Is the bottleneck link fairly allocated among flows running the same version of TCP?



May 2002                   M. Y. Sanadidi, UCLA Computer                       22
                                 Science Department
                                                                  3. Evaluation
                                                                       Criteria
                          Fairness Measures
           Jain’s fairness index:
                                                 (∑xi )2
                         f (x1, x2 ,...,xn ) =
                                                 n ⋅ ∑xi2


                 The index above = 1 only when all throughputs are the same



      Max-Min Fairness
       Allocate to “small users” the bandwidth they require, and evenly
       distribute unused bandwidth over “big users”




May 2002                         M. Y. Sanadidi, UCLA Computer               23
                                       Science Department
                                                                 3. Evaluation
               Convergence to Fair Share                              Criteria




Note: after the drop (and possibly, slow start), connections have new
thresholds = 1/2 cwnd; and throughputs are reduced by half. cwnd increments
are the same for both connections: 1 for each RTT

May 2002                  M. Y. Sanadidi, UCLA Computer                       24
                                Science Department
                                                                        3. Evaluation
                                                                             Criteria
                        “Many Flow” Fairness Problem
In routers with small buffer space a few connections may capture the buffer space
    causing unfairness among all competing connections:
          flow number



                        50
                        40
                                       Fair
                        30
                                       share.
                        20
                        10

                        0
                             0   100            200      300      400

                                        #packets sent by each flow




   50 flows; 1 Mbps bottleneck link; RTT=80ms; MSS=1000bytes; Router
      buffers: 100 packets. The graph reports the number of packets
      successfully sent during a 600s period.


   May 2002                       M. Y. Sanadidi, UCLA Computer                     25
                                        Science Department
                                                                     3. Evaluation
                                                                          Criteria
                             Friendliness

• “Long term throughput does not exceed the throughput of
  a conformant TCP under the same conditions”
• What about when conformant TCP connection cannot use
  its fair share due to inherent limitations?
      Assuming a total of N TCPA and TCPB flows sharing
      bottleneck with capacity C :
           Assuming neither variant has limitation, the fair share for each flow
           should be C/N
           Assuming under certain condition, TCPB is inherently incapable of
           reaching C/N, then TCPA connection fair share > C/N
    More later on this definition of Friendliness!




May 2002                   M. Y. Sanadidi, UCLA Computer                           26
                                 Science Department
                                                                                                                                                                                                                                        3. Evaluation
                                                                                                                                                                                                                                             Criteria
                                                                                                                       Stability
                                      • Basic goal is that the router queue length and average window size
                                        should stabilize after a transient period
                                           Network topology, RTT, capacity, number of flows….. have effect
                                           on the stability

                                                                   In s t a n t a n e o u s q u e u e                                                                                                   In s t a n t a n e o u s q u e u e
                                    800                                                                                                                                  800


                                    700                                                                                                                                  700


                                    600                                                                                                                                  600




                                                                                                                                      Ins ta nta ne ous que ue (pkts )
Ins ta n ta ne ous que ue (pkts )




                                    500                                                                                                                                  500


                                                                                                                                                                         400
                                    400

                                                                                                                                                                         300
                                    300

                                                                                                                                                                         200
                                    200

                                                                                                                                                                         100
                                    100

                                                                                                                                                                           0
                                      0                                                                                                                                        0   1000   2000   3000   4000     5000       6000             7000   8000   9000   10000
                                          0   1000   2000   3000   4000         5000       6000         7000    8000   9000   10000                                                                        t im e ( 1 0 m s )
                                                                            t im e ( m s )




         (a) RTT= 20ms (stable)                            (b) RTT =200ms, unstable
     Ns-2 simulation results on queue length, 50 identical backlogged TCP Reno sources,
     single link with capacity of 9 pkts/ms, RED marking
                                      May 2002                                                                 M. Y. Sanadidi, UCLA Computer                                                                                                                      27
                                                                                                                     Science Department
                                                      4. Network
                                                         Assistance
            Network Assistance Methods

• Split Connection Schemes
      I-TCP
• Link Layer Schemes
      Snoop, ELN
• Schemes Relying on Network Layer Support
      Active Queue Management or AQM: RED, ECN
      XCP
      BA-TCP




 May 2002             M. Y. Sanadidi, UCLA Computer          28
                            Science Department
                                                                         4. Network
                                                                            Assistance
                 Split Connection Scheme

A single TCP connection split into two TCP connections, one over wired portion
   of path, the other over the wireless portion


            TCP connection                  TCP connection

     application                 application                   application
                                                     retrans
     transport                   transport                     transport
     network                     network                       network
     link                        link                          link
     physical                    physical                      physical

                                                 wireless
           FH                          BS                           MH



May 2002                   M. Y. Sanadidi, UCLA Computer                         29
                                 Science Department
                                                                            4. Network
                                                                               Assistance
                                    Indirect TCP (1)


• BS acts as a proxy and relays all data
• Fixed Host (FH) sends a packet
       BS acknowledges this packet and forwards the packet to MH
• If packet is lost on wireless link
       BS detects faster due to lower RTT and retransmit packet




                                                       Wired Internet

                     Wireless TCP
       Mobile host                    BS                                Fixed host
                                                       Standard TCP



  May 2002                           M. Y. Sanadidi, UCLA Computer                   30
                                           Science Department
                                                                 4. Network
                                                                    Assistance
                       Indirect TCP (2)


Advantages:
• No changes in the TCP protocols in FH
• Indirection at BS allows faster reaction to mobility and wireless
  related events

Disadvantages:
• End-to-end semantics is violated
• Buffer space is now needed at BS for each TCP connection




May 2002                 M. Y. Sanadidi, UCLA Computer                  31
                               Science Department
                                                                       4. Network
                                                                          Assistance

     Snoop: TCP-Aware Link Layer Scheme
• local recovery
• link level retransmission

                              TCP connection

    application                application                 application
    transport                  transport                   transport
    network                    network                     network
                                                 retrans
    link                       link                        link
    physical                   physical                    physical


           FH                         BS                          MH
                                             wireless
May 2002                M. Y. Sanadidi, UCLA Computer                         32
                              Science Department
                                                                  4. Network
                                                                     Assistance
               Snoop Interferes with TCP Traffic


              Designed to improve TCP performance in high BER environment


                                     Standard TCP



Mobile Host                                                           Fixed Host
   MH                                           Wired Internet              FH


                        SNOOP Agent is BS:

                       Filter DUPACKs
                        Retransmit




   May 2002                     M. Y. Sanadidi, UCLA Computer            33
                                      Science Department
                                                         4. Network
                                                            Assistance
                      Snoop Basics


    Snoop Agent monitors every packet in both direction
    Maintain a cache of unacknowledged TCP data to allow link
    layer retransmission
    When DUPACKs received by BS from MH, retransmit on
    wireless link, if packet present in buffer
    Prevents fast retransmit at TCP sender FH by filtering the
    DUPACKs at BS




May 2002              M. Y. Sanadidi, UCLA Computer              34
                            Science Department
                                                                       4. Network
                                                                          Assistance
                            Snoop + and -

Advantages
•   No Change to TCP in Fixed Hosts
•   Local recovery from wireless loss
•   Reduce Fast retransmissions at sender




Disadvantages
•   Link layer at BS needs to be TCP-aware
•   Fails if TCP headers are encrypted, in which case BS can’t snoop




May 2002                    M. Y. Sanadidi, UCLA Computer                     35
                                  Science Department
                                                                  4. Network
                                                                     Assistance
            ELN: Explicit Loss Notification

• Basic Operation:
       If packet loss is on wireless link:
           TCP ACK with ELN bit set
           Sender retransmits on receiving first (not third) duplicate ACK
           with ELN bit set
• Sender does not invoke congestion control in such cases, thus large
  congestion window is maintained even at high rate wireless losses
• It is not feasible to accurately detect every wireless loss
• TCP modification required




 May 2002                 M. Y. Sanadidi, UCLA Computer                  36
                                Science Department
                                                                        4. Network
                                                                           Assistance

             AQM: Active Queue Management
• RED: Random Early Detection
           At router, monitor length of queue
           When queue starts to fill up, begin dropping packets
           Select packets at random to avoid undesired synchronization among
           connections


                     1
                 Drop Prob




                              minth
                                                                 maxp



                    0
                             Avg. Queue Len         maxth
May 2002                         M. Y. Sanadidi, UCLA Computer                 37
                                       Science Department
                                                        4. Network
                                                           Assistance
           AQM: Active Queue Management


• ECN: Explicit Congestion Notification
    ECN bit is initially set to 0 by the TCP sender
    “Congested” router sets the bit to 1
    Receivers forward ECN bit state back to sender in
    acknowledgments
    Sender responds by backing off (reduce window)




May 2002               M. Y. Sanadidi, UCLA Computer           38
                             Science Department
                                                                           4. Network
                                                                              Assistance
               XCP: eXpressive Control Protocol

•       Senders express their setting (cwnd, RTT) to routers, and routers express
        changes required to senders
•       Recognizes two types of requirements for Congestion Control:
            Efficiency: Achieve high link utilization
            Allocation: Allocate bandwidth according to desired criteria; e.g.
            fairness, QoS, etc.
•       Approach: Decouple controls for efficiency and allocation :
               Control aggregate traffic to achieve efficient link utilization
               Divide link bandwidth among connections to achieve desired criteria




    May 2002                     M. Y. Sanadidi, UCLA Computer                    39
                                       Science Department
                                                                       4. Network
                                                                          Assistance
           XCP: eXpressive Control Protocol

  • XCP routers compute expressive feedback
      Efficiency Controller
             Goal: Match aggregate input traffic to link capacity & drains
             the queue
             Algorithm(MIMD):
               • Aggregate “used pipe” is changed by ∆
               • ∆ increases with an increase in “spare pipe” size; and
               • ∆ decreases with an increase in the router queue size; i.e.


             ∆ = α x Spare Bandwidth x davg - β x Queue Size




May 2002                  M. Y. Sanadidi, UCLA Computer                        40
                                Science Department
                                                                4. Network
                                                                   Assistance
           XCP: eXpressive Control Protocol
     Fairness Controller
           • Goal: Divide ∆ among flows to converge to fairness criteria
           • Algorithm (AIMD):
              If ∆ > 0 ⇒ Divide ∆ equally between flows (regardless of
                         current rate)
              If ∆ < 0 ⇒ Divide ∆ between flows in proportion to their
                         current rates
       Need to estimate number of flows N:


                                                RTTi
                      N   = ∑
                           pkts in d avg . d avg × Cwnd i




May 2002                  M. Y. Sanadidi, UCLA Computer                41
                                Science Department
                                                               4. Network
                                                                  Assistance
           XCP: eXpressive Control Protocol

Advantages
• Scalable for bandwidth and delay




Disadvantages
• Needs to maintain RTT per connection, else use average RTT =>
   major problem to be resolved
• Needs router participation, deployment might prove to be difficult
• Unfair toward connections with longer RTT
• Malicious Sender can falsify the header and mess up the feedback
   calculation



May 2002                M. Y. Sanadidi, UCLA Computer                  42
                              Science Department
                         References
• Improving TCP/IP Performance Over Wireless Networks. Hari
  Balakrishnan, Srinivasan Seshan, Etan Amir, and Randy Katz. In
  ACM MobiCom, November 1995
• H. Balakrishnan and R. H. Katz, “Explicit Loss Notification and
  Wireless Web Performance,” In Proceedings of IEEE
  GLOBECOM’98 Internet Mini-Conference, Sydney, Australia,
  November 1998.
• K. Fall and S. Floyd, “Simulation-based Comparisons of Tahoe, Reno,
  and SACK TCP,” Computer Communication Review, V. 26 N. 3, July
  1996, pp. 5-21
• S. Floyd and V. Jacobson, “Random Early Detection gateways for
  congestion Avoidance,” IEEE/ACM transactions on Networking,
  August 1993
• S. Floyd, “TCP and Explicit Congestion Notification,” ACM
  Computer Communication Review, V. 24 N. 5, pp. 10-23, Oct. 1994


May 2002               M. Y. Sanadidi, UCLA Computer               43
                             Science Department
                         References


• A. Bakre and B. R. Badrinath, “I-TCP: Indirect TCP for Mobile
  Hosts”, In Proceedings of the 15th International Conference on
  Distributed Computing Systems (ICDCS), May 1995.
• Frank Kelly, “Mathematical Modeling of the Internet”, In Proc. of
  Fourth International Congress on Industrial
• Dina Katabi, Mark Handley, and Charles Rohrs, "Internet Congestion
  Control for Future High Bandwidth-Delay Product Environments."
  submitted to Sigcomm 2002




May 2002               M. Y. Sanadidi, UCLA Computer               44
                             Science Department