home *** CD-ROM | disk | FTP | other *** search
/ ftp.ee.lbl.gov / 2014.05.ftp.ee.lbl.gov.tar / ftp.ee.lbl.gov / papers / ecn.txt < prev    next >
Text File  |  1997-11-18  |  27KB  |  619 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Internet Engineering Task Force                       K. K. Ramakrishnan
  8. INTERNET DRAFT                                        AT&T Labs Research
  9. draft-kksjf-ecn-00.txt                                       Sally Floyd
  10.                                                                     LBNL
  11.                                                            November 1997
  12.                                                       Expires:  May 1998
  13.  
  14.  
  15.  
  16. A Proposal to add Explicit Congestion Notification (ECN) to IPv6 and to TCP
  17.  
  18.  
  19.  
  20.                           Status of this Memo
  21.  
  22.    This document is an Internet-Draft.  Internet-Drafts are working
  23.    documents of the Internet Engineering Task Force (IETF), its areas,
  24.    and its working groups.  Note that other groups may also distribute
  25.    working documents as Internet-Drafts.
  26.  
  27.    Internet-Drafts are draft documents valid for a maximum of six months
  28.    and may be updated, replaced, or obsoleted by other documents at any
  29.    time.  It is inappropriate to use Internet-Drafts as reference
  30.    material or to cite them other than as "work in progress."
  31.  
  32.    To view the entire list of current Internet-Drafts, please check the
  33.    "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
  34.    Directories on ftp.is.co.za (Africa), ftp.nordu.net (Europe),
  35.    munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
  36.    ftp.isi.edu (US West Coast).
  37.  
  38. Abstract
  39.  
  40.    This note describes a proposed addition of ECN (Explicit Congestion
  41.    Notification) to IPv6 and to TCP.  First we describe TCP's use of
  42.    packet drops as an indication of congestion.  Next we argue that with
  43.    the addition of active queue management (e.g., RED) to the Internet
  44.    infrastructure, where routers detect congestion before the queue
  45.    overflows, routers are no longer limited to packet drops as an
  46.    indication of congestion, but could instead set an ECN bit in the
  47.    packet header, for ECN-capable transport protocols.  We describe when
  48.    the ECN bit would be set in the routers, and describe what
  49.    modifications would be needed to TCP to make it ECN-capable.
  50.    Modifications to other transport protocols (e.g., unreliable unicast
  51.    or multicast, reliable multicast, other reliable unicast transport
  52.    protocols) could be considered as those protocols advance through the
  53.    standards process.
  54.  
  55.  
  56.  
  57. Ramakrishnan and Floyd       Informational                      [Page 1]
  58.  
  59.  
  60. draft-kksjf-ecn     Addition of ECN to IPv6 and TCP        November 1997
  61.  
  62.  
  63.    TCP's congestion control and avoidance algorithms are based on the
  64.    notion that the network is a black-box [Jacobson88, Jacobson90].  The
  65.    network's state of congestion or otherwise is determined by end-
  66.    systems probing for the network state, by gradually increasing the
  67.    load on the network (by increasing the window of packets that are
  68.    outstanding in the network) until the network becomes congested and a
  69.    packet is lost.  Treating the network as a "black-box" and treating
  70.    loss as an indication of congestion in the network is appropriate for
  71.    pure best-effort data carried by TCP that has little or no
  72.    sensitivity to delay or loss of individual packets.  In addition,
  73.    TCP's congestion management algorithms have techniques built-in (such
  74.    as fast retransmit and fast recovery) to minimize the impact of
  75.    losses from a throughput perspective.
  76.  
  77.    However, these mechanisms are not intended to help applications that
  78.    are in fact sensitive to the delay or loss of one or more individual
  79.    packets.  Interactive traffic such as telnet, web-browsing, and
  80.    transfer of audio and video data ("real-audio" and "real-video") can
  81.    be sensitive to packet losses (for unreliable data delivery such as
  82.    UDP) or to the increased latency of the packet caused by the need to
  83.    retransmit the packet after a loss (for reliable data delivery such
  84.    as TCP).
  85.  
  86.    Since TCP determines the appropriate congestion window to use by
  87.    gradually increasing the window size until it experiences a dropped
  88.    packet, this causes the queues at the bottleneck router to build up.
  89.    With most packet drop policies at the router that are not sensitive
  90.    to the load placed by each individual flow, this means that some of
  91.    the packets of latency-sensitive flows are going to be dropped.
  92.    Active queue management mechanisms that detect congestion before the
  93.    queue overflows, and provide an indication of this congestion to TCP,
  94.    is desirable because it avoids some bad properties of dropping on
  95.    queue overflow, especially with drop-tail schemes.  Drop tail
  96.    introduces synchronization of loss across multiple flows which is
  97.    undesirable.  Indicating incipient congestion means that TCP does not
  98.    have to increase its window size up to the point where a router's
  99.    buffer is filled up. This can reduce queuing delays and avoid
  100.    synchronization, which are desirable characteristics.
  101.  
  102. 2. Random Early Detection (RED)
  103.  
  104.    Random Early Detection (RED) is a mechanism for active queue
  105.    management that has been proposed to detect incipient congestion
  106.    [FJ93], and is currently being deployed in the Internet backbone
  107.    [RED-ietf-draft].  Although RED is meant to be a general mechanism
  108.    using one of several alternatives for congestion indication, in the
  109.    current environment of the Internet RED is restricted to using packet
  110.    drops as a mechanism for congestion indication.  By dropping packets
  111.  
  112.  
  113. Ramakrishnan and Floyd       Informational                      [Page 2]
  114.  
  115.  
  116. draft-kksjf-ecn     Addition of ECN to IPv6 and TCP        November 1997
  117.  
  118.  
  119.    based on the average queue length exceeding a threshold, rather than
  120.    only when the queue overflows, RED maintains the average queue at a
  121.    smaller level, and improves the delay experienced by the flows.
  122.    However, when RED drops packets before the queue actually overflows,
  123.    RED is not forced by memory limitations to discard the packet.  RED
  124.    could set an Explicit Congestion Notification bit in the packet
  125.    header instead of dropping the packet, if such a bit was provided in
  126.    the IP header and understood by the transport protocol.  The use of
  127.    the Explicit Congestion Notification bit would allow the receiver(s)
  128.    to receive the packet, avoiding the potential for excessive delays
  129.    due to retransmissions after packet losses.
  130.  
  131. 3. Explicit Congestion Notification
  132.  
  133.    We propose that the Internet provide a congestion indication for
  134.    incipient congestion (as in RED and earlier work [RJ90]) where the
  135.    notification can sometimes be through marking packets rather than
  136.    dropping them.  This would require an ECN field in the IP header with
  137.    two bits.  The ECN-Capable bit would be set by the data sender to
  138.    indicate an ECN-capable transport protocol.  The ECN bit would be set
  139.    by the router to indicate congestion to the end nodes. ([Floyd94]
  140.    outlines a scheme where a single bit could be overloaded to serve the
  141.    function of both the ECN-Capable bit and the ECN bit, but the two-bit
  142.    scheme is more straightforward to explain). We expect that routers
  143.    would provide the congestion indication on incipient congestion as
  144.    indicated by the average queue size, using the RED algorithms
  145.    suggested in [FJ93, RED-ietf-draft].  Routers that have a packet
  146.    arriving at a full queue would drop the packet, just as they do now.
  147.  
  148.    The congestion control algorithms followed at the end-systems would
  149.    be essentially the same as the congestion control response to a
  150.    *single* dropped packet, for a transport protocol where a dropped
  151.    packet is used as an indication of congestion.  For TCP in
  152.    particular, the source TCP would halve its congestion window "cwnd"
  153.    in response to an ECN indication received by the data receiver.
  154.    However, this action is done only once per window of data (i.e., at
  155.    most once per roundtrip time), to avoid reacting multiple times to
  156.    multiple indications of congestion within a roundtrip time.
  157.  
  158. 4. Proposed Algorithm at the Router
  159.  
  160.    We describe the proposed algorithm at the router in the context of
  161.    current router implementations.  We assume that the router is capable
  162.    of implementing the probability computation for RED and uses a pure
  163.    packet drop mechanism (e.g., drop from front, drop from tail, or
  164.    random drop) whenever a packet arrives at a full queue.
  165.  
  166.    When the router's buffer is not yet full and the router is prepared
  167.  
  168.  
  169. Ramakrishnan and Floyd       Informational                      [Page 3]
  170.  
  171.  
  172. draft-kksjf-ecn     Addition of ECN to IPv6 and TCP        November 1997
  173.  
  174.  
  175.    to drop a packet to inform end nodes of incipient congestion, the
  176.    router should first check to see if the ECN-Capable bit is set in
  177.    that packet's IP header.  If so, then instead of dropping the packet,
  178.    the router could instead set the ECN bit in the IP header.  When more
  179.    severe congestion has occurred and the router's queue is full, then
  180.    the router has no choice but to drop some packet when a new packet
  181.    arrives.
  182.  
  183.    The router determines it is congested if the AVERAGE length of any of
  184.    its queues where packets are waiting to be processed or transmitted
  185.    exceeds a threshold. We believe that the router should use the ECN
  186.    bit to notify that it is congested only when the *average* queue
  187.    length, rather than the instantaneous queue length, exceeds a
  188.    threshold.
  189.  
  190.    There are potentially several alternatives for estimating the average
  191.    queue length and marking the ECN bit. Since there is considerable
  192.    effort involved already in implementing RED, we believe it is best to
  193.    leverage these efforts for ECN as well.  One potential mechanism for
  194.    the averaging and marking is to perform functions similar to RED
  195.    queue management: RED uses an exponential moving average of the queue
  196.    size.  When the average queue size goes above a lower threshold,
  197.    packets are marked with a probability of marking that increases with
  198.    the average queue size.  (Packets that are not ECN-capable are
  199.    dropped instead of marked.) When the average queue size gets up to or
  200.    above a high threshold, all incoming packets should be dropped
  201.    (assuming that the router intends to control the average queue size
  202.    even in the presence of unresponsive traffic).
  203.  
  204.    It is anticipated that when all of the source end-systems participate
  205.    in TCP's congestion management mechanisms or other compatible
  206.    congestion control, and respond to ECN by reducing their offered
  207.    load, packet losses would be relatively infrequent.  Packet losses in
  208.    this case would occur primarily during transients and in the presence
  209.    of non-cooperating entities.
  210.  
  211.    When a packet is received by a router with the ECN bit set indicating
  212.    that congestion was encountered upstream, then the bit is left
  213.    unchanged, and the packet transmitted as usual.
  214.  
  215. 5. Support from the Transport Protocol
  216.  
  217.    ECN requires support from the transport protocol, in addition to the
  218.    ECN field in the IPv6 packet header.  For TCP, ECN requires two new
  219.    mechanisms:  negotiation between the endpoints during setup to
  220.    determine if they are both ECN-capable, and an ECN-Notify bit in the
  221.    TCP header so that the data receiver can inform the data sender when
  222.    a packet has been received with the ECN bit set.  The support
  223.  
  224.  
  225. Ramakrishnan and Floyd       Informational                      [Page 4]
  226.  
  227.  
  228. draft-kksjf-ecn     Addition of ECN to IPv6 and TCP        November 1997
  229.  
  230.  
  231.    required from other transport protocols is likely to be different,
  232.    particular for unreliable or reliable multicast transport protocols,
  233.    and will have to be determined as other transport protocols are
  234.    brought to the IETF for standardization.  The following sections
  235.    describe in detail the proposed TCP use of ECN.  This is also
  236.    described in [Floyd94].  We assume that the source TCP uses the
  237.    current set of congestion control algorithms of Slow-start, Fast
  238.    Retransmit and Fast Recovery [RFC 2001].
  239.  
  240. 5.1. TCP Initialization
  241.  
  242.    Initially, the source and destination TCPs exchange the desire and/or
  243.    capability to use ECN in the TCP connection setup phase.  As a result
  244.    of the negotiation, the TCP sender indicates using the ECN-Capable
  245.    bit in the IPv6 header that the transport is capable and willing to
  246.    participate in ECN.  This will indicate to the routers that they may
  247.    mark packets with the ECN bit, if they would like to use that as a
  248.    method of congestion notification. If the TCP connection does not
  249.    wish to use ECN notification, the sending TCP sets the ECN-Capable
  250.    bit equal to 0 (i.e., not set), and the TCP receiver ignores the ECN
  251.    bit in received packets.
  252.  
  253. 5.2. The TCP Sender
  254.  
  255.    For a connection that expects to use ECN, packets are transmitted
  256.    with the ECN-Capable bit set in the IP header (set to a "1").  If the
  257.    sender receives a TCP acknowledgement with the ECN-Notify bit set in
  258.    the TCP header, then the sender knows that congestion was encountered
  259.    in the network on the path from the sender to the receiver.  The
  260.    indication of congestion should be treated just as a congestion loss
  261.    in non-ECN-Capable TCP. That is, the TCP source halves the congestion
  262.    window "cwnd" and reduces the slow start threshold "ssthresh".  The
  263.    sending TCP does NOT increase the congestion window in response to
  264.    the receipt of an ACK packet with the ECN-Notify bit set.  However, a
  265.    very important difference is that TCP does not react to ECN
  266.    congestion indications more than once every window of data (or more
  267.    loosely, more than once every round-trip time). If a response to the
  268.    ECN-Notify bit was made over the last round-trip time, based on the
  269.    window of packets, then the sending TCP doesn't respond to any
  270.    further ECN messages. If at time "t", the source TCP reacted to an
  271.    ECN, then it notes the packets that are outstanding at that time and
  272.    have not yet been acknowledged. Until all these packets are
  273.    acknowledged, say at time "u", the source TCP does not react to
  274.    another ECN indication of congestion.
  275.  
  276.    In addition, when a TCP sender receives duplicate acks during the
  277.    time interval between "t" and "u", it does not reduce the congestion
  278.    window.  The result is that decreases in the congestion window occur
  279.  
  280.  
  281. Ramakrishnan and Floyd       Informational                      [Page 5]
  282.  
  283.  
  284. draft-kksjf-ecn     Addition of ECN to IPv6 and TCP        November 1997
  285.  
  286.  
  287.    at most once per roundtrip time.
  288.  
  289.    When the TCP sender receives a packet with the ECN-Notify bit set,
  290.    and therefore reduces its congestion window, the sender does not need
  291.    to slow-start (as is done in Tahoe TCP in response to a packet drop)
  292.    or to stop sending packets for a period of time to allow the queue to
  293.    dissipate (as is done by Reno TCP for roughly half a round-trip time
  294.    in response to a packet drop).  The ECN-Notify bit being set does not
  295.    indicate the urgent transient congestion state of a buffer overflow.
  296.    Incoming acknowledgements will still arrive to "clock out" outgoing
  297.    packets when allowed by the congestion window.
  298.  
  299.    TCP follows existing algorithms for sending data packets in response
  300.    to incoming ACKs, multiple duplicate acknowledgements, or retransmit
  301.    timeouts [RFC2001].
  302.  
  303. 5.3. The TCP Receiver
  304.  
  305.    At the destination end-system, when TCP receives a packet with the
  306.    ECN bit set in the IP header, TCP sets the ECN-Notify bit in the TCP
  307.    header in the returning ACK packet.  We do not provide here any
  308.    notion of destination congestion, because this is already being
  309.    indicated in the receiver's advertised window.
  310.  
  311.    The destination TCP continues to perform the duplicate ACK procedure
  312.    already specified - to generate a duplicate ACK when an out-of-
  313.    sequence packet is received.
  314.  
  315.    If there is any ACK withholding implemented, as in current TCP
  316.    implementations where the TCP receiver often sends an ACK for two
  317.    arriving data packets, then the TCP destination will send the OR of
  318.    all the ECN bits of packets that the ACK is acknowledging. That is,
  319.    if any packet is received with the ECN bit set, then the ACK carries
  320.    the ECN-Notify bit set.
  321.  
  322. 5.4. Congestion on the ACK-path
  323.  
  324.    For the current generation of TCP congestion control algorithms, pure
  325.    acknowledgement packets (e.g., packets that do not contain any
  326.    accompanying data) should be sent with the ECN-capable bit off.
  327.    Current TCP receivers have no mechanisms for reducing traffic on the
  328.    ACK-path in response to congestion notification.  Mechanisms for
  329.    responding to congestion on the ACK-path can be relegated as an area
  330.    for future research.  (One simple possibility would be for the sender
  331.    to reduce its congestion window when it receives a pure ACK packet
  332.    with the ECN bit set). For current TCP implementations, a single
  333.    dropped ACK generally has only a very small effect on the TCP's
  334.    sending rate.
  335.  
  336.  
  337. Ramakrishnan and Floyd       Informational                      [Page 6]
  338.  
  339.  
  340. draft-kksjf-ecn     Addition of ECN to IPv6 and TCP        November 1997
  341.  
  342.  
  343. 6. Summary of changes required in IPv6 and TCP
  344.  
  345.    Two bits need to be specified in the IPv6 header, the ECN-Capable bit
  346.    and the ECN bit.  The ECN-Capable bit set to "0" indicates that the
  347.    transport protocol will ignore the ECN bit.  This is the default
  348.    value.  The ECN-Capable bit set to "1" indicates that the transport
  349.    protocol is willing and able to participate in ECN.
  350.  
  351.    The default value for the ECN bit is "0".  The router sets the ECN
  352.    bit to "1" to indicate congestion to the end nodes.  The ECN bit in a
  353.    packet header should never be reset by a router from "1" to "0".
  354.  
  355.    TCP requires two changes, a negotiation phase during setup to
  356.    determine if both end nodes are ECN-capable, and a bit in the TCP
  357.    header (possibly one of the "reserved" bits in the TCP flags field)
  358.    as an ECN-Notify bit so that the receiver can inform the sender of a
  359.    packet received with the ECN bit set.
  360.  
  361. 7. Non-relationship to ATM's EFCI indicator or Frame Relay's FECN
  362.  
  363.    Since these ATM and Frame Relay mechanisms typically have been
  364.    defined without any notion of average queue size as the basis for
  365.    concluding that there is congestion, we believe that they provide a
  366.    very noisy signal. The interpretation we have here for ECN is NOT the
  367.    appropriate reaction for such a noisy signal of congestion
  368.    notification. It is our belief that such mechanisms would be phased
  369.    out over time within the ATM network.  However, if the routers that
  370.    interface to the ATM network have a way of maintaining the average
  371.    queue at the interface, and use it to come to a conclusion that the
  372.    ATM subnet is congested or otherwise, they may use the ECN
  373.    notification that is defined here.
  374.  
  375. 8. Non-compliance by the End Nodes
  376.  
  377.    We believe that, for the most part, the fairness properties of TCP
  378.    will not be changed with the introduction of ECN.
  379.  
  380.    A key issue concerns the vulnerability of ECN to non-compliant end-
  381.    nodes (i.e., end nodes that set the ECN-capable bit in packets, but
  382.    do not respond to the ECN bit itself).  These concerns exist even in
  383.    non-ECN environments.  An end-node could "turn off congestion
  384.    control" by not reducing its congestion window in response to packet
  385.    drops.  We recognize that this is a concern for the current Internet.
  386.    It has been argued that routers will have to deploy mechanisms to
  387.    detect and differentially treat packets from non-compliant flows.  It
  388.    is likely that techniques such as end-to-end per-flow scheduling and
  389.    isolation of one flow from another, potentially accompanied by end-
  390.    to-end reservations, could mitigate such effects. Such isolation
  391.  
  392.  
  393. Ramakrishnan and Floyd       Informational                      [Page 7]
  394.  
  395.  
  396. draft-kksjf-ecn     Addition of ECN to IPv6 and TCP        November 1997
  397.  
  398.  
  399.    mechanisms could remove some of the more egregious effects of non-
  400.    compliance.
  401.  
  402.    However, even in networks just restricted to packet losses as an
  403.    indication of congestion, several methods have been proposed to
  404.    identify and treat non-compliant or unresponsive flows.  These
  405.    mechanisms would be equally applicable for identifying flows that do
  406.    not respond to ECN.  If anything, routers would have a slightly
  407.    easier time identifying flows that do not respond to ECN.  For
  408.    example, routers can observe packets arriving at the router with the
  409.    ECN bit set, as well as keeping note of packets that have the ECN bit
  410.    set at that router itself.
  411.  
  412.    It has been argued that dropping packets in itself may be considered
  413.    a deterrrent for non-compliance.  However, we believe that the packet
  414.    drop rates are likely to be reasonably low in environments where ECN
  415.    is deployed.  The reduction in load due to packet drops to deal with
  416.    non-compliant nodes is likely to be small.  The control of congestion
  417.    is more likely to come from end-nodes reacting to congestion - either
  418.    from responding to dropped packets or ECN Notify indications and
  419.    halving the window.  ECN should be used at a router when the average
  420.    queue size is below some high threshold; when the average queue size
  421.    exceeds the high threshold, and therefore packet drop/marking rates
  422.    are higher, our recommendation is that routers drop packets, rather
  423.    then setting the ECN bit in packet headers.  Thus, in scenarios with
  424.    low packet drop rates, the fact that the congestion control
  425.    indications are in the form of packet drops rather than ECN bits does
  426.    not significantly change the negative consequences on the compliant
  427.    flows because of some flow "turning off" congestion control.
  428.  
  429.    We also do not believe that packet dropping itself is an effective
  430.    deterrent for non-compliance.  Many flows that retransmit dropped
  431.    packets could have an incentive to maintain or even increase their
  432.    sending rate in response to packet drops, rather than decreasing
  433.    their sending rate, in the absence of mechanisms at the router to
  434.    provide a negative deterrance for such behavior.  For example, flows
  435.    that use unreliable transport protocols could simply increase their
  436.    use of FEC in response to an increased packet drop rate, and might
  437.    choose increased FEC and no congestion control.  We believe that the
  438.    effect of packet dropping as a deterrence for non-compliance with
  439.    congestion control mechanisms is quite small.  The possibility of
  440.    non-compliant flows does not offer a compelling reason not to deploy
  441.    ECN.
  442.  
  443. 9. Additional Considerations
  444.  
  445.    Some care is required to handle the ECN and ECN-Capable bits
  446.    appropriately when packets are encapsulated and un-encapsulated for
  447.  
  448.  
  449. Ramakrishnan and Floyd       Informational                      [Page 8]
  450.  
  451.  
  452. draft-kksjf-ecn     Addition of ECN to IPv6 and TCP        November 1997
  453.  
  454.  
  455.    tunnels.  When the router at the end of the tunnel decapsulates the
  456.    packet, then the ECN bit in the encapsulating ('outside') header
  457.    should be ORed with the ECN bit in the encapsulated ('inside') header
  458.    that remains.  Basically, a 1 in the encapsulating header should be
  459.    copied into the encapsulated header.
  460.  
  461.    An additional issue concerns packets that have the ECN bit set at one
  462.    router, and are later dropped at another router.  For the proposed
  463.    use for ECN in this paper (that is, for data packets for TCP), this
  464.    is not a concern, because end nodes detect dropped data packets, and
  465.    the congestion response of the end nodes to a dropped data packet is
  466.    at least as strong as the congestion response to a packet received
  467.    with the ECN bit set.  This issue will have to be addressed if ECN
  468.    and ECN-Capable bits are used on pure ACK packets, because in current
  469.    implementations of TCP the drop of an ACK packet is not explicitly
  470.    detected by the end nodes.
  471.  
  472.    If a packet with the ECN bit is later dropped due to corruption (bit
  473.    errors), the end node should still invoke congestion control, just as
  474.    TCP would today, to a dropped data packet.  This issue would also
  475.    have to be addressed in future proposals for distinguishing between
  476.    packets dropped due to corruption and packets dropped due to
  477.    congestion.
  478.  
  479. 10. Conclusions
  480.  
  481.    Given the current effort to implement RED, we believe this is the
  482.    right time for router vendors to examine how to also implement
  483.    congestion avoidance mechanisms that do not depend on packet drops
  484.    alone.  With the growth of applications and transports that are
  485.    sensitive to delay and loss of a single packet, depending on packet
  486.    loss as a normal congestion notification mechanism appears to be
  487.    insufficient (or at the very least, non-optimal).
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505. Ramakrishnan and Floyd       Informational                      [Page 9]
  506.  
  507.  
  508. draft-kksjf-ecn     Addition of ECN to IPv6 and TCP        November 1997
  509.  
  510.  
  511. REFERENCES
  512.  
  513.    [FJ93] Floyd, S., and Jacobson, V., "Random Early Detection gateways
  514.    for Congestion Avoidance", IEEE/ACM Transactions on Networking, V.1
  515.    N.4, August 1993, p. 397-413.  URL
  516.    "ftp://ftp.ee.lbl.gov/papers/early.pdf".
  517.  
  518.    [Floyd94] Floyd, S., "TCP and Explicit Congestion Notification", ACM
  519.    Computer Communication Review, V. 24 N. 5, October 1994, p. 10-23.
  520.    URL "ftp://ftp.ee.lbl.gov/papers/tcp_ecn.4.ps.Z".
  521.  
  522.    [Floyd97] Floyd, S., and Fall, K., "Router Mechanisms to Support
  523.    End-to-End Congestion Control", Technical report, February 1997.  URL
  524.    "ftp://ftp.ee.lbl.gov/papers/collapse.ps".
  525.  
  526.    [FRED] Lin, D., and Morris, R., "Dynamics of Random Early Detection",
  527.    SIGCOMM '97, September 1997.  URL
  528.    "http://www.inria.fr/rodeo/sigcomm97/program.html#ab078".
  529.  
  530.    [Jacobson88] V. Jacobson, "Congestion Avoidance and Control", Proc.
  531.    ACM SIGCOMM '88, pp. 314-329.  URL
  532.    "ftp://ftp.ee.lbl.gov/papers/congavoid.ps.Z".
  533.  
  534.    [Jacobson90] V. Jacobson, "Modified TCP Congestion Avoidance
  535.    Algorithm", Message to end2end-interest mailing list, April 1990.
  536.    URL "ftp://ftp.ee.lbl.gov/email/vanj.90apr30.txt".
  537.  
  538.    [RED-ietf-draft] B. Braden, D. Clark, J. Crowcroft, B. Davie, S.
  539.    Deering, D. Estrin, S. Floyd, V. Jacobson, G. Minshall, C. Partridge,
  540.    L. Peterson, K. Ramakrishnan, S. Shenker, J. Wroclawski, L. Zhang,
  541.    "Recommendations on Queue Management and Congestion Avoidance in the
  542.    Internet", Internet draft draft-irtf-e2e-queue-mgt-00.txt, March 25,
  543.    1997.
  544.  
  545.    [RFC2001] W. Stevens, "TCP Slow Start, Congestion Avoidance, Fast
  546.    Retransmit, and Fast Recovery Algorithms", RFC 2001, January 1997.
  547.  
  548.    [RJ90] K. K. Ramakrishnan and Raj Jain, "A Binary Feedback Scheme for
  549.    Congestion Avoidance in Computer Networks", ACM Transactions on
  550.    Computer Systems, Vol.8, No.2, pp. 158-181, May 1990.
  551.  
  552. SECURITY CONSIDERATIONS
  553.  
  554.    Security issues are not discussed in this document.
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561. Ramakrishnan and Floyd       Informational                     [Page 10]
  562.  
  563.  
  564. draft-kksjf-ecn     Addition of ECN to IPv6 and TCP        November 1997
  565.  
  566.  
  567. AUTHORS' ADDRESSES
  568.  
  569.  
  570.    K. K. Ramakrishnan
  571.    AT&T Labs. Research
  572.    Phone: +1 (973) 360-8766
  573.    Email: kkrama@research.att.com
  574.    URL: http://www.research.att.com/info/kkrama
  575.  
  576.    Sally Floyd
  577.    Lawrence Berkeley National Laboratory
  578.    Phone: +1 (510) 486-7518
  579.    Email: floyd@ee.lbl.gov
  580.    URL: http://www-nrg.ee.lbl.gov/floyd/
  581.  
  582.  
  583.    This draft was created in November 1997.
  584.    It expires May 1998.
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617. Ramakrishnan and Floyd       Informational                     [Page 11]
  618.  
  619.