One document matched: draft-ietf-conex-concepts-uses-01.txt
Differences from draft-ietf-conex-concepts-uses-00.txt
CONEX T. Moncaster, Ed.
Internet-Draft Moncaster Internet Consulting
Intended status: Informational J. Leslie, Ed.
Expires: September 15, 2011 JLC.net
B. Briscoe
BT
R. Woundy
Comcast
D. McDysan
Verizon
March 14, 2011
ConEx Concepts and Use Cases
draft-ietf-conex-concepts-uses-01
Abstract
Internet Service Providers (operators) are facing problems where
localized congestion prevents full utilization of the path between
sender and receiver at today's "broadband" speeds. Operators desire
to control this congestion, which often appears to be caused by a
small number of users consuming a large amount of bandwidth.
Building out more capacity along all of the path to handle this
congestion can be expensive and may not result in improvements for
all users so network operators have sought other ways to manage
congestion. The current mechanisms all suffer from difficulty
measuring the congestion (as distinguished from the total traffic).
The ConEx Working Group is designing a mechanism to make congestion
along any path visible at the Internet Layer. This document
describes example cases where this mechanism would be useful.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
Moncaster, et al. Expires September 15, 2011 [Page 1]
Internet-Draft ConEx Mechanism March 2011
This Internet-Draft will expire on September 15, 2011.
Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 6
3. Congestion Management . . . . . . . . . . . . . . . . . . . . 7
3.1. Existing Approaches . . . . . . . . . . . . . . . . . . . 7
4. Exposing Congestion . . . . . . . . . . . . . . . . . . . . . 9
4.1. ECN - a Step in the Right Direction . . . . . . . . . . . 10
5. ConEx Use Cases . . . . . . . . . . . . . . . . . . . . . . . 10
5.1. ConEx as a basis for traffic management . . . . . . . . . 10
5.2. ConEx to incentivise scavenger transports . . . . . . . . 11
5.3. Accounting for Congestion Volume . . . . . . . . . . . . . 12
5.4. ConEx as a form of differential QoS . . . . . . . . . . . 12
5.5. Partial vs. Full Deployment . . . . . . . . . . . . . . . 13
6. Statistical Multiplexing over Differing Timescales . . . . . . 14
6.1. ConEx Objectives for This Issue . . . . . . . . . . . . . 15
6.2. ConEx as a Solution . . . . . . . . . . . . . . . . . . . 16
6.3. Additional Support Using other Measures and Mechanisms . . 16
7. Other issues . . . . . . . . . . . . . . . . . . . . . . . . . 17
7.1. Congestion as a Commercial Secret . . . . . . . . . . . . 17
7.2. Information Security . . . . . . . . . . . . . . . . . . . 18
8. Security Considerations . . . . . . . . . . . . . . . . . . . 18
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19
10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 19
11. Informative References . . . . . . . . . . . . . . . . . . . . 20
Moncaster, et al. Expires September 15, 2011 [Page 2]
Internet-Draft ConEx Mechanism March 2011
1. Introduction
The growth of "always on" broadband connections, coupled with the
steady increase in access speeds, have caused unforeseen problems for
network operators and users alike. Users are increasingly seeing
congestion at peak times and changes in usage patterns (with the
growth of real-time streaming) simply serve to exacerbate this.
Operators want all their users to see a good service but are unable
to see where congestion problems originate. But congestion results
from sharing network capacity with others, not merely from using it.
In general, today's "DSL" and cable-internet users cannot "cause"
congestion in the absence of competing traffic. (Wireless operators
and cellular internet have different tradeoffs which we will not
discuss here.)
Despite its central role in network control and management,
congestion is a remarkably hard conept to define. The discussions in
[Bauer09] provide a good academic background. [RFC6077] defines it
as "as a state or condition that occurs when network resources are
overloaded, resulting in impairments for network users as objectively
measured by the probability of loss and/or delay." An economist
might define it as the condition where the utility of a given user
decreases due to an increase in network load. Common to these
definitions is the idea that an increase in load results in a
reduction of service from the network.
Congestion takes two distinct forms. The first results from the
interaction of traffic from one set of users with traffic from other
users, causing in a reduction in service (a cost) for all of them.
the second, often referred to as "self-congestion", occurs when an
increase in traffic from a single user causes that user to suffer a
worse service (for instance because their traffic is being "shaped"
by their ISP, or because they have an excessively large buffer in
their home router). ConEx is principally interested in the first
form of congestion since it involves informing those other users of
the impact you expect to have on them.
While building out more capacity to handle increased traffic is
always good, the expense and lead-time can be prohibitive, especially
for network operators that charge flat-rate feeds to subscribers and
are thus unable to charge heavier users more for causing more
congestion [BB-incentive]. The operators also face the challenge
that network traffic grows according to Moore's Law -- increasing
capacity may only be buying a few months grace before you are again
facing increasing congestion, reducing utility and customers
demanding a better service. For an operator facing congestion caused
by other operators' networks, building out its own capacity is
unlikely to solve the congestion problem. Operators are thus facing
Moncaster, et al. Expires September 15, 2011 [Page 3]
Internet-Draft ConEx Mechanism March 2011
increased pressure to find effective solutions to dealing with the
increasing bandwidth demands of all users.
The growth of "scavenger" behaviour (e.g. [LEDBAT]) helps to reduce
congestion, but can actually make the problem less tractable. These
users are trying to make good use of the capacity of the path while
minimising their own costs. Thus, users of such services may show
very heavy total traffic up until the moment congestion is detected
(at the Transport Layer), but then will immediately back off.
Monitoring (at the Internet Layer) cannot detect this congestion
avoidance if the congestion in question is in a different domain
further along the path and hence such users may get tretated as
congestion-causing users.
The ConEx working group proposes that Internet Protocol (IP) packets
will carry additional ConEx information. The exact protocol details
are not described in this document, but the ConEx information will be
sufficient to allow any node in the network to see how much
congestion is attributable to a given traffic flow. See
[ConEx-Abstract-Mech] for further details.
Changes from previous drafts (to be removed by the RFC Editor):
From draft-ietf-conex-concepts-uses-00 to -01:
Added section on timescales: Section 6
Revised introduction to clarify congestion definitions
Changed source for congestion definition in Section 2
Other minor changes
From draft-moncaster-conex-concepts-uses-02 to
draft-ietf-conex-concepts-uses-00 (per decisions of working group):
Removed section on DDoS mitigation use case.
Removed appendix on ConEx Architectural Elements. PLEASE NOTE:
Alignment of terminology with the Abstract Mechanism draft has
been deferred to the next version.
From draft-moncaster-conex-concepts-uses-01 to
draft-moncaster-conex-concepts-uses-02:
Moncaster, et al. Expires September 15, 2011 [Page 4]
Internet-Draft ConEx Mechanism March 2011
Updated document to take account of the new Abstract Mechanism
draft [ConEx-Abstract-Mech].
Updated the definitions section.
Removed sections on Requirements and Mechanism.
Moved section on ConEx Architectural Elements to appendix.
Minor changes throughout.
From draft-moncaster-conex-concepts-uses-00 to
draft-moncaster-conex-concepts-uses-01:
Changed end of Abstract to better reflect new title
Created new section describing the architectural elements of
ConEx. Added Edge Monitors and Border Monitors (other elements
are Ingress, Egress and Border Policers).
Extensive re-write of Section 5 partly in response to suggestions
from Dirk Kutscher
Improved layout of Section 2 and added definitions of Whole Path
Congestion, ConEx-Enabled and ECN-Enabled. Re-wrote definition of
Congestion Volume. Renamed Ingress and Egress Router to Ingress
and Egress Node as these nodes may not actually be routers.
Improved document structure. Merged sections on Exposing
Congestion and ECN.
Added new section on ConEx requirements with a ConEx Issues
subsection. Text for these came from the start of the old ConEx
Use Cases section
Added a sub-section on Partial vs Full Deployment Section 5.5
Added a discussion on ConEx as a Business Secret Section 7.1
From draft-conex-mechanism-00 to
draft-moncaster-conex-concepts-uses-00:
Changed filename to draft-moncaster-conex-concepts-uses.
Changed title to ConEx Concepts and Use Cases.
Moncaster, et al. Expires September 15, 2011 [Page 5]
Internet-Draft ConEx Mechanism March 2011
Chose uniform capitalisation of ConEx.
Moved definition of Congestion Volume to list of definitions.
Clarified mechanism section. Changed section title.
Modified text relating to conex-aware policing and policers (which
are NOT defined terms).
Re-worded bullet on distinguishing ConEx and non-ConEx traffic in
Section 5.
2. Definitions
In this section we define a number of terms that are used throughout
the document. The key definition is that of congestion, which has a
number of meanings depending on context. The definition we use in
this document is based on the definition in [RFC6077]. This list of
definitions is supplementary to that in [ConEx-Abstract-Mech].
Congestion: Congestion occurs when any user's traffic suffers
increased delay, loss or ECN marking as a result of one or more
network resources being overloaded.
Flow: a series of packets from a single sender to a single receiver
that are treated by that sender as belonging to a single stream
for the purposes of congestion control. NB in general this is not
the same as the aggregate of all traffic between the sender and
receiver.
Congestion-rate: For any granularity of traffic (packet, flow,
aggregate, etc.), the instantaneous rate of traffic discarded or
marked due to congestion. Conceptually, the instantaneous bit-
rate of the traffic multiplied by the instantaneous congestion it
is experiencing.
Congestion-volume: For any granularity of traffic (packet, flow,
aggregate, etc.), the volume of bytes dropped or marked in a given
period of time. Conceptually, congestion-rate multipled by time.
Upstream Congestion: the accumulated level of congestion experienced
by a traffic flow thus far along its path. In other words, at any
point the Upstream Congestion is the accmulated level of
congestion the traffic flow has experienced as it travels from the
sender to that point. At the receiver this is equivalent to the
end-to-end congestion level that (usually) is reported back to the
sender.
Moncaster, et al. Expires September 15, 2011 [Page 6]
Internet-Draft ConEx Mechanism March 2011
Downstream Congestion: the level of congestion a flow of traffic is
expected to experience on the remainder of its path. In other
words, at any point the Downstream Congestion is the level of
congestion the traffic flow is yet to experience as it travels
from that point to the receiver.
Ingress: the first node a packet traverses that is outside the
source's own network. In a domestic network that will be the
first node downstream from the home access equipment. In an
enterprise network this is the provider edge router.
Egress: the last node a packet traverses before reaching the
receiver's network.
ConEx-enabled: Any piece of equipment (end-system, router, tunnel
end-point, firewall, policer, etc) that complies with the core
ConEx protocol, which is to be defined by the ConEx working group.
By extension a ConEx-enabled network is a network whose edge nodes
are all ConEx-enabled.
3. Congestion Management
Since 1988 the Internet architecture has made congestion management
the responsibility of the end-systems. The network signals
congestion to the receiver, the receiver feeds this back to the
sender and the sender is expected to try and reduce the traffic it
sends.
Any network that is persistently highly congested is inefficient.
However the total absence of congestion is equally bad as it means
there is spare capacity in the network that hasn't been used. The
long-standing aim of congestion control has been to find the point
where these two things are in balance.
Over recent years, some network operators have come to the view that
end-system congestion management is insufficient. Because of the
heuristics used by TCP, a relatively small number of end-machines can
get a disproportionately high share of network resources. They have
sought to "correct" this perceived problem by using middleboxes that
try and reduce traffic that is causing congestion or by artificially
starving some traffic classes to create stronger congestion signals.
3.1. Existing Approaches
The authors have chosen not to exhaustively list current approaches
to congestion management. Broadly these approaches can be divided
into those that happen at Layer 3 of the OSI model and those that use
information gathered from higher layers. In general these approaches
Moncaster, et al. Expires September 15, 2011 [Page 7]
Internet-Draft ConEx Mechanism March 2011
attempt to find a "proxy" measure for congestion. Layer 3 approaches
include:
o Volume accounting -- the overall volume of traffic a given user or
network sends is measured. Users may be subject to an absolute
volume cap (e.g. 10Gbytes per month) or the "heaviest" users may
be sanctioned in some manner.
o Rate measurement -- the traffic rate per user or per network can
be measured. The absolute rate a given user sends at may be
limited at peak hours or the average rate may be used as the basis
for inter-network billing.
Higher layer approaches include:
o Bottleneck rate policing -- bottleneck flow rate policers aim to
share the available capacity at a given bottleneck between all
concurrent users.
o DPI and application rate policing -- deep packet inspection and
other techniques can be used to determine what application a given
traffic flow is associated with. Operators may then use this
information to rate-limit or otherwise sanction certain
applications at peak hours.
All of these current approaches suffer from some general limitations.
First, they introduce performance uncertainty. Flat-rate pricing
plans are popular because users appreciate the certainty of having
their monthly bill amount remain the same for each billing period,
allowing them to plan their costs accordingly. But while flat-rate
pricing avoids billing uncertainty, it creates performance
uncertainty: users cannot know whether the performance of their
connection is being altered or degraded based on how the network
operator manages congestion.
Second, none of the approaches is able to make use of what may be the
most important factor in managing congestion: the amount that a given
endpoint contributes to congestion on the network. This information
simply is not available to network nodes, and neither volume nor rate
nor application usage is an adequate proxy for congestion volume,
because none of these metrics measures a user or network's actual
contribution to congestion on the network.
Finally, none of these solutions accounts for inter-network
congestion. Mechanisms may exist that allow an operator to identify
and mitigate congestion in their own network, but the design of the
Internet means that only the end-hosts have full visibility of
congestion information along the whole path. ConEx allows this
Moncaster, et al. Expires September 15, 2011 [Page 8]
Internet-Draft ConEx Mechanism March 2011
information to be visible to everyone on the path and thus allows
operators to make better-informed decisions about controlling
traffic.
4. Exposing Congestion
We argue that current traffic-control mechanisms seek to control the
wrong quantity. What matters in the network is neither the volume of
traffic nor the rate of traffic: it is the contribution to congestion
over time -- congestion means that your traffic impacts other users,
and conversely that their traffic impacts you. So if there is no
congestion there need not be any restriction on the amount a user can
send; restrictions only need to apply when others are sending traffic
such that there is congestion.
For example, an application intending to transfer large amounts of
data could use a congestion control mechanism like [LEDBAT] to reduce
its transmission rate before any competing TCP flows do, by detecting
an increase in end-to-end delay (as a measure of impending
congestion). However such techniques rely on voluntary, altruistic
action by end users and their application providers. Operators can
neither enforce their use nor avoid penalizing them for congestion
they avoid.
The Internet was designed so that end-hosts detect and control
congestion. We argue that congestion needs to be visible to network
nodes as well, not just to the end hosts. More specifically, a
network needs to be able to measure how much congestion any
particular traffic expects to cause between the monitoring point in
the network and the destination ("rest-of-path congestion"). This
would be a new capability. Today a network can use Explicit
Congestion Notification (ECN) [RFC3168] to detect how much congestion
the traffic has suffered between the source and a monitoring point,
but not beyond. This new capability would enable an ISP to give
incentives for the use of LEDBAT-like applications that seek to
minimise congestion in the network whilst restricting inappropriate
uses of traditional TCP and UDP applications.
So we propose a new approach which we call Congestion Exposure. We
propose that congestion information should be made visible at the IP
layer, so that any network node can measure the contribution to
congestion of an aggregate of traffic as easily as straight volume
can be measured today. Once the information is exposed in this way,
it is then possible to use it to measure the true impact of any
traffic on the network.
In general, congestion exposure gives operators a principled way to
hold their customers accountable for the impact on others of their
Moncaster, et al. Expires September 15, 2011 [Page 9]
Internet-Draft ConEx Mechanism March 2011
network usage and reward them for choosing congestion-sensitive
applications.
4.1. ECN - a Step in the Right Direction
Explicit Congestion Notification [RFC3168] allows routers to
explicitly tell end-hosts that they are approaching the point of
congestion. ECN builds on Active Queue Mechanisms such as random
early discard (RED) [RFC2309] by allowing the router to mark a packet
with a Congestion Experienced (CE) codepoint, rather than dropping
it. The probability of a packet being marked increases with the
length of the queue and thus the rate of CE marks is a guide to the
level of congestion at that queue. This CE codepoint travels forward
through the network to the receiver which then informs the sender
that it has seen congestion. The sender is then required to respond
as if it had experienced a packet loss. Because the CE codepoint is
visible in the IP layer, this approach reveals the upstream
congestion level for a packet.
Alas, this is not enough - ECN gives downstream nodes an idea of the
congestion so far for any flow. This can help hold a receiver
accountable for the congestion caused by incoming traffic. But a
receiver can only indirectly influence incoming congestion, by
politely asking the sender to control it. A receiver cannot make a
sender install an adaptive codec, or install LEDBAT instead of TCP
congestion-control. And a receiver cannot cause an attacker to stop
flooding it with traffic.
What is needed is knowledge of the downstream congestion level, for
which you need additional information that is still concealed from
the network.
5. ConEx Use Cases
This section sets out some of the use cases for ConEx. These use
cases rely on some of the conceptual elements described in
[ConEx-Abstract-Mech]. The authors don't claim this is an exhaustive
list of use cases, nor that these have equal merit. In most cases
ConEx is not the only solution to achieve these. But these use cases
represent a consensus among people that have been working on this
approach for some years.
5.1. ConEx as a basis for traffic management
Currently many operators impose some form of traffic management at
peak hours. This is a simple economic necessity -- the only reason
the Internet works as a commercial concern is that operators are able
to rely on statistical multiplexing to share their expensive core
Moncaster, et al. Expires September 15, 2011 [Page 10]
Internet-Draft ConEx Mechanism March 2011
network between large numbers of customers. In order to ensure all
customers get some chance to access the network, the "heaviest"
customers will be subjected to some form of traffic management at
peak times (typically a rate cap for certain types of traffic)
[Fair-use]. Often this traffic management is done with expensive
flow aware devices such as DPI boxes or flow-aware routers.
ConEx offers a better approach that will actually target the users
that are causing the congestion. By using Ingress or Egress
Policers, an ISP can identify which users are causing the greatest
Congestion Volume throughout the network. This can then be used as
the basis for traffic management decisions. The Ingress Policer
described in [Policing-freedom] is one interesting approach that
gives the user a congestion volume limit. So long as they stay
within their limit then their traffic is unaffected. Once they
exceed that limit then their traffic will be blocked temporarily.
5.2. ConEx to incentivise scavenger transports
Recent work proposes a new approach for QoS where traffic is provided
with a less than best effort or "scavenger" quality of service. The
idea is that low priority but high volume traffic such as OS updates,
P2P file transfers and view-later TV programs should be allowed to
use any spare network capacity, but should rapidly get out of the way
if a higher priority or interactive application starts up. One
solution being actively explored is LEDBAT which proposes a new
congestion control algorithm that is less aggressive in seeking out
bandwidth than TCP.
At present most operators assume a strong correlation between the
volume of a flow and the impact that flow causes in the network.
This assumption has been eroded by the growth of interactive
streaming which behaves in an inelastic manner and hence can cause
high congestion at relatively low data volumes. Currently LEDBAT-
like transports get no incentive from the ISP since they still
transfer large volumes of data and may reach high transfer speeds if
the network is uncongested. Consequently the only current incentive
for LEDBAT is that it can reduce self-congestion effects.
If the ISP has deployed a ConEx-aware Ingress Policer then they are
able to incentivise the use of LEDBAT because a user will be policed
according to the overall congestion volume their traffic generates,
not the rate or data volume. If all background file transfers are
only generating a low level of congestion, then the sender has more
"congestion budget" to "spend" on their interactive applications. It
can be shown [Kelly] that this approach improves social welfare -- in
other words if you limit the congestion that all users can generate
then everyone benefits from a better service.
Moncaster, et al. Expires September 15, 2011 [Page 11]
Internet-Draft ConEx Mechanism March 2011
5.3. Accounting for Congestion Volume
Accountability was one of the original design goals for the Internet
[Design-Philosophy]. At the time it was ranked low because the
network was non-commercial and it was assumed users had the best
interests of the network at heart. Nowadays users generally treat
the network as a commodity and the Internet has become highly
commercialised. This causes problems for operators and others which
they have tried to solve and often leads to a tragedy of the commons
where users end up fighting each other for scarce peak capacity.
The most elegant solution would be to introduce an Internet-wide
system of accountability where every actor in the network is held to
account for the impact they have on others. If Policers are placed
at every Network Ingress or Egress and Border Monitors at every
border, then you have the basis for a system of congestion
accounting. Simply by controlling the overall Congestion Volume each
end-system or stub-network can send you ensure everyone gets a better
service.
5.4. ConEx as a form of differential QoS
Most QoS approaches require the active participation of routers to
control the delay and loss characteristics for the traffic. For
real-time interactive traffic it is clear that low delay (and
predictable jitter) are critical, and thus these probably always need
different treatment at a router. However if low loss is the issue
then ConEx offers an alternative approach.
Assuming the ingress ISP has deployed a ConEx Ingress Policer, then
the only control on a user's traffic is dependent on the congestion
that user has caused. Likewise, if they are receiving traffic
through a ConEx Egress Policer then their ISP will impose traffic
controls (prioritisation, rate limiting, etc) based on the congestion
they have caused. If an end-user (be they the receiver or sender)
wants to prioritise some traffic over other traffic then they can
allow that traffic to generate or cause more congestion. The price
they will pay will be to reduce the congestion that their other
traffic causes.
Streaming video content-delivery is a good candidate for such ConEx-
mediated QoS. Such traffic can tolerate moderately high delays, but
there are strong economic pressures to maintain a high enough data
rate (as that will directly influence the Quality of Experience the
end-user receives. This approach removes the need for bandwidth
brokers to establish QoS sessions, by removing the need to coordinate
requests from multiple sources to pre-allocate bandwidth, as well as
to coordinate which allocations to revoke when bandwidth predictions
Moncaster, et al. Expires September 15, 2011 [Page 12]
Internet-Draft ConEx Mechanism March 2011
turn out to be wrong. There is also no need to "rate-police" at the
boundaries on a per-flow basis, removing the need to keep per-flow
state (which in turn makes this approach more scalable).
5.5. Partial vs. Full Deployment
In a fully-deployed ConEx-enabled internet, [QoS-Models] shows that
ISP settlements based on congestion volume can allocate money to
where upgrades are needed. Fully-deployed implies that ConEx-marked
packets which have not exhausted their expected congestion would go
through a congested path in preference to non-ConEx packets, with
money changing hands to justify that priority.
In a partial deployment, routers that ignore ConEx markings and let
them pass unaltered are no problem unless they become congested and
drop packets. Since ConEx incentivises the use of lower congestion
transports, such congestion drops should anyway become rare events.
ConEx-unaware routers that do drop ConEx-marked packets would cause a
problem so to minimise this risk ConEx should be designed such that
ConEx packets will appear valid to any node they traverse. Failing
that it could be possible to bypass such nodes with a tunnel.
If any network is not ConEx enabled then the sender and receiver have
to rely on ECN-marking or packet drops to establish the congestion
level. If the receiver isn't ConEx-enabled then there needs to be
some form of compatibility mode. Even in such partial deployments
the end-users and access networks will benefit from ConEx. This will
put create incentives for ConEx to be more widely adopted as access
networks put pressure on their backhaul providers to use congestion
as the basis of their interconnect agreement.
The actual charge per unit of congestion would be specified in an
interconnection agreement, with economic pressure driving that charge
downward to the cost to upgrade whenever alternative paths are
available. That charge would most likely be invisible to the
majority of users. Instead such users will have a contractual
allowance to cause congestion, and would see packets dropped when
that allowance is depleted.
Once an Autonomous System (AS) agrees to pay any congestion charges
to any other AS it forwards to, it has an economic incentive to
increase congestion-so-far marking for any congestion within its
network. Failure to do this quickly becomes a significant cost,
giving it an incentive to turn on such marking.
End users (or the writers of the applications they use) will be given
an incentive to use a congestion control that back off more
aggressively than TCP for any elastic traffic. Indeed they will
Moncaster, et al. Expires September 15, 2011 [Page 13]
Internet-Draft ConEx Mechanism March 2011
actually have an incentive to use fully weighted congestion controls
that allow traffic to cause congestion in proportion to its priority.
Traffic which backs off more aggressively than TCP will see
congestion charges remain the same (or even drop) as congestion
increases; traffic which backs off less aggressively will see charges
rise, but the user may be prepared to accept this if it is high-
priority traffic; traffic which backs off not at all will see charges
rise dramatically.
6. Statistical Multiplexing over Differing Timescales
Access networks are usually provisioned assuming statistical
multiplexing, where end-users are presumed not all to use their
maximum bandwidth simultaneously. Typically, an ISP might design
access networks with shared resources (e.g., circuits, ports,
schedulers) dimensioned in proportion to the sum of average usage by
the customers involved. Generally, ISPs monitor actual usage
averaged over some time period (typically stated in minutes) to plan
when upgrades to shared resources will be needed.
Almost always, they find that certain busy periods of the day have
higher usage; and that actual contention for bandwidth at a shared
resource (e.g., circuit, port, scheduler) is limited to those
periods. This leads to "economic congestion" as defined in Section
3.4 of [Bauer09], where traffic by one end-user imposes a "cost" of
reduced utility on other users. Sometimes, there is an extended
period between economic congestion being first observed and the
completion of upgrades. In other cases, a trend of "economic
congestion" is used by a service provider before congestion as
defined in the abstract mechanism (loss or ECN marking) occurs.
During busy periods, it has been observed that roughly 20% of the
end-users are using 80% of the bandwidth [Varian]. We call this
roughly-20% "heavy users", and the others "light users". Left to
itself, this situation means that heavy users cause queues to fill at
a rate much greater than light users do. (Note that this heavy/light
categorization is for illustrative purposes since there is actually a
continuum of "heaviness" across users.) When both heavy and light
users pay the same flat rate, ISPs believe heavy users should bear
more of the "cost" of reduced utility.
When all users have unlimited access to a shared resource bottleneck,
this problem is the most severe since maximum per user bandwidth is
that of the shared resource. In order to provide more control over
the maximum rate at which individual users may send, many ISPs have
deployed "traffic shapers" to limit bandwidth available to an
individual user during all time periods. Note that this limits the
per user maximum bandwidth in the sub-second timeframe of the shaper
Moncaster, et al. Expires September 15, 2011 [Page 14]
Internet-Draft ConEx Mechanism March 2011
queue. Currently, these "shapers" make no distinction between busy
periods where shared resource congestion may occur and periods when
no congestion occurs.
During a period of higher usage, a shared resource becomes the
bottleneck and causes filling of a shared queue or individual user
shaper queues. However, heavy users create much more queuing and
therefore potentially more congestion volume Section 2 as compared
with lighter users. This means that during periods of higher usage,
heavier and lighter users see comparable congestion (i.e., packet
loss or ECN marking). Thus, the overall utility (i.e., probability
of a packet not being lost or ECN marked) is reduced by the fewer
heavier users at the expense of the many lighter users.
During periods of lighter usage, heavier users will fill their
individual shaper queues, potentially creating loss or ECN marking,
such that TCP congestion-control does what the ISP desires and cuts
back the sending rate giving the user the expected maximum bandwidth.
6.1. ConEx Objectives for This Issue
ConEx should provide better information for a provider to address the
"economic congestion" problem. Specifically, ConEx should help to
distinguish which users cause queue-filling over a time interval
matching the economic congestion and statistical multiplexing
algorithm time scales. This can range from seconds, to minutes, to
hours. It is also desirable to distinguish "self-congestion" where
there is no contention for a shared resource bandwidth (e.g.,
circuit, port, scheduler), which is referred to as "inter-user
congestion" in the following. If this is visible to end-users, they
could use an out-of-band mechanism to "go faster" if only "self-
congestion" is limiting their throughput.
There are (at least) three approaches for addressing this issue.
1. Treat "self-congestion" the same as "inter-user congestion" since
they both create congestion as perceived by the flow user;
2. Signal more information to the receiver about the cause of loss
since the remedy may differ;
3. Process (and generate) ConEx information at the same network
element which implements the shaper, which has knowledge of the
configured maximum bandwidth for the users as well as local
shared resource congestion.
For the most part, these don't require any changes to the abstract
mechanism; but a subcase of 2), where the traffic-shaper might use
Moncaster, et al. Expires September 15, 2011 [Page 15]
Internet-Draft ConEx Mechanism March 2011
ConEx to signal that the "congestion" is actually due to traffic-
shaping, not shared resource contention, could require additional
signaling to be defined in the ConEx protocol.
Note that during busy periods "self congestion" might not be the
limiting factor, but there will inevitably be less-busy periods where
"self-congestion" will predominate.
6.2. ConEx as a Solution
Over a time period related to the statistical multiplexing or
economic congestion interval (e.g., many seconds to minutes to hours)
total up the number of bytes that have been congestion marked and the
total number of bytes sent per end-user. Compute the ratio of
congested bytes to total bytes. This measures the average rate per
user.
Quantizing users into classes using one threshold on total and and
another threshold on ratio results in a grid that identifies four
classes of user:
+------------+-------------+-------------+
| | Volume |
| Ratio | Large | Small |
+------------+-------------+-------------+
| High | Heavy User | Bursty User |
+------------+-------------+-------------+
| Low | LEDBAT User | Light User |
+------------+-------------+-------------+
(Where "LEDBAT User" includes other Less-than-Best-Effort algorithms.)
Figure 1: Four Classes of User
Note that Bursty and Heavy Users contribute more to congestion
marking, but a Bursty user contributes less overall congestion
marking and may be creating shorter periods of queue filling as
compared with heavy users. LEDBAT and light users create less to
congestion marking, with LEDBAT users able to transfer more volume as
compared with light users since LEDBAT users back off before
congestion marking occurs. An operator might reasonably take this
into account in their shaping algorithms.
6.3. Additional Support Using other Measures and Mechanisms
An additional congestion measure of burstiness (in addition to
"congestion") would allow nodes upstream from the node implementing
the shaper to implement traffic management. This measure could be
derived from signals in the abstract mechanism but would require (a
Moncaster, et al. Expires September 15, 2011 [Page 16]
Internet-Draft ConEx Mechanism March 2011
majority) of the heavier senders and receivers to implement conex and
also would only work if loss or ECN marking occurs. Also, signaling
a measure of the burstiness (or something related to it) would
partially address the scenario where no loss or ECN marking occurs.
As an alternative, a "light weight" TCP proxy might be implemented at
the network element containing the shaper, and an upstream network
element (e.g., an ingress router), could potentially create a ConEx
control loop between these network elements to provide more optimal
balance between heavier and lighter users during congested intervals.
This would be a closed domain where the signals could be implicitly
trusted. The burstiness measure could be communicated using TCP
extensions between these proxies.
There is also the aspect of "self congestion" where a traffic-shaper
is at the access node. Using the current mechanisms, the receiver
cannot tell the difference between "self-congestion" and "inter-user
congestion." Adding a signal to the abstract mechanism could enable
a receiver to inform the sender about the cause of congestion,
enabling the sender to request that the traffic-shaper parameters
change to enable the flow to "go faster".
7. Other issues
7.1. Congestion as a Commercial Secret
Network operators have long viewed the congestion levels in their
network as a business secret. In some ways this harks back to the
days of fixed-line telecommunications where congestion manifested as
failed connections or dropped calls. But even in modern data-centric
packet networks congestion is viewed as a secret not to be shared
with competitors. It can be debated whether this view is sensible,
but it may make operators uneasy about deploying ConEx. The
following two examples highlight some of the arguments used:
o An ISP buys backhaul capacity from an operator. Most operators
want their customers to get a decent service and so they want the
backhaul to be relatively uncongested. If there is competition,
operators will seek to reassure their customers (the operators)
that their network is not congested in order to attract their
custom. Some operators may see ConEx as a threat since it will
enable those operators to see the actual congestion in their
network. On the other hand, operators with low congestion could
use ConEx to show how well their network performs, and so might
have an incentive to enable it.
o ISPs would like to be part of the lucrative content provision
market. Currently the ISP can gain a competitive edge as it can
Moncaster, et al. Expires September 15, 2011 [Page 17]
Internet-Draft ConEx Mechanism March 2011
put its own content in a higher QoS class, whereas traffic from
content providers has to use the Best Effort class. The ISP may
take the view that if they can conceal the congestion level in
their Best Effort class this will make it harder for the content
provider to maintain a good level of QoS. But in reality the
Content Provider will just use the feedback mechanisms in
streaming protocols such as Adobe Flash to monitor the congestion.
Of course some might say that the idea of keeping congestion secret
is silly. After all, end-hosts already have knowledge of the
congestion throughout the network, albeit only along specific paths,
and operators can work out that there is persistent congestion as
their customers will be suffering degraded network performance.
7.2. Information Security
make a source believe it has seen more congestion than it has
hijack a user's identity and make it appear they are dishonest at an
egress policer
clear or otherwise tamper with the ConEx markings
...
{ToDo} Write these up properly...
8. Security Considerations
This document proposes a mechanism tagging onto Explicit Congestion
Notification [RFC3168], and inherits the security issues listed
therein. The additional issues from ConEx markings relate to the
degree of trust each forwarding point places in the ConEx markings it
receives, which is a business decision mostly orthogonal to the
markings themselves.
One expected use of exposed congestion information is to hold the
end-to-end transport and the network accountable to each other. The
network cannot be relied on to report information to the receiver
against its interest, and the same applies for the information the
receiver feeds back to the sender, and that the sender reports back
to the network. Looking at each in turn:
The Network In general it is not in any network's interest to under-
declare congestion since this will have potentially negative
consequences for all users of that network. It may be in its
interest to over-declare congestion if, for instance, it wishes to
force traffic to move away to a different network or simply to
Moncaster, et al. Expires September 15, 2011 [Page 18]
Internet-Draft ConEx Mechanism March 2011
reduce the amount of traffic it is carrying. Congestion Exposure
itself won't significantly alter the incentives for and against
honest declaration of congestion by a network, but we can imagine
applications of Congestion Exposure that will change these
incentives. There is a perception among network operators that
their level of congestion is a business secret. Today, congestion
is one of the worst-kept secrets a network has, because end-hosts
can see congestion better than network operators can. Congestion
Exposure will enable network operators to pinpoint whether
congestion is on one side or the other of any border. It is
conceivable that forwarders with underprovisioned networks may try
to obstruct deployment of Congestion Exposure.
The Receiver Receivers generally have an incentive to under-declare
congestion since they generally wish to receive the data from the
sender as rapidly as possible. [Savage] explains how a receiver
can significantly improve their throughput my failing to declare
congestion. This is a problem with or without Congestion
Exposure. [KGao] explains one possible technique to encourage
receiver's to be honest in their declaration of congestion.
The Sender One proposed mechanism for Congestion Exposure deployment
adds a requirement for a sender to advise the network how much
congestion it has suffered or caused. Although most senders
currently respond to congestion they are informed of, one use of
exposed congestion information might be to encourage sources of
persistent congestion to back off more aggressively. Then clearly
there may be an incentive for the sender to under-declare
congestion. This will be a particular problem with sources of
flooding attacks. "Policing" mechanisms have been proposed to
deal with this.
In addition there are potential problems from source spoofing. A
malicious sender can pretend to be another user by spoofing the
source address. Congestion Exposure allows for "Policers" and
"Traffic Shapers" so as to be robust against injection of false
congestion information into the forward path.
9. IANA Considerations
This document does not require actions by IANA.
10. Acknowledgments
Bob Briscoe is partly funded by Trilogy, a research project (ICT-
216372) supported by the European Community under its Seventh
Framework Programme. The views expressed here are those of the
author only.
Moncaster, et al. Expires September 15, 2011 [Page 19]
Internet-Draft ConEx Mechanism March 2011
The authors would like to thank the many people that have commented
on this document. Bernard Aboba, Mikael Abrahamsson, Joao Taveira
Araujo, Steve Bauer, Caitlin Bestler, Steven Blake, Louise Burness,
Alissa Cooper, Philip Eardley, Matthew Ford, Ingemar Johansson, Mirja
Kuehlewind, Dirk Kutscher, Zhu Lei, Kevin Mason, Michael Menth, Chris
Morrow, Hannes Tschofenig and Stuart Venters. Please accept our
apologies if your name has been missed off this list.
11. Informative References
[BB-incentive] MIT Communications Futures Program (CFP) and
Cambridge University Communications Research
Network, "The Broadband Incentive Problem",
September 2005.
[Bauer09] Bauer, S., Clark, D., and W. Lehr, "The
Evolution of Internet Congestion", 2009.
[ConEx-Abstract-Mech] Briscoe, B., "Congestion Exposure (ConEx)
Concepts and Abstract Mechanism",
draft-ietf-conex-abstract-mech-00 (work in
progress), March 2011.
[Design-Philosophy] Clarke, D., "The Design Philosophy of the
DARPA Internet Protocols", 1988.
[Fair-use] Broadband Choices, "Truth about 'fair usage'
broadband", 2009.
[Fairer-faster] Briscoe, B., "A Fairer Faster Internet
Protocol", IEEE Spectrum Dec 2008 pp38-43,
December 2008.
[KGao] Gao, K. and C. Wang, "Incrementally Deployable
Prevention to TCP Attack with Misbehaving
Receivers", December 2004.
[Kelly] Kelly, F., Maulloo, A., and D. Tan, "Rate
control for communication networks: shadow
prices, proportional fairness and stability",
Journal of the Operational Research
Society 49(3) 237--252, 1998, <http://
www.statslab.cam.ac.uk/~frank/rate.html>.
[LEDBAT] Shalunov, S., "Low Extra Delay Background
Transport (LEDBAT)",
draft-ietf-ledbat-congestion-01 (work in
progress), March 2010.
Moncaster, et al. Expires September 15, 2011 [Page 20]
Internet-Draft ConEx Mechanism March 2011
[Malice] Briscoe, B., "Using Self Interest to Prevent
Malice; Fixing the Denial of Service Flaw of
the Internet", WESII - Workshop on the
Economics of Securing the Information
Infrastructure 2006, 2006, <http://
wesii.econinfosec.org/draft.php?paper_id=19>.
[Padhye] Padhye, J., Firoiu, V., Towsley, D., and J.
Kurose, "Modeling TCP Throughput: A Simple
Model and its Empirical Validation", ACM
SIGCOMM Computer Communications Review Vol
28(4), pages 303-314, May 1998.
[Policing-freedom] Briscoe, B., Jacquet, A., and T. Moncaster,
"Policing Freedom to Use the Internet Resource
Pool", RE-Arch 2008 hosted at the 2008 CoNEXT
conference , December 2008.
[QoS-Models] Briscoe, B. and S. Rudkin, "Commercial Models
for IP Quality of Service Interconnect", BTTJ
Special Edition on IP Quality of Service vol
23 (2), April 2005.
[RFC2309] Braden, B., Clark, D., Crowcroft, J., Davie,
B., Deering, S., Estrin, D., Floyd, S.,
Jacobson, V., Minshall, G., Partridge, C.,
Peterson, L., Ramakrishnan, K., Shenker, S.,
Wroclawski, J., and L. Zhang, "Recommendations
on Queue Management and Congestion Avoidance
in the Internet", RFC 2309, April 1998.
[RFC3168] Ramakrishnan, K., Floyd, S., and D. Black,
"The Addition of Explicit Congestion
Notification (ECN) to IP", RFC 3168,
September 2001.
[RFC6077] Papadimitriou, D., Welzl, M., Scharf, M., and
B. Briscoe, "Open Research Issues in Internet
Congestion Control", RFC 6077, February 2011.
[Re-Feedback] Briscoe, B., Jacquet, A., Di Cairano-
Gilfedder, C., Salvatori, A., Soppera, A., and
M. Koyabe, "Policing Congestion Response in an
Internetwork Using Re-Feedback", ACM SIGCOMM
CCR 35(4)277--288, August 2005, <http://
www.acm.org/sigs/sigcomm/sigcomm2005/
techprog.html#session8>.
Moncaster, et al. Expires September 15, 2011 [Page 21]
Internet-Draft ConEx Mechanism March 2011
[Savage] Savage, S., Wetherall, D., and T. Anderson,
"TCP Congestion Control with a Misbehaving
Receiver", ACM SIGCOMM Computer Communication
Review , 1999.
[Varian] Varian, H., "Congestion pricing principles",
Technical Plenary 78th IETF Meeting, July .
[re-ecn-motive] Briscoe, B., Jacquet, A., Moncaster, T., and
A. Smith, "Re-ECN: A Framework for adding
Congestion Accountability to TCP/IP",
draft-briscoe-tsvwg-re-ecn-tcp-motivation-02
(work in progress), October 2010.
Authors' Addresses
Toby Moncaster (editor)
Moncaster Internet Consulting
Dukes
Layer Marney
Colchester CO5 9UZ
UK
EMail: toby@moncaster.com
John Leslie (editor)
JLC.net
10 Souhegan Street
Milford, NH 03055
US
EMail: john@jlc.net
Bob Briscoe
BT
B54/77, Adastral Park
Martlesham Heath
Ipswich IP5 3RE
UK
Phone: +44 1473 645196
EMail: bob.briscoe@bt.com
URI: http://bobbriscoe.net/
Moncaster, et al. Expires September 15, 2011 [Page 22]
Internet-Draft ConEx Mechanism March 2011
Richard Woundy
Comcast
Comcast Cable Communications
27 Industrial Avenue
Chelmsford, MA 01824
US
EMail: richard_woundy@cable.comcast.com
URI: http://www.comcast.com
Dave McDysan
Verizon
22001 Loudon County Pkwy
Ashburn, VA 20147
US
EMail: dave.mcdysan@verizon.com
Moncaster, et al. Expires September 15, 2011 [Page 23]
| PAFTECH AB 2003-2026 | 2026-04-23 17:14:30 |