< draft-ietf-conex-abstract-mech-04bis.txt   draft-ietf-conex-abstract-mech-04bis-BB-editorial.txt >
Congestion Exposure (ConEx) Working M. Mathis Congestion Exposure (ConEx) M. Mathis
Group Google, Inc Working Group Google, Inc
Internet-Draft B. Briscoe Internet-Draft B. Briscoe
Intended status: Informational BT Intended status: Informational BT
Expires: September 13, 2012 March 12, 2012 Expires: January 16, 2013 July 15, 2012
Congestion Exposure (ConEx) Concepts and Abstract Mechanism Congestion Exposure (ConEx) Concepts and Abstract Mechanism
draft-ietf-conex-abstract-mech-04bis draft-ietf-conex-abstract-mech-04bis
Abstract Abstract
This document describes an abstract mechanism by which senders inform This document describes an abstract mechanism by which senders inform
the network about the congestion encountered by packets earlier in the network about the congestion encountered by packets earlier in
the same flow. Today, network elements at any layer may signal the same flow. Today, network elements at any layer may signal
congestion to the receiver by dropping packets or by ECN markings, congestion to the receiver by dropping packets or by ECN markings,
skipping to change at page 1, line 44 skipping to change at page 1, line 44
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 13, 2012. This Internet-Draft will expire on January 16, 2013.
Copyright Notice Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 4, line 9 skipping to change at page 4, line 9
In both cases the congestion signals follow the route indicated in In both cases the congestion signals follow the route indicated in
Figure 1. A congested network device sends a signal in the data Figure 1. A congested network device sends a signal in the data
stream on the forward path to the transport receiver, the receiver stream on the forward path to the transport receiver, the receiver
passes it back to the sender through transport level feedback, and passes it back to the sender through transport level feedback, and
the sender makes some congestion control adjustment. the sender makes some congestion control adjustment.
This document extends the capabilities of the Internet protocol suite This document extends the capabilities of the Internet protocol suite
with the addition of a new Congestion Exposure signal. To a first with the addition of a new Congestion Exposure signal. To a first
approximation this signal, also shown in Figure 1, relays the approximation this signal, also shown in Figure 1, relays the
congestion information from the transport sender back through the congestion information from the transport sender back through the
internetwork layer where it is visible to all internetwork layer internetwork layer where it is visible to any interested internetwork
devices along the forward path. This document frames the engineering layer devices along the forward path. This document frames the
problem of designing the ConEx signal. The requirements are engineering problem of designing the ConEx signal. The requirements
described in Section 3 and some example encoding are presented in are described in Section 3 and some example encoding are presented in
Section 4. Section 5 describes all of the protocol components. Section 4. Section 5 describes all of the protocol components.
This new signal is expressly designed to support a variety of new This new signal is expressly designed to support a variety of new
policy mechanisms that might be used to instrument, monitor or manage policy mechanisms that might be used to instrument, monitor or manage
traffic. The policy devices are not shown in Figure 1 but might be traffic. The policy devices are not shown in Figure 1 but might be
placed anywhere along the forward data path. They are described in placed anywhere along the forward data path. They are described in
Section 5.4 Section 5.4
,---------. ,---------. ,---------. ,---------.
|Transport| |Transport| |Transport| |Transport|
skipping to change at page 5, line 8 skipping to change at page 5, line 8
respectively. respectively.
Figure 1 Figure 1
Since the policy devices can affect how traffic is treated it is Since the policy devices can affect how traffic is treated it is
assumed that there is an intrinsic motivation for users, applications assumed that there is an intrinsic motivation for users, applications
or operating systems to understate the congestion that they are or operating systems to understate the congestion that they are
causing. It is important to be able to audit ConEx signals, and to causing. It is important to be able to audit ConEx signals, and to
be able apply sufficient sanction to discourage cheating of be able apply sufficient sanction to discourage cheating of
congestion policies. The general approach to auditing is to count congestion policies. The general approach to auditing is to count
and compare congestion signals and ConEx signals on the forward path. signals on the forward path to check that there are never less ConEx
Many ConEx design constraints come from the need to assure that the signals than actual congestion signals. Many ConEx design
audit function is sufficiently robust. The audit function is constraints come from the need to assure that the audit function is
described in Section 5.5, however significant portions of this sufficiently robust. The audit function is described in Section 5.5,
document (and prior research[Refb-dis]) is motivated by issues however significant portions of this document (and prior
relating to the audit function and making it robust. research[Refb-dis]) is motivated by issues relating to the audit
function and making it robust.
The congestion and ConEx signals shown in Figure 1 represent a series The congestion and ConEx signals shown in Figure 1 represent a series
of discrete events: ECN marks or lost packets, carried by the forward of discrete events: ECN marks or lost packets, carried by the forward
data stream and fed back into the Internetwork layer. The policy and data stream and fed back into the Internetwork layer. The policy and
audit functions are most likely to act on the accumulated values of audit functions are most likely to act on the accumulated values of
these signals, for which we use the term "volume". For example these signals, for which we use the term "volume". For example
traffic volume is the total number of bytes delivered, optionally traffic volume is the total number of bytes delivered, optionally
over a specified time interval and over some aggregate of traffic over a specified time interval and over some aggregate of traffic
(e.g. all traffic from a site). While loss-volume is the total (e.g. all traffic from a site). While loss-volume is the total
amount of bytes discarded from some aggregate over an interval. The amount of bytes discarded from some aggregate over an interval. The
term congestion-volume is defined precisely in term congestion-volume is defined precisely in
[I-D.ietf-conex-concepts-uses]. Note that volume per unit time is a [I-D.ietf-conex-concepts-uses]. Note that volume per unit time is
rate. (average) rate.
One of the design goals of the ConEx protocol is that none of the One of the design goals of the ConEx protocol is that none of the
important policy mechanisms requires per flow state, and that policy important policy mechanisms requires per flow state, and that policy
mechanisms can be implemented for heavily aggregated traffic in the mechanisms can be implemented for heavily aggregated traffic in the
core of the Internet with complexity akin to accumulating marking core of the Internet with complexity akin to accumulating marking
volumes per logical link. Ideally it would also be possible to audit volumes per logical link. Ideally it would also be possible to audit
ConEx signals without per flow state, however this is not always ConEx signals without per flow state, however this is not always
possible. Since auditing can be done near the edges of the network possible. Since auditing can be done near the edges of the network
where traffic is less aggregated, per flow state is more easily where traffic is less aggregated, per flow state is more easily
tolerated. Also, the flow-state required for audit creates itself as tolerated. Also, the flow-state required for audit creates itself as
skipping to change at page 6, line 23 skipping to change at page 6, line 24
To be successful the ConEx protocol must have the property that the To be successful the ConEx protocol must have the property that the
relevant stakeholders each have the incentive to unilaterally start relevant stakeholders each have the incentive to unilaterally start
on each stage of partial deployment, which in turn creates incentives on each stage of partial deployment, which in turn creates incentives
for further deployment. Furthermore, legacy systems that will never for further deployment. Furthermore, legacy systems that will never
be upgraded do not become a barrier to deploying ConEx. Issues be upgraded do not become a barrier to deploying ConEx. Issues
relating to partial deployment are described in Section 6. relating to partial deployment are described in Section 6.
Note that ConEx signals are not intended to be used for fine-grained Note that ConEx signals are not intended to be used for fine-grained
congestion control. They are anticipated to be most useful at longer congestion control. They are anticipated to be most useful at longer
time scales, for example the total congestion caused by a user might time scales, for example the total congestion caused by a user might
be serve as an input to higher level policy or accountability serve as an input to higher level policy or accountability functions,
functions, designed to create incentives for improving user behavior, designed to create incentives for improving user behavior, such as
such as choosing to send large quantities of data at off peak times, choosing to send large quantities of data at off-peak times, at lower
at lower data rates or with less aggressive protocols such as data rates or with less aggressive protocols such as LEDBAT
LEDBAT[I-D.ietf-ledbat-congestion] (see [I-D.ietf-ledbat-congestion] (see [I-D.ietf-conex-concepts-uses]).
[I-D.ietf-conex-concepts-uses]).
Ultimately ConEx signals have the potential to provide a mechanism to Ultimately ConEx signals have the potential to provide a mechanism to
regulate global Internet congestion. From the earliest days of regulate global Internet congestion. From the earliest days of
congestion control research there has been a concern that there is no congestion control research there has been a concern that there is no
mechanism to prevent transport designers from incrementally making mechanism to prevent transport designers from incrementally making
protocols more aggressive without bound and spiraling to a "tragedy protocols more aggressive without bound and spiraling to a "tragedy
of the commons" Internet congestion collapse. The "TCP friendly" of the commons" Internet congestion collapse. The "TCP friendly"
paradigm was created in part to forestall this failure. However, it paradigm was created in part to forestall this failure. However, it
no longer commands any authority because it has little to say about no longer commands any authority because it has little to say about
the Internet of today, which has moved beyond the scaling range of the Internet of today, which has moved beyond the scaling range of
standard TCP. As a consequence, many transports and applications are standard TCP [RFC5681]. As a consequence, many transports and
opening arbitrarily large numbers of connections or using arbitrary applications are opening arbitrarily large numbers of connections or
levels of aggressiveness. ConEx represents a recognition that the using arbitrary levels of aggressiveness. ConEx represents a
IETF cannot regulate this space directly because it concerns the recognition that the IETF cannot regulate this space directly because
behaviour of users and applications, not individual transport it concerns the behaviour of users and applications, not individual
protocols. Instead the IETF can give network operators the protocol transport protocols. Instead the IETF can give network operators the
tools to arbitrate the space themselves, with better bulk traffic protocol tools to arbitrate the space themselves, with better bulk
management. This in turn should create incentives for users, and traffic management. This in turn should create incentives for users,
designers of application and of transport protocols to be more and designers of application and of transport protocols to be more
mindful about contributing to congesting. mindful about contributing to congesting.
2.1. Terminology 2.1. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
ConEx signals in IP packet headers from the sender to the network: ConEx signals in IP packet headers from the sender to the network:
Not-ConEx: The transport is not ConEx-capable. Not-ConEx: The transport (or at least this packet) is not ConEx-
capable.
ConEx-Capable: The transport is ConEx-Capable. This is the opposite ConEx-Capable: The transport is ConEx-Capable. This is the opposite
of Not-ConEx. of Not-ConEx.
ConEx Signal: A packet sent by a ConEx Capable transport. It ConEx Signal: A packet sent by a ConEx Capable transport. It
carries at least one of the following signals: carries at least one of the following signals:
Re-Echo-Loss: The transport has experienced a loss. Re-Echo-Loss: The transport has experienced a loss.
Re-Echo-ECN: The transport has experienced an ECN mark. Re-Echo-ECN: The transport has experienced an ECN mark.
Credit: The transport is building up credit to allow for any Credit: The transport is building up credit to allow for any
future delay in expected ConEx signals (see Section 5.5.1) future delay in expected ConEx signals (see Section 5.5.1)
ConEx-Not-Marked: The transport is ConEx-capable but is signaling ConEx-Not-Marked: The transport is ConEx-capable but is signaling
none of Re-Echo-Loss, Re-Echo-ECN or Credit. none of Re-Echo-Loss, Re-Echo-ECN or Credit.
skipping to change at page 8, line 14 skipping to change at page 8, line 14
c. The ConEx signal SHOULD be timely. There will be a minimum delay c. The ConEx signal SHOULD be timely. There will be a minimum delay
of one RTT, and often longer if the transport protocol sends of one RTT, and often longer if the transport protocol sends
infrequent feedback (consider RTCP [RFC3550] for example). This infrequent feedback (consider RTCP [RFC3550] for example). This
delay complicates auditing, and SHOULD be minimized. delay complicates auditing, and SHOULD be minimized.
d. The ConEx signal SHOULD be accurate and auditable. The general d. The ConEx signal SHOULD be accurate and auditable. The general
approach is to observe the volume of congestion signals and ConEx approach is to observe the volume of congestion signals and ConEx
signals on the forward data path and verify that the ConEx signals on the forward data path and verify that the ConEx
signals do not under-represent the congestion signals (see signals do not under-represent the congestion signals (see
Section 5.5). The simplest mechanism to compensate for the round Section 5.5). The simplest mechanism to compensate for the round
trip delay between the signals is to include a "credit" signal to trip delay between the signals is for the sender to include a
cover the yet to be observed congestion that might occur during "credit" signal to cover the yet to be observed congestion that
this delay. (see Section 5.5.1 for details). Furthermore, the might occur during this delay. (see Section 5.5.1 for details).
ConEx signals for packet loss and ECN marking SHOULD have Furthermore, the ConEx signals for packet loss and ECN marking
distinct encodings because they are likely to require different SHOULD have distinct encodings because they are likely to require
auditing techniques. different auditing techniques.
It is already known implementing ConEx signals is likely to entail It is already known that implementing ConEx signals is likely to
some compromises, and therefore all the requirements above are entail some compromises, and therefore all the requirements above are
expressed with the keyword 'SHOULD' rather than 'MUST'. The only expressed with the keyword 'SHOULD' rather than 'MUST'. The only
mandatory requirement is that a concrete protocol description MUST mandatory requirement is that a concrete protocol description MUST
give sound reasoning if it chooses not to meet some requirement. give sound reasoning if it chooses not to meet some requirement.
3.2. Requirements for the Audit Function 3.2. Requirements for the Audit Function
The role and constraints on the audit function are described in The role and constraints on the audit function are described in
Section 5.5. There is no intention to standardise the audit Section 5.5. There is no intention to standardise the audit
function. However, it is necessary to lay down the following function. However, it is necessary to lay down the following
normative constraints on audit behaviour so that transport designers normative constraints on audit behaviour so that transport designers
skipping to change at page 9, line 43 skipping to change at page 9, line 43
conversions or accounting; conversions or accounting;
D. If the units are bytes a definition of which headers are D. If the units are bytes a definition of which headers are
included in the size of the packet; included in the size of the packet;
E. How tunnels should propagate the ConEx encoding; E. How tunnels should propagate the ConEx encoding;
F. Whether the encoding fields are mutable or not, to ensure that F. Whether the encoding fields are mutable or not, to ensure that
header authentication, checksum calculation, etc. process them header authentication, checksum calculation, etc. process them
correctly. correctly.
G. Definition of any extensibility; G. Definition of any extensibility;
H. Backward and forward compatibility and potential migration H. Backward and forward compatibility and potential migration
strategies; strategies;
I. Any (hopefully optional) modification to data-plane forwarding I. Any (optional) modification to data-plane forwarding dependent
dependent on the encoding (e.g. preferential discard, on the encoding (e.g. preferential discard, interaction with
interaction with Diffserv, ECN etc.); Diffserv, ECN etc.);
J. Any warning or error messages relevant to the encoding. J. Any warning or error messages relevant to the encoding.
Transport Layer: Transport Layer:
A. A specification of any required changes to congestion feedback A. A specification of any required changes to congestion feedback
in particular transport protocols. in particular transport protocols.
B. A specification (or minimally a recommendation) for how a B. A specification (or minimally a recommendation) for how a
transport should estimate credits at the beginning of a new transport should estimate credits at the beginning of a new
connection. connection.
C. @@@More TBA, incl ops & management@@@ C. @@@More TBA, incl ops & management@@@
Security: Security:
skipping to change at page 11, line 21 skipping to change at page 11, line 21
disincentives for deployment. disincentives for deployment.
Nonetheless, this Naive encoding does present a clear mental model of Nonetheless, this Naive encoding does present a clear mental model of
how the ConEx protocol might function under various uses. It is how the ConEx protocol might function under various uses. It is
useful for thought experiments where it can be stipulated that all useful for thought experiments where it can be stipulated that all
participants are honest and it does illustrate some of the incentives participants are honest and it does illustrate some of the incentives
that might be introduced by ConEx. that might be introduced by ConEx.
4.2. Null Encoding 4.2. Null Encoding
In limited contexts is possible to implement ConEx like functions In limited contexts it is possible to implement ConEx-like functions
without any signals at all by measuring rest-of-path congestion without any signals at all by measuring rest-of-path congestion
directly from TCP headers. The algorithm is to keep at least one RTT directly from TCP headers. The algorithm is to keep at least one RTT
of past TCP headers and matching each new header against the history of past TCP headers and matching each new header against the history
to count duplicate data. to count duplicate data.
This could implement many ConEx policies, without any explicit This could implement many ConEx policies, without any explicit
protocol. It is fairly easy to implement, at least at low rate (e.g. protocol. It is fairly easy to implement, at least at low rate (e.g.
in a software based edge router). However, it would only be useful in a software based edge router). However, it would only be useful
in cases where the network operator can see the TCP headers. This is in cases where the network operator can see the TCP headers. This is
currently (2012) the vast majority of traffic because UDP, IPSEC and currently (2012) the vast majority of traffic because UDP, IPSEC and
VPN tunnels are used far less than SSL or TLS over TCP/IP, which do VPN tunnels are used far less than SSL or TLS over TCP/IP, which do
not hide TCP sequence numbers from network devices. However, anyone not hide TCP sequence numbers from network devices. However, anyone
specifically intending to avoid the attention of a congestion policy specifically intending to avoid the attention of a congestion policy
device would only have to hide their TCP headers from the network device would only have to hide their TCP headers from the network
operator (e.g. by using a VPN tunnel). operator (e.g. by using a VPN tunnel).
4.3. ECN Based Encoding 4.3. ECN Based Encoding
The re-ECN specification [I-D.briscoe-tsvwg-re-ecn-tcp] presents an The re-ECN specification [I-D.briscoe-conex-re-ecn-tcp] presents an
IPv4 implementation of ConEx that was tightly integrated with ECN encoding of ConEx in IPv4 and IPv6 that was tightly integrated with
encoding in order to fit into the IPv4 header. ConEx and ECN are the ECN encoding in order to fit into the IPv4 header. ConEx and ECN
orthogonal signals in the sense that any individual packet may need are orthogonal signals in the sense that any individual packet may
to represent any one of the 4 possible combinations of signal values. need to represent any one of the 4 possible combinations of signal
Ideally their encoding should be entirely independent. However, values. Ideally their encoding should be entirely independent.
given the limited number of header bit and/or code points, these However, given the limited number of header bits and/or code points,
signals had to partially share code points. re-ECN chooses to partially share code points between ConEx and ECN
and to re-echo both loss and ECN with just one codepoint.
The central theme of the re-ECN work was an audit mechanism that The central theme of the re-ECN work is an audit mechanism that
provides sufficient disincentives against misrepresenting congestion provides sufficient disincentives against misrepresenting congestion
[I-D.briscoe-tsvwg-re-ecn-motiv]. It is analyzed extensively in
[I-D.briscoe-conex-re-ecn-motiv]. It is analyzed extensively in
Briscoe's PhD dissertation [Refb-dis]. For a tutorial background on Briscoe's PhD dissertation [Refb-dis]. For a tutorial background on
re-ECN motivation and techniques, see [Re-fb, FairerFaster]. re-ECN motivation and techniques, see [Re-fb, FairerFaster].
Re-ECN is an example of one chosen set of compromises attempting to Re-ECN is an example of one chosen set of compromises attempting to
meet the requirements of Section 3. The present document takes a meet the requirements of Section 3. The present document takes a
step back, aiming to state the ideal requirements in order to allow step back, aiming to state the ideal requirements in order to allow
the Internet community to assess whether different compromises might the Internet community to assess whether different compromises might
be better. be better.
The problem with Re-ECN is that it requires that receivers be ECN The problem with Re-ECN is that it requires that receivers be ECN
enabled in addition to sender changes. Newer encodings overcome this enabled in addition to sender changes. Newer encodings
problem by being able to represent both loss and ECN based [I-D.ietf-conex-destopt] overcome this problem by being able to
congestion, and assuming that both signals must be supported represent loss and ECN based congestion separately.
indefinitely.
4.4. Independent Bits 4.4. Independent Bits
This encoding involves flag bits, each of which the sender can set This encoding involves flag bits, each of which the sender can set
independently to indicate to the network one of the following four independently to indicate to the network one of the following four
signals: signals:
ConEx (Not-ConEx) The transport is (or is not) using ConEx with this ConEx (Not-ConEx) The transport is (or is not) using ConEx with this
packet (the protocol MUST be arranged so that legacy transport packet (the protocol MUST be arranged so that legacy transport
senders implicitly send Not-ConEx) senders implicitly send Not-ConEx)
Re-Echo-Loss (Not-Re-Echo-Loss) The transport has (or has not) Re-Echo-Loss (Not-Re-Echo-Loss) The transport has (or has not)
skipping to change at page 13, line 51 skipping to change at page 13, line 51
[I-D.ietf-tsvwg-byte-pkt-congest] advises that congestion indications [I-D.ietf-tsvwg-byte-pkt-congest] advises that congestion indications
SHOULD be interpreted in units of bytes when responding to SHOULD be interpreted in units of bytes when responding to
congestion, at least on today's Internet. In any TCP implementation congestion, at least on today's Internet. In any TCP implementation
this is simple to achieve for varying size packets, given TCP SACK this is simple to achieve for varying size packets, given TCP SACK
tracks losses in bytes. If an encoding is specified in units of tracks losses in bytes. If an encoding is specified in units of
bytes, the encoding SHOULD also specify which headers to include in bytes, the encoding SHOULD also specify which headers to include in
the size of a packet. the size of a packet.
5. Congestion Exposure Components 5. Congestion Exposure Components
The components shown in Figure 1 are described in more detail. The components shown in Figure 1 as well as policy and audit are
described in more detail.
5.1. Network Devices (Not modified) 5.1. Network Devices (Not modified)
Congestion signals originate from network devices as they do today. Congestion signals originate from network devices as they do today.
A congested router, switch or other network device can discard or ECN A congested router, switch or other network device can discard or ECN
mark packets when it is congested. mark packets when it is congested.
5.2. Modified Senders 5.2. Modified Senders
The sending transport needs to be modified to send Congestion The sending transport needs to be modified to send Congestion
Exposure Signals in response to congestion feedback signals (For Exposure Signals in response to congestion feedback signals (e.g. for
example see [I-D.ietf-conex-tcp-modifications]). We want to permit the case of a TCP transport see [I-D.ietf-conex-tcp-modifications]).
ConEx without ECN (e.g. if the receiver does not support ECN). We want to permit ConEx without ECN (e.g. if the receiver does not
However, we want to encourage a ConEx sender to at least attempt to support ECN). However, we want to encourage a ConEx sender to at
negotiate ECN, because it is believed that ConEx without ECN is least attempt to negotiate ECN, because it is believed that ConEx
harder to audit, and thus potentially exposed to fraud. Since honest without ECN is harder to audit, and thus potentially exposed to
users have the potential to benefit from stronger mechanisms to cheating. Since honest users have the potential to benefit from
manage traffic they have an incentive to deploy ConEx and ECN stronger mechanisms to manage traffic they have an incentive to
together. This incentive is not sufficient to prevent a dishonest deploy ConEx and ECN together. This incentive is not sufficient to
user from constructing (or configuring) a sender that enables ConEx prevent a dishonest user from constructing (or configuring) a sender
after choosing not to negotiate ECN, but is should be sufficient to that enables ConEx after choosing not to negotiate ECN, but is should
prevent this from being the sustained default case for any be sufficient to prevent this from being the sustained default case
significant pool of users. for any significant pool of users.
Permitting ConEx without ECN is necessary to facilitate bootstrapping Permitting ConEx without ECN is necessary to facilitate bootstrapping
other parts of ConEx deployment. other parts of ConEx deployment.
5.3. Receivers (Optionally Modified) 5.3. Receivers (Optionally Modified)
Any receiving transport may already feedback sufficiently useful Any receiving transport may already feedback sufficiently useful
signals to the sender so that it does not need to be altered. signals to the sender so that it does not need to be altered.
If the transport receiver does not support ECN, then it's native loss If the transport receiver does not support ECN, then it's native loss
skipping to change at page 14, line 50 skipping to change at page 14, line 50
A traditional ECN implementation (RFC 3168 for TCP) signals A traditional ECN implementation (RFC 3168 for TCP) signals
congestion no more than once per round trip. The sender may require congestion no more than once per round trip. The sender may require
more precise feedback from the receiver otherwise it is at risk of more precise feedback from the receiver otherwise it is at risk of
appearing to be understating its ConEx Signals. appearing to be understating its ConEx Signals.
Ideally, ConEx should be added to a transport like TCP without Ideally, ConEx should be added to a transport like TCP without
mandatory modifications to the receiver. But an optional mandatory modifications to the receiver. But an optional
modification to the receiver could be recommended for precision (see modification to the receiver could be recommended for precision (see
[I-D.kuehlewind-tcpm-accurate-ecn]). This was the approach taken [I-D.kuehlewind-tcpm-accurate-ecn]). This was the approach taken
when adding re-ECN to TCP [I-D.briscoe-tsvwg-re-ecn-tcp]. when adding re-ECN to TCP [I-D.briscoe-conex-re-ecn-tcp].
5.4. Policy Devices 5.4. Policy Devices
Policy devices are characterised by a need to be configured with a Policy devices are characterised by a need to be configured with a
policy related to the users or neighboring networks being served. In policy related to the users or neighboring networks being served. In
contrast, the auditing devices referred to in the previous section contrast, auditing devices solely enforce compliance with the ConEx
primarily enforce compliance with the ConEx protocol and do not need protocol and do not need to be configured with any client-specific
to be configured with any client-specific policy. policy.
5.4.1. Congestion Monitoring Devices 5.4.1. Congestion Monitoring Devices
Policy devices can typically be decomposed into two functions i) Policy devices can typically be decomposed into two functions i)
monitoring the ConEx signal to compare it with a policy then ii) monitoring the ConEx signal to compare it with a policy then ii)
acting in some way on the result. Various actions might be invoked acting in some way on the result. Various actions might be invoked
against 'out of contract' traffic, such as policing (see against 'out of contract' traffic, such as policing (see
Section 5.4.3), re-routing, or downgrading the class of service. Section 5.4.3), re-routing, or downgrading the class of service.
Alternatively a policy device might not act directly on the traffic, Alternatively a policy device might not act directly on the traffic,
skipping to change at page 15, line 34 skipping to change at page 15, line 34
capacity upgrades, penalty clauses in contracts, levy charges based capacity upgrades, penalty clauses in contracts, levy charges based
on congestion, or merely send warnings to clients who are causing on congestion, or merely send warnings to clients who are causing
excessive congestion. excessive congestion.
Nonetheless, whatever action is invoked, the congestion monitoring Nonetheless, whatever action is invoked, the congestion monitoring
function will always be a necessary part of any policy device. function will always be a necessary part of any policy device.
5.4.2. Rest-of-Path Congestion Monitoring 5.4.2. Rest-of-Path Congestion Monitoring
ConEx signals indicate the level of congestion along a whole path ConEx signals indicate the level of congestion along a whole path
from source to destination. In contrast when ECN signals are from source to destination. In contrast, ECN signals monitored in
monitored in the middle of a network, they indicate the level of the middle of a network indicate the level of congestion experienced
congestion experienced so far on the path. so far on the path (of course, only in ECN-capable traffic).
If a monitor in the middle of a network (e.g. at a network border) If a monitor in the middle of a network (e.g. at a network border)
measures both of these signals, it can subtract the level of ECN measures both of these signals, it can subtract the level of ECN
(path so far) from the level of ConEx (whole path) to derive a (path so far) from the level of ConEx (whole path) to derive a
measure of the congestion that packets are likely to experience measure of the congestion that packets are likely to experience
between the monitoring point and their destination (rest-of-path between the monitoring point and their destination (rest-of-path
congestion). congestion).
It will often be preferable for policy devices to monitor rest-of- It will often be preferable for policy devices to monitor rest-of-
path congestion if they can, because it is a measure of the path congestion if they can, because it is a measure of the
downstream congestion that the policy device can directly influence downstream congestion that the policy device can directly influence
by controlling the traffic passing through it. by controlling the traffic passing through it.
5.4.3. Congestion Policers 5.4.3. Congestion Policers
A congestion policer can be implemented in a very similar way to a A congestion policer can be implemented in a very similar way to a
bit-rate policer, but its effect can be focused solely on traffic bit-rate policer, but its effect can be focused solely on traffic of
causing congestion downstream, which ConEx signals make visible. users causing congestion downstream, which ConEx signals make
Without ConEx signals, the only way to mitigate congestion is to visible. Without ConEx signals, the only way to mitigate congestion
blindly limit traffic bit-rate, on the assumption that high bit-rate is to blindly limit traffic bit-rate, on the assumption that high
is more likely to cause congestion. bit-rate is more likely to cause congestion.
A congestion policer monitors all ConEx traffic entering a network, A congestion policer monitors all ConEx traffic entering a network,
or some identifiable subset. Using ConEx signals (and preferably or some identifiable subset. Using ConEx signals (and preferably
subtracting ECN signals to yield rest-of-path congestion), it subtracting ECN signals to yield rest-of-path congestion), it
measures the amount of congestion that this traffic is contributing measures the amount of congestion that this traffic is contributing
somewhere downstream. If this exceeds a policy-configured somewhere downstream. If this persistently exceeds a policy-
'congestion-bit-rate' the congestion policer can limit all the configured 'congestion-bit-rate' the congestion policer can limit all
monitored ConEx traffic. the monitored ConEx traffic.
A congestion policer can be implemented by a simple token bucket. A congestion policer can be implemented by a simple token bucket
But unlike a bit-rate policer, it removes a token only when it applied to an aggregate. But unlike a bit-rate policer, it removes
forwards a packet that is ConEx-Marked, effectively treating Not- tokens only when it forwards packets that are ConEx-Marked,
ConEx-Marked packets as invisible. Consequently, because tokens give effectively treating Not-ConEx-Marked packets as invisible.
the right to send congested bits, the fill-rate of the token bucket Consequently, because tokens give the right to send congested bits,
will represent the allowed congestion-bit-rate. This should provide the fill-rate of the token bucket will represent the allowed
sufficient traffic management without having to additionally congestion-bit-rate. This should provide sufficient traffic
constrain the straight bit-rate at all. See [CongPol] for details. management without having to additionally constrain the straight bit-
rate at all. See [CongPol] for details.
Note that the policing action is to introduce a throttle (delay Note that the policing action is to introduce a throttle (delay
through traffic) immediately upstream of the congestion policer. through traffic) immediately upstream of the congestion policer.
This throttle is likely to include a queue with its own AQM, which This throttle could include a queue with its own AQM, which
potentially increases the whole path congestion. In effect the potentially increases the whole path congestion. In effect the
congestion policer has moved the congestion earlier in the path, to congestion policer has moved the congestion earlier in the path, and
protect downstream resources by reducing the congestion in the rest focused it on one user to protect downstream resources by reducing
of the path. the congestion in the rest of the path.
5.5. Audit 5.5. Audit
The most critical aspect of ConEx is the capability to support robust The most critical aspect of ConEx is the capability to support robust
auditing. It can be assumed that there will be an intrinsic auditing. It can be assumed that there will be an intrinsic
motivation for users to understate the congestion that they are motivation for users to understate the congestion that they are
causing. Without strong audit functions the ConEx signal is likely causing. Without strong audit functions the ConEx signal is likely
to become inaccurate to the point being useless. The most important to become inaccurate to the point of being useless. The most
feature of an encoding design is likely to be the robustness of the important feature of an encoding design is likely to be the
auditing it supports. robustness of the auditing it supports.
The general approach is to compare the volume of ConEx signals to The general approach is to compare the volume of ConEx signals to
direct measures of actual congestion volume. The technique described direct measures of actual congestion volume. The credit approach
in Section 5.5.1 can be used to guarantee that this is a strict described in Section 5.5.1 can be used to guarantee that this is a
bound: if the actual congestion exceeds the ConEx signal, then some strict bound: if the actual congestion exceeds the ConEx signal, then
congestion was understated and some sanction should be applied to the some congestion was understated and some sanction should be applied
traffic. Although sanctions are beyond the scope of this document, to the traffic. Although sanctions are beyond the scope of this
an example sanction might be to throttle the traffic immediately document, an example sanction might be to throttle the traffic
upstream of the auditor to prevent the user from getting any immediately upstream of the auditor to prevent the user from getting
advantage by understating congestion. Such a throttle would likely any advantage by understating congestion. Such a throttle would
include some combination of delaying, ECN marking or dropping likely include some combination of delaying or dropping traffic.
traffic.
This document does not preclude "statistical auditing", where the This document does not preclude "statistical auditing", where the
audit function indicates some sort of probability that a particular audit function indicates some sort of probability that a particular
flow is under reporting congestion, however this design choice flow is under-reporting congestion, however this design choice
greatly complicates designing an appropriate sanction, due to the greatly complicates designing an appropriate sanction, due to the
possibility of a false hit. possibility of a false hit.
To facilitate ConEx deployment, not-ConEx traffic might be treated as To facilitate ConEx deployment, not-ConEx traffic might be treated as
a special case of understating congestion, but with a different a special case of understating congestion, but with a different
sanction. For example an ISP might apply a data rate cap to not- sanction. For example an ISP might apply a data rate cap to not-
ConEx traffic, while applying a congestion volume cap to ConEx marked ConEx traffic, while applying a congestion volume cap to ConEx marked
traffic. With suitable parameters this is likely to give ConEx traffic. With suitable parameters this is likely to give ConEx
marked traffic a much larger share of the network during off peak marked traffic a much larger share of the network during off peak
hours. (Note that in this example the ConEx auditor is also acting hours. (Note that in this example the ConEx auditor is also acting
as a ConEx policy device.) Another option to facilitate deployment as a ConEx policy device.) Another option to facilitate deployment
is for the auditor to act as a ConEx proxy, and insert ConEx signals is for the auditor to act as a ConEx proxy, and insert ConEx signals
in packets in behalf of the sender. Such a device is outside of the in packets on behalf of the sender. Such a device is outside of the
scope of this document, but nonetheless potentially useful for scope of this document, but nonetheless potentially useful for
supporting ConEx for legacy systems. supporting ConEx for legacy systems.
Auditing can be distributed and redundant. One flow may be audited Auditing can be distributed and redundant. One flow may be audited
in multiple places, using multiple techniques. Some audit techniques in multiple places, using multiple techniques. Some audit techniques
do not require any per flow state and can be applied to aggregate do not require any per flow state and can be applied to aggregate
traffic. These might be able to detect the presence of understated traffic. These might be able to detect the presence of understated
congestion at large scale and support recursively hunting for congestion at large scale and support recursively hunting for
individual flows that are understating their congestion. Even at individual flows that are understating their congestion. Even at
large scales, flows can be randomly selected for individual auditing. large scales, flows can be randomly selected for individual auditing.
The auditing function should be able to trigger sufficient sanction The auditing function should be able to trigger sufficient sanction
to discourage understating congestion[Salvatori05]. This potentially to discourage understating congestion [Salvatori05]. This
requires designing the sanction in consort with the policy functions, potentially requires designing the sanction in concert with the
even though they might be implemented in different parts of the policy functions, even though they might be implemented in different
network. Note that in the future it might prove to be desirable to parts of the network. Note that in the future it might prove to be
provide advise on uniformly implementing sanctions, because desirable to provide advice on uniformly implementing sanctions,
insufficient sanctions impairs the ability to implement policy because insufficient sanctions impairs the ability to implement
elsewhere in the network. policy elsewhere in the network.
Some of the audit algorithms require per flow state. This cost is Some of the audit algorithms require per flow state. This cost is
expected to be tolerable, because these techniques are most apropos expected to be tolerable, because these techniques are most apropos
near the edges of the network, where traffic is generally much less near the edges of the network, where traffic is generally much less
aggregated, so the state need not overwhelm any one device. Sampling aggregated, so the state need not overwhelm any one device. Sampling
techniques can also be used to bound the total auditing memory techniques can also be used to bound the total auditing memory
footprint, although the implementer must be wary of "identifier white footprint, although the implementer must be wary of "identifier white
washing" attacks to hide cheating connection among chaff. washing when caught" tactics where a source cheats until caught by
sampling, then simply discards that flow ID and starts cheating with
a new one.
At some point in the future, when ConEx is built into all transport At some point in the future, when ConEx is built into all transport
protocol implementations, it may not be necessary to audit all protocol implementations, it may not be necessary to audit all
traffic all the time. Auditing might be needed only to identify traffic all the time. Auditing might be needed only to identify
rogue actors and prevent them from gaining any long term advantage by rogue actors and prevent them from gaining any long term advantage by
cheating. cheating.
A ConEx auditor might use one of the following techniques: A ConEx auditor might use one of the following techniques:
ECN Auditing: Directly observe and compare the volume of ECN and ECN Auditing: Directly observe and compare the volume of ECN and
ConEx marks. Since the volume of ECN marks rises monotonically ConEx marks. Since the volume of ECN marks rises monotonically
skipping to change at page 18, line 32 skipping to change at page 18, line 34
TCP-specific loss auditing: For non-encrypted standard TCP traffic TCP-specific loss auditing: For non-encrypted standard TCP traffic
on a single path, an auditor could measure losses by detecting on a single path, an auditor could measure losses by detecting
retransmissions, which appear as duplicate sequence numbers retransmissions, which appear as duplicate sequence numbers
upstream of the loss and out of order data downstream of the loss. upstream of the loss and out of order data downstream of the loss.
Since some reordering is present in the Internet, such a loss Since some reordering is present in the Internet, such a loss
estimator would be most accurate near the sender. estimator would be most accurate near the sender.
Predominant bottleneck loss auditing: For networks designed so that Predominant bottleneck loss auditing: For networks designed so that
losses predominantly occur due to Active Queue Management under losses predominantly occur due to Active Queue Management under
the control of one IP-aware node on the path, the auditor could be the control of one IP-aware node on the path, the auditor could be
located at this bottleneck. It could simply compare ConEx Signals located at this bottleneck. It could simply compare ConEx Signals
with actual local packet discards (or ECN marks). This is a good with actual local packet discards (and ECN marks). This is a good
model for most consumer access networks where audit accuracy could model for most consumer access networks where audit accuracy could
well be sufficient even if losses occasionally occur elsewhere in well be sufficient even if losses occasionally occur elsewhere in
the network. the network.
Although the auditor at the predominant bottleneck would not be Although the auditor at the predominant bottleneck would not be
able to count losses at other nodes, transports would not know able to count losses at other nodes, transports would not know
where losses were occurring either. Therefore a transport would where losses were occurring either. Therefore a transport would
not know which losses it could cheat and which ones it couldn't not know which losses it could cheat and which ones it couldn't
without getting caught. without getting caught.
skipping to change at page 19, line 15 skipping to change at page 19, line 17
ConEx. ConEx.
In addition, other audit techniques may be identified in the future. In addition, other audit techniques may be identified in the future.
5.5.1. Using Credit to Simplify Audit 5.5.1. Using Credit to Simplify Audit
At the audit function, there will be an inherent delay of at least At the audit function, there will be an inherent delay of at least
one round trip between a congestion signal and the subsequent ConEx one round trip between a congestion signal and the subsequent ConEx
signal it triggers, as shown in Figure 1. However, the audit signal it triggers, as shown in Figure 1. However, the audit
function cannot be expected to wait for a round trip to check that function cannot be expected to wait for a round trip to check that
one signal balances the other, because that requires excessive state one signal balances the other, because that requires excessive state
and the auditor can't easily determine the RTT of each transport. and the auditor can't easily determine the RTT of each flow.
The simplest mechanism to compensate for the round trip delay between The simplest mechanism to compensate for the round trip delay between
the signals is to have the sender include a "credit" signal to cover the signals is to have the sender include a "credit" signal to cover
the yet to be observed congestion that might occur during this delay. the yet to be observed congestion that might occur during this delay.
The transport signals sufficient credit in advance to cover The transport signals sufficient credit in advance to cover
congestion expected during its feedback delay. Then, the audit congestion expected during its feedback delay. Then, the audit
function does not need to make allowance for round trip delays that function does not need to make allowance for round trip delays that
it cannot quantify. This design choice correctly makes the transport it cannot quantify. This design choice correctly makes the transport
responsible for both minimizing feedback delay and for the risk that responsible for both minimizing feedback delay and for the risk that
packets in flight will cause congestion to others before the source packets in flight will cause congestion to others before the source
skipping to change at page 20, line 46 skipping to change at page 20, line 46
This greater freedom acts as an inducement for the source to This greater freedom acts as an inducement for the source to
volunteer ConEx information. volunteer ConEx information.
Receivers: A ConEx source should be able to work without a modified Receivers: A ConEx source should be able to work without a modified
receiver. However, without sufficiently precise congestion receiver. However, without sufficiently precise congestion
feedback from the receiver, the source may have to conservatively feedback from the receiver, the source may have to conservatively
send extra ConEx markings in order to avoid understating send extra ConEx markings in order to avoid understating
congestion. The need for more precise receiver feedback is not congestion. The need for more precise receiver feedback is not
exclusive to ConEx, for instance Data Centre TCP (DCTCP [DCTCP]) exclusive to ConEx, for instance Data Centre TCP (DCTCP [DCTCP])
uses precise feedback to good effect. Nonetheless, if a receiver uses precise feedback to good effect. Nonetheless, if a receiver
offers precise feedback, it will be best if ConEx uses it (see offers precise feedback, it will be best if ConEx uses it (see
Section 5.3). Section 5.3) and [I-D.kuehlewind-tcpm-accurate-ecn].
Proxies: Although it was stated above that ConEx requires a Proxies: Although it was stated above that ConEx requires a
modification to the source, ConEx signals could theoretically be modification to the source, ConEx signals could theoretically be
introduced by a proxy for the source, as long as it can intercept introduced by a proxy for the source, as long as it can intercept
feedback from the receiver. Similarly, more precise feedback feedback from the receiver. Similarly, more precise feedback
could thoretically be provided by a proxy for the receiver rather could thoretically be provided by a proxy for the receiver rather
than modifying the receiver itself. than modifying the receiver itself.
Queues: No modification to queues is needed for ConEx. Forwarding: No modification to forwarding or queuing is needed for
ConEx.
However, once ConEx is deployed, it is possible that a queue However, once ConEx is deployed, it is possible that a queue
implementation could take advantage of the ConEx information in implementation could optionally take advantage of the ConEx
packets. For instance, it has been suggested information in packets. For instance, it has been suggested
[I-D.briscoe-tsvwg-re-ecn-tcp] that a queue would be more robust [I-D.briscoe-conex-re-ecn-tcp] that a queue would be more robust
against flooding if it preferentially discarded Not-ConEx packets against flooding if it preferentially discarded Not-ConEx packets
then Not-Marked ConEx packets. then Not-Marked ConEx packets.
A ConEx sender re-echoes congestion whether the queues signaling A ConEx sender re-echoes congestion whether the queues signaling
congestion are ECN-enabled or not. Nonetheless, auditing works congestion are ECN-enabled or not. Nonetheless, auditing works
best if most congestion is indicated by ECN rather than loss (see best if most congestion is indicated by ECN rather than loss (see
Section 3). Also, monitoring rest-of-path congestion is not Section 3). Also, monitoring rest-of-path congestion is not
accurate if there are congested non-ECN queues upstream of the accurate if there are congested non-ECN queues upstream of the
monitoring point (Section 5.4.2). monitoring point (Section 5.4.2).
Networks: If a subset of traffic sources (or proxies) use ConEx Networks: If a subset of traffic sources (or proxies) use ConEx
skipping to change at page 21, line 37 skipping to change at page 21, line 38
ConEx marked packets may safely traverse a network that ignores ConEx marked packets may safely traverse a network that ignores
them. Networks MUST NOT change ConEx marked packets to Not-ConEx. them. Networks MUST NOT change ConEx marked packets to Not-ConEx.
If necessary, endpoints SHOULD be able to detect if a network is If necessary, endpoints SHOULD be able to detect if a network is
removing ConEx signals. removing ConEx signals.
An operator can deploy policy devices (Section 5.4) wherever An operator can deploy policy devices (Section 5.4) wherever
traffic enters its network, in order to monitor the downstream traffic enters its network, in order to monitor the downstream
congestion that incoming traffic contributes to, and control it if congestion that incoming traffic contributes to, and control it if
necessary. See [I-D.ietf-conex-concepts-uses] for further necessary. See [I-D.ietf-conex-concepts-uses] for further
discussion of deployment incentives for networks and scenarios discussion of deployment incentives for networks and scenarios
where some networks use ConEx-based policy devices and other where some networks use ConEx-based policy devices and others
don't. don't.
An operator can deploy audit devices Section 5.5 unilaterally An operator can deploy audit devices (Section 5.5) unilaterally
within its own network to verify that traffic sources are not within its own network to verify that traffic sources are not
understating ConEx information. From the viewpoint of one network understating ConEx information. From the viewpoint of one network
operator (say N_a), it only cares that the level of ConEx operator (say N_a), it only cares that the level of ConEx
signaling is sufficient to cover congestion in its own network. signaling is sufficient to cover congestion in its own network.
If traffic continues into a congested downstream network (say If traffic continues into a congested downstream network (say
N_b), it is of no concern to the first network (N_a) if the end- N_b), it is of no concern to the first network (N_a) if the end-
to-end ConEx signaling is insufficient to cover the congestion in to-end ConEx signaling is insufficient to cover the congestion in
N_b as well. This is N-b's concern, and N_b can both detect such N_b as well. This is N_b's concern, and N_b can both detect such
anomalous traffic and deal with it using ConEx-based policy anomalous traffic and deal with it using ConEx-based policy
devices (Section 5.4). devices (Section 5.4).
7. IANA Considerations 7. IANA Considerations
This memo includes no request to IANA. This memo includes no request to IANA.
Note to RFC Editor: this section may be removed on publication as an Note to RFC Editor: this section may be removed on publication as an
RFC. RFC.
skipping to change at page 23, line 33 skipping to change at page 23, line 33
www.statslab.cam.ac.uk/~frank/ www.statslab.cam.ac.uk/~frank/
evol.html>. evol.html>.
[FairerFaster] Briscoe, B., "A Fairer, Faster [FairerFaster] Briscoe, B., "A Fairer, Faster
Internet Protocol", IEEE Internet Protocol", IEEE
Spectrum Dec 2008:38--43, Spectrum Dec 2008:38--43,
December 2008, <http:// December 2008, <http://
bobbriscoe.net/projects/ bobbriscoe.net/projects/
refb/#fairfastip>. refb/#fairfastip>.
[I-D.briscoe-tsvwg-re-ecn-motiv] Briscoe, B., Jacquet, A., [I-D.briscoe-conex-re-ecn-motiv] Briscoe, B., Jacquet, A.,
Moncaster, T., and A. Smith, "Re- Moncaster, T., and A. Smith, "Re-
ECN: A Framework for adding ECN: A Framework for adding
Congestion Accountability to Congestion Accountability to
TCP/IP", draft-briscoe-tsvwg-re- TCP/IP", draft-briscoe-conex-re-
ecn-tcp-motivation-02 (work in ecn-motiv-00 (work in progress),
progress), October 2010. April 2012.
[I-D.briscoe-tsvwg-re-ecn-tcp] Briscoe, B., Jacquet, A., [I-D.briscoe-conex-re-ecn-tcp] Briscoe, B., Jacquet, A.,
Moncaster, T., and A. Smith, "Re- Moncaster, T., and A. Smith, "Re-
ECN: Adding Accountability for ECN: Adding Accountability for
Causing Congestion to TCP/IP", Causing Congestion to TCP/IP",
draft-briscoe-tsvwg-re-ecn-tcp-09 draft-briscoe-conex-re-ecn-tcp-00
(work in progress), October 2010. (work in progress), April 2012.
[I-D.ietf-conex-concepts-uses] Briscoe, B., Woundy, R., and A. [I-D.ietf-conex-concepts-uses] Briscoe, B., Woundy, R., and A.
Cooper, "ConEx Concepts and Use Cooper, "ConEx Concepts and Use
Cases", Cases",
draft-ietf-conex-concepts-uses-04 draft-ietf-conex-concepts-uses-03
(work in progress), March 2012. (work in progress), October 2011.
[I-D.ietf-conex-destopt] Krishnan, S., Kuehlewind, M., and [I-D.ietf-conex-destopt] Krishnan, S., Kuehlewind, M., and
C. Ucendo, "IPv6 Destination C. Ucendo, "IPv6 Destination
Option for Conex", Option for Conex",
draft-ietf-conex-destopt-02 (work draft-ietf-conex-destopt-01 (work
in progress), March 2012. in progress), October 2011.
[I-D.ietf-conex-tcp-modifications] Kuehlewind, M. and R. [I-D.ietf-conex-tcp-modifications] Kuehlewind, M. and R.
Scheffenegger, "TCP modifications Scheffenegger, "TCP modifications
for Congestion Exposure", draft- for Congestion Exposure", draft-
ietf-conex-tcp-modifications-00 ietf-conex-tcp-modifications-02
(work in progress), (work in progress), May 2012.
December 2011.
[I-D.ietf-ledbat-congestion] Shalunov, S., Hazel, G., Iyengar, [I-D.ietf-ledbat-congestion] Shalunov, S., Hazel, G., Iyengar,
J., and M. Kuehlewind, "Low Extra J., and M. Kuehlewind, "Low Extra
Delay Background Transport Delay Background Transport
(LEDBAT)", (LEDBAT)",
draft-ietf-ledbat-congestion-09 draft-ietf-ledbat-congestion-06
(work in progress), October 2011. (work in progress), May 2011.
[I-D.ietf-tsvwg-byte-pkt-congest] Briscoe, B. and J. Manner, "Byte [I-D.ietf-tsvwg-byte-pkt-congest] Briscoe, B. and J. Manner, "Byte
and Packet Congestion and Packet Congestion
Notification", draft-ietf-tsvwg- Notification", draft-ietf-tsvwg-
byte-pkt-congest-07 (work in byte-pkt-congest-07 (work in
progress), February 2012. progress), February 2012.
[I-D.kuehlewind-tcpm-accurate-ecn] Kuehlewind, M. and R. [I-D.kuehlewind-tcpm-accurate-ecn] Kuehlewind, M. and R.
Scheffenegger, "Accurate ECN Scheffenegger, "Accurate ECN
Feedback in TCP", draft- Feedback Option in TCP", draft-
kuehlewind-tcpm-accurate-ecn-00 kuehlewind-tcpm-accurate-ecn-
(work in progress), option-01 (work in progress),
December 2011. July 2012.
[RFC3448] Handley, M., Floyd, S., Padhye, [RFC3448] Handley, M., Floyd, S., Padhye,
J., and J. Widmer, "TCP Friendly J., and J. Widmer, "TCP Friendly
Rate Control (TFRC): Protocol Rate Control (TFRC): Protocol
Specification", RFC 3448, Specification", RFC 3448,
January 2003. January 2003.
[RFC3514] Bellovin, S., "The Security Flag [RFC3514] Bellovin, S., "The Security Flag
in the IPv4 Header", RFC 3514, in the IPv4 Header", RFC 3514,
April 1 2003. April 2003.
[RFC3550] Schulzrinne, H., Casner, S., [RFC3550] Schulzrinne, H., Casner, S.,
Frederick, R., and V. Jacobson, Frederick, R., and V. Jacobson,
"RTP: A Transport Protocol for "RTP: A Transport Protocol for
Real-Time Applications", STD 64, Real-Time Applications", STD 64,
RFC 3550, July 2003. RFC 3550, July 2003.
[RFC5681] Allman, M., Paxson, V., and E.
Blanton, "TCP Congestion
Control", RFC 5681,
September 2009.
[Re-fb] Briscoe, B., Jacquet, A., Di [Re-fb] Briscoe, B., Jacquet, A., Di
Cairano-Gilfedder, C., Salvatori, Cairano-Gilfedder, C., Salvatori,
A., Soppera, A., and M. Koyabe, A., Soppera, A., and M. Koyabe,
"Policing Congestion Response in "Policing Congestion Response in
an Internetwork Using Re- an Internetwork Using Re-
Feedback", ACM SIGCOMM Feedback", ACM SIGCOMM
CCR 35(4)277--288, August 2005, < CCR 35(4)277--288, August 2005, <
http://www.acm.org/sigs/sigcomm/ http://www.acm.org/sigs/sigcomm/
sigcomm2005/ sigcomm2005/
techprog.html#session8>. techprog.html#session8>.
 End of changes. 52 change blocks. 
153 lines changed or deleted 163 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/