| < draft-moncaster-conex-concepts-uses-00.txt | draft-moncaster-conex-concepts-uses-01.txt > | |||
|---|---|---|---|---|
| CONEX B. Briscoe | CONEX B. Briscoe | |||
| Internet-Draft BT | Internet-Draft BT | |||
| Intended status: Informational R. Woundy | Intended status: Informational R. Woundy | |||
| Expires: January 2, 2011 Comcast | Expires: January 13, 2011 Comcast | |||
| T. Moncaster, Ed. | T. Moncaster, Ed. | |||
| Moncaster.com | Moncaster.com | |||
| J. Leslie, Ed. | J. Leslie, Ed. | |||
| JLC.net | JLC.net | |||
| July 1, 2010 | July 12, 2010 | |||
| ConEx Concepts and Use Cases | ConEx Concepts and Use Cases | |||
| draft-moncaster-conex-concepts-uses-00 | draft-moncaster-conex-concepts-uses-01 | |||
| Abstract | Abstract | |||
| Internet Service Providers (ISPs) are facing problems where | Internet Service Providers (ISPs) are facing problems where localized | |||
| congestion prevents full utilization of the path between sender and | congestion prevents full utilization of the path between sender and | |||
| receiver at today's "broadband" speeds. ISPs desire to control the | receiver at today's "broadband" speeds. ISPs desire to control this | |||
| congestion, which often appears to be caused by a small number of | congestion, which often appears to be caused by a small number of | |||
| users consuming a large amount of bandwidth. Building out more | users consuming a large amount of bandwidth. Building out more | |||
| capacity along all of the path to handle this congestion can be | capacity along all of the path to handle this congestion can be | |||
| expensive; and network operators have sought other ways to manage | expensive and may not result in improvements for all users so network | |||
| congestion. The current mechanisms all suffer from difficulty | operators have sought other ways to manage congestion. The current | |||
| measuring the congestion (as distinguished from the total traffic). | 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 | The ConEx Working Group is designing a mechanism to make congestion | |||
| along any path visible at the Internet Layer. This document | along any path visible at the Internet Layer. This document | |||
| discusses this mechanism. | describes example cases where this mechanism would be useful. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| 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 January 2, 2011. | This Internet-Draft will expire on January 13, 2011. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2010 IETF Trust and the persons identified as the | Copyright (c) 2010 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 | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| skipping to change at page 2, line 19 | skipping to change at page 3, line 7 | |||
| (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 | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 3. Existing Approaches to Congestion Management . . . . . . . . . 6 | 3. Existing Approaches to Congestion Management . . . . . . . . . 7 | |||
| 4. Exposing Congestion . . . . . . . . . . . . . . . . . . . . . 7 | 4. Exposing Congestion . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 5. ECN - a Step in the Right Direction . . . . . . . . . . . . . 8 | 4.1. ECN - a Step in the Right Direction . . . . . . . . . . . 9 | |||
| 6. A Possible Congestion Exposure Mechanism . . . . . . . . . . . 9 | 5. Requirements for ConEx . . . . . . . . . . . . . . . . . . . . 10 | |||
| 7. ConEx Use Cases . . . . . . . . . . . . . . . . . . . . . . . 10 | 5.1. ConEx Issues . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 7.1. Ingress policing for traffic management . . . . . . . . . 11 | 6. A Possible Congestion Exposure Mechanism . . . . . . . . . . . 11 | |||
| 7.2. ConEx to incentivise scavenger transports . . . . . . . . 12 | 7. ConEx Architectural Elements . . . . . . . . . . . . . . . . . 12 | |||
| 7.3. ConEx to mitigate DDoS . . . . . . . . . . . . . . . . . . 13 | 7.1. ConEx Monitoring . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 7.4. ConEx as a form of differential QoS . . . . . . . . . . . 13 | 7.1.1. Edge Monitoring . . . . . . . . . . . . . . . . . . . 13 | |||
| 7.5. Other issues . . . . . . . . . . . . . . . . . . . . . . . 13 | 7.1.2. Border Monitoring . . . . . . . . . . . . . . . . . . 15 | |||
| 8. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | 7.2. ConEx Policing . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | 7.2.1. Egress Policing . . . . . . . . . . . . . . . . . . . 16 | |||
| 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 17 | 7.2.2. Ingress Policing . . . . . . . . . . . . . . . . . . . 17 | |||
| 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18 | 7.2.3. Border Policing . . . . . . . . . . . . . . . . . . . 18 | |||
| 11.1. Normative References . . . . . . . . . . . . . . . . . . . 18 | 8. ConEx Use Cases . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 11.2. Informative References . . . . . . . . . . . . . . . . . . 18 | 8.1. ConEx as a basis for traffic management . . . . . . . . . 19 | |||
| 8.2. ConEx to incentivise scavenger transports . . . . . . . . 19 | ||||
| 8.3. ConEx to mitigate DDoS . . . . . . . . . . . . . . . . . . 20 | ||||
| 8.4. Accounting for Congestion Volume . . . . . . . . . . . . . 20 | ||||
| 8.5. ConEx as a form of differential QoS . . . . . . . . . . . 21 | ||||
| 8.6. Partial vs. Full Deployment . . . . . . . . . . . . . . . 22 | ||||
| 9. Other issues . . . . . . . . . . . . . . . . . . . . . . . . . 23 | ||||
| 9.1. Congestion as a Commercial Secret . . . . . . . . . . . . 23 | ||||
| 9.2. Information Security . . . . . . . . . . . . . . . . . . . 24 | ||||
| 10. Security Considerations . . . . . . . . . . . . . . . . . . . 24 | ||||
| 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 | ||||
| 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 25 | ||||
| 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 25 | ||||
| 13.1. Normative References . . . . . . . . . . . . . . . . . . . 25 | ||||
| 13.2. Informative References . . . . . . . . . . . . . . . . . . 26 | ||||
| 1. Introduction | 1. Introduction | |||
| The growth of "always on" broadband connections, coupled with the | The growth of "always on" broadband connections, coupled with the | |||
| steady increase in access speeds [OfCom], has meant network operators | steady increase in access speeds [OfCom], have caused unforeseen | |||
| are increasingly facing problems with congestion. But congestion | problems for network operators and users alike. Users are | |||
| results from sharing network capacity with others, not merely from | increasingly seeing congestion at peak times and changes in usage | |||
| using it. In general, today's "DSL" and cable-internet users cannot | patterns (with the growth of real-time streaming) simply serve to | |||
| "cause" congestion in the absence of competing traffic. (Wireless | exacerbate this. Operators want all their users to see a good | |||
| ISPs and cellular internet have different tradeoffs which we will not | service but are unable to see where congestion problems originate. | |||
| discuss here.) | 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 ISPs and cellular internet have different tradeoffs which | ||||
| we will not discuss here.) | ||||
| Actual congestion generally results from the interaction of traffic | Congestion generally results from the interaction of traffic from an | |||
| from an ISPs own subscribers with traffic from other users. The | ISPs own subscribers with traffic from other users. The tools | |||
| tools currently available don't allow an operator to identify the | currently available don't allow an operator to identify which traffic | |||
| causes of the congestion and so leave them powerless to properly | contributes most to the congestion and so they are powerless to | |||
| control it. | properly control it. | |||
| While building out more capacity to handle increased traffic is | While building out more capacity to handle increased traffic is | |||
| always good, the expense and lead-time can be prohibitive, especially | always good, the expense and lead-time can be prohibitive, especially | |||
| for network operators that charge flat-rate feeds to subscribers and | for network operators that charge flat-rate feeds to subscribers and | |||
| are thus unable to charge heavier users more for causing more | are thus unable to charge heavier users more for causing more | |||
| congestion [BB-incentive]. For an operator facing congestion caused | congestion [BB-incentive]. For an operator facing congestion caused | |||
| by other operators' networks, building out its own capacity is | by other operators' networks, building out its own capacity is | |||
| unlikely to solve the congestion problem. Operators are thus facing | unlikely to solve the congestion problem. Operators are thus facing | |||
| increased pressure to find effective solutions to dealing with high- | increased pressure to find effective solutions to dealing with the | |||
| consuming users. | increasing bandwidth demands of all users. | |||
| The growth of "scavenger-class" services helps to reduce congestion, | The growth of "scavenger" behaviour (e.g. [LEDBAT]) helps to reduce | |||
| but actually make the ISPs problem less tractable. These are | congestion, but can actually make the ISPs problem less tractable. | |||
| services where participating users are not at all interested in | These users are trying to make good use of the capacity of the path | |||
| paying more, but wish to make good use of the capacity of the path. | while minimising their own costs. Thus, users of such services may | |||
| Thus, users of such services may show very heavy total traffic up | show very heavy total traffic up until the moment congestion is | |||
| until the moment congestion is detected (at the Transport Layer), but | detected (at the Transport Layer), but then will immediately back | |||
| immediately back off. ISP monitoring (at the Internet Layer) cannot | off. ISP monitoring (at the Internet Layer) cannot detect this | |||
| detect this congestion avoidance if the congestion in question is in | congestion avoidance if the congestion in question is in a different | |||
| a different domain further along the path; and must treat such users | domain further along the path; and must treat such users as | |||
| as congestion-causing users. | congestion-causing users. | |||
| We propose that Internet Protocol (IP) packets have two "congestion" | The ConEx working group proposes that Internet Protocol (IP) packets | |||
| fields. The exact protocol details of these fields are for another | have two "congestion" fields. The exact protocol details of these | |||
| document, but we expect them to provide measures of "congestion so | fields are for another document, but we expect them to provide | |||
| far" and "congestion still expected". | measures of "congestion so far" and "congestion still expected". | |||
| Changes from previous drafts (to be removed by the RFC Editor): | Changes from previous drafts (to be removed by the RFC Editor): | |||
| From -00 to -01: | ||||
| Changed end of Abstract to better reflect new title | ||||
| Created new section describing the architectural elements of ConEx | ||||
| Section 7. Added Edge Monitors and Border Monitors (other | ||||
| elements are Ingress, Egress and Border Policers). | ||||
| Extensive re-write of Section 8 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 Section 5 with a ConEx | ||||
| Issues subsection Section 5.1. Text for these came from the start | ||||
| of the old ConEx Use Cases section | ||||
| Added a sub-section on Partial vs Full Deployment Section 8.6 | ||||
| Added a discussion on ConEx as a Business Secret Section 9.1 | ||||
| From draft-conex-mechanism-00 to | From draft-conex-mechanism-00 to | |||
| draft-moncaster-conex-concepts-uses-00: | draft-moncaster-conex-concepts-uses-00: | |||
| Changed filename to draft-moncaster-conex-concepts-uses. | Changed filename to draft-moncaster-conex-concepts-uses. | |||
| Changed title to ConEx Concepts and Use Cases. | Changed title to ConEx Concepts and Use Cases. | |||
| Chose uniform capitalisation of ConEx. | Chose uniform capitalisation of ConEx. | |||
| Moved definition of Congestion Volume to list of definitions. | Moved definition of Congestion Volume to list of definitions. | |||
| Clarified Section 6. Changed section title. | Clarified Section 6. Changed section title. | |||
| Modified text relating to conex-aware policing and policers (which | Modified text relating to conex-aware policing and policers (which | |||
| are NOT defined terms). | are NOT defined terms). | |||
| Re-worded bullet on distinguishing ConEx and non-ConEx traffic in | Re-worded bullet on distinguishing ConEx and non-ConEx traffic in | |||
| Section 7. | Section 8. | |||
| 2. Definitions | 2. Definitions | |||
| Since ConEx expects to build on Explicit Congestion Notification | ConEx expects to build on Explicit Congestion Notification (ECN) | |||
| (ECN) [RFC3168], we use the term "congestion" in a manner consistent | [RFC3168] where it is available. Hence we use the term "congestion" | |||
| with ECN, namely that congestion occurs before any packet is dropped. | in a manner consistent with ECN, namely that congestion occurs before | |||
| any packet is dropped. In this section we define a number of terms | ||||
| We define six specific terms carefully: | that are used throughout the document. | |||
| Congestion: Congestion is a measure of the probability that a given | Congestion: Congestion is a measure of the probability that a given | |||
| packet will be ECN-marked or dropped as it traverses the network. | packet will be ECN-marked or dropped as it traverses the network. | |||
| At any given router it is a function of the queue state at that | At any given router it is a function of the queue state at that | |||
| router. Congestion is added in a combinatorial manner, that is, | router. Congestion is added in a combinatorial manner, that is, | |||
| routers ignore the congestion a packet has already seen when they | routers ignore the congestion a packet has already seen when they | |||
| decide whether to mark it or not. | decide whether to mark it or not. | |||
| Congestion Volume: Congestion volume is defined as the congestion a | Congestion Volume: Congestion volume is defined as the congestion a | |||
| packet experiences, multiplied by the size of that packet. See | packet experiences, multiplied by the size of that packet. It can | |||
| [Fairer-faster]. | be expressed as the volume of bytes that have been ECN-marked or | |||
| dropped. By extension, the Congestion Rate would be the | ||||
| transmission rate multiplied by the congestion level. | ||||
| Upstream Congestion: The congestion that has already been | Upstream Congestion: The congestion that has already been | |||
| experienced by a packet as it travels along its path. In other | experienced by a packet as it travels along its path. In other | |||
| words at any point on the path, it is the congestion between the | words at any point on the path, it is the congestion between the | |||
| source of the packet and that point. | source of the packet and that point. | |||
| Downstream Congestion: The congestion that a packet still has to | Downstream Congestion: The congestion that a packet still has to | |||
| experience on the remainder of its path. In other words at any | experience on the remainder of its path. In other words at any | |||
| point it is the congestion still to be experienced as the packet | point it is the congestion still to be experienced as the packet | |||
| travels between that point and its destination. | travels between that point and its destination. | |||
| Ingress Router: The Ingress Router is the first router a packet | Whole Path Congestion: The total congestion that a packet | |||
| traverses that is outside its own network. In a domestic network | experiences between the ingress to the network and the egress. | |||
| that will be the first router downstream from the home access | ||||
| equipment. In a commercial network it may be the first router | ||||
| downstream of the firewall. | ||||
| Egress Router: The Egress Router is the last router a packet | Network Ingress: The Network Ingress is 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 a business network it may be the first | ||||
| router downstream of the firewall. | ||||
| Network Egress: The Network Egress is the last node a packet | ||||
| traverses before it enters the destination network. | traverses before it enters the destination network. | |||
| ConEx-Enabled: Any piece of equipment (end-system, router, tunnel | ||||
| end-point, firewall, policer, etc) that fully implements the ConEx | ||||
| protocol. | ||||
| ECN-enabled: Any router that fully enables Explicit Congestion | ||||
| Notification (ECN) as defined in [RFC3168] and any relevant | ||||
| updates to that standard. | ||||
| 3. Existing Approaches to Congestion Management | 3. Existing Approaches to Congestion Management | |||
| Initial attempts to capture congestion situations have usually | A number of ISPs already use some form of traffic management. | |||
| focused on the peak hours and aimed at rate limiting heavy users | Generally this is an attempt to control the peak-time congestion | |||
| during that time. For example, users who have consumed a certain | within their network and to better apportion shared network resources | |||
| amount of bandwidth during the last 24 hours got elected as those who | between customers. Even ISPs that don't impose such traffic | |||
| get their traffic shaped if the total amount of traffic reaches a | management (such as those in Germany) may have caps on the capacity | |||
| congestion situation in certain nodes within the operator's network. | they allow for Best Effort traffic in their backhaul. | |||
| All of the current approaches suffer from some general limitations. | These attempts to control congestion have usually focused on the peak | |||
| hours and aim to rate limit heavy users during that time. For | ||||
| example, users who have consumed a certain amount of bandwidth during | ||||
| the last 24 hours may be elected to have their traffic shaped once | ||||
| the total traffic reaches a given level in certain nodes within the | ||||
| operator's network. | ||||
| 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 | ||||
| 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. ISPs 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 | First, they introduce performance uncertainty. Flat-rate pricing | |||
| plans are popular because users appreciate the certainty of having | plans are popular because users appreciate the certainty of having | |||
| their monthly bill amount remain the same for each billing period, | their monthly bill amount remain the same for each billing period, | |||
| allowing them to plan their costs accordingly. But while flat-rate | allowing them to plan their costs accordingly. But while flat-rate | |||
| pricing avoids billing uncertainty, it creates performance | pricing avoids billing uncertainty, it creates performance | |||
| uncertainty: users cannot know whether the performance of their | uncertainty: users cannot know whether the performance of their | |||
| connection is being altered or degraded based on how the network | connection is being altered or degraded based on how the network | |||
| operator manages congestion. | operator manages congestion. | |||
| Second, none of the approaches is able to make use of what may be the | Second, none of the approaches is able to make use of what may be the | |||
| skipping to change at page 7, line 35 | skipping to change at page 9, line 19 | |||
| The Internet was designed so that end-hosts detect and control | The Internet was designed so that end-hosts detect and control | |||
| congestion. We argue that congestion needs to be visible to network | congestion. We argue that congestion needs to be visible to network | |||
| nodes as well, not just to the end hosts. More specifically, a | nodes as well, not just to the end hosts. More specifically, a | |||
| network needs to be able to measure how much congestion any | network needs to be able to measure how much congestion any | |||
| particular traffic expects to cause between the monitoring point in | particular traffic expects to cause between the monitoring point in | |||
| the network and the destination ("rest-of-path congestion"). This | the network and the destination ("rest-of-path congestion"). This | |||
| would be a new capability. Today a network can use Explicit | would be a new capability. Today a network can use Explicit | |||
| Congestion Notification (ECN) [RFC3168] to detect how much congestion | Congestion Notification (ECN) [RFC3168] to detect how much congestion | |||
| the traffic has suffered between the source and a monitoring point, | the traffic has suffered between the source and a monitoring point, | |||
| but not beyond. This new capability would enable an ISP to give | but not beyond. This new capability would enable an ISP to give | |||
| incentives for the use of LEDBAT-like applications whilst restricting | incentives for the use of LEDBAT-like applications that seek to | |||
| inappropriate uses of traditional TCP and UDP ones. | 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 | So we propose a new approach which we call Congestion Exposure. We | |||
| propose that congestion information should be made visible at the IP | propose that congestion information should be made visible at the IP | |||
| layer, so that any network node can measure the contribution to | layer, so that any network node can measure the contribution to | |||
| congestion of an aggregate of traffic as easily as straight volume | congestion of an aggregate of traffic as easily as straight volume | |||
| can be measured today. Once the information is exposed in this way, | 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 | it is then possible to use it to measure the true impact of any | |||
| traffic on the network. | traffic on the network. | |||
| In general, congestion exposure gives ISPs a principled way to hold | In general, congestion exposure gives ISPs a principled way to hold | |||
| their customers accountable for the impact on others of their network | their customers accountable for the impact on others of their network | |||
| usage and reward them for choosing congestion-sensitive applications. | usage and reward them for choosing congestion-sensitive applications. | |||
| 5. ECN - a Step in the Right Direction | 4.1. ECN - a Step in the Right Direction | |||
| Explicit Congestion Notification [RFC3168] allows routers to | Explicit Congestion Notification [RFC3168] allows routers to | |||
| explicitly tell end-hosts that they are approaching the point of | explicitly tell end-hosts that they are approaching the point of | |||
| congestion. ECN builds on Active Queue Mechanisms such as random | congestion. ECN builds on Active Queue Mechanisms such as random | |||
| early discard (RED) [RFC2309] by allowing the router to mark a packet | early discard (RED) [RFC2309] by allowing the router to mark a packet | |||
| with a Congestion Experienced (CE) codepoint, rather than dropping | with a Congestion Experienced (CE) codepoint, rather than dropping | |||
| it. The probability of a packet being marked increases with the | 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 | 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 | level of congestion at that queue. This CE codepoint travels forward | |||
| through the network to the receiver which then informs the sender | through the network to the receiver which then informs the sender | |||
| that it has seen congestion. The sender is then required to respond | 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 | as if it had experienced a packet loss. Because the CE codepoint is | |||
| visible in the IP layer, this approach reveals the upstream | visible in the IP layer, this approach reveals the upstream | |||
| congestion level for a packet. | congestion level for a packet. | |||
| Alas, this is not enough - ECN only allows downstream nodes to | Alas, this is not enough - ECN gives downstream nodes an idea of the | |||
| measure the congestion so far for any flow. This can help hold a | congestion so far for any flow. This can help hold a receiver | |||
| receiver accountable for the congestion caused by incoming traffic. | accountable for the congestion caused by incoming traffic. But a | |||
| But a receiver can only indirectly influence incoming congestion, by | receiver can only indirectly influence incoming congestion, by | |||
| politely asking the sender to control it. A receiver cannot make a | politely asking the sender to control it. A receiver cannot make a | |||
| sender install an adaptive codec, or install LEDBAT instead of TCP | sender install an adaptive codec, or install LEDBAT instead of TCP | |||
| congestion-control. And a receiver cannot cause an attacker to stop | congestion-control. And a receiver cannot cause an attacker to stop | |||
| flooding it with traffic. | flooding it with traffic. | |||
| What is needed is knowledge of the downstream congestion level, for | What is needed is knowledge of the downstream congestion level, for | |||
| which you need additional information that is still concealed from | which you need additional information that is still concealed from | |||
| the network. | the network. | |||
| 5. Requirements for ConEx | ||||
| This document is intended to highlight some of the possible uses for | ||||
| a congestion exposure mechanism such as the one being proposed by the | ||||
| ConEx working group. The actual ConEx mechanism will be defined in | ||||
| another document. | ||||
| In this section we set out some basic requirements for any ConEx | ||||
| mechanism. We are not saying this is an exhaustive list of those | ||||
| requirements. This list is simply to allow readers to make a | ||||
| realistic assessment of the feasibility and utility of the use cases | ||||
| set out in Section 8. | ||||
| The three key requirements are | ||||
| 1. Timeliness of information. The limitations of current network | ||||
| design gives a minimum delay of 1 round trip time (RTT) for | ||||
| congestion information to circulate the network. It is important | ||||
| that the conex mechanism operates on similar timescales to ensure | ||||
| the congestion information it exposes is as up to date as | ||||
| possible. Stale congestion information is useless since | ||||
| congestion levels can fluctuate widely over relatively short | ||||
| timescales. | ||||
| 2. Accuracy of information. In order to be useful, congestion | ||||
| information has to be sufficiently accurate for the purposes for | ||||
| which it is to be used. In general the main purposes are | ||||
| monitoring congestion and controlling congestion. As a minimum, | ||||
| conex should equal the accuracy required for current TCP | ||||
| implementations. A unary signal such as that provided by ECN is | ||||
| sufficient though a more precise signal may be desirable. | ||||
| 3. Visibility of information. In order to be useful conex | ||||
| information should be visible at every point in the network. In | ||||
| today's networks that means it must be visible at the IP layer. | ||||
| 5.1. ConEx Issues | ||||
| If ConEx information is to be useful, it has to be accurate (within | ||||
| the limitations of the available feedback). This raises three issues | ||||
| that need to be addressed: | ||||
| Distinguishing ConEx traffic from non-ConEx traffic: An ISP may | ||||
| reasonably choose to do nothing different with ConEx traffic. | ||||
| Alternatively they might want to incentivise it in order to give | ||||
| it marginally better service. | ||||
| Over-declaring congestion: ConEx relies on the sender accurately | ||||
| declaring the congestion they expect to see. During TCP slow- | ||||
| start a sender is unable to predict the level of congestion they | ||||
| will experience and it is advisable to declare that expect to see | ||||
| some congestion on the first packet. However it is important to | ||||
| be cautious when over-declaring congestion lest you erode trust in | ||||
| the system. We do not initially propose any mechanism to deal | ||||
| with this issue. | ||||
| Under-declaring congestion: ConEx requires the sender to set the | ||||
| downstream congestion field in each packet to their best estimate | ||||
| of what they expect the whole path congestion to be. If this | ||||
| expected congestion level is to be used for traffic management | ||||
| (see use cases) then it benefits the user to under-declare. | ||||
| Mechanisms are needed to prevent this happening. | ||||
| There are three approaches that may work (individually or in | ||||
| combination): | ||||
| * An ingress router can monitor a user's feedback to see what | ||||
| their reported congestion level actually is. | ||||
| * If the congestion field carries the actual congestion value | ||||
| then a ConEx-Enabled Policer could potentially drop any packet | ||||
| with a downstream-congestion value of zero or less. | ||||
| * An egress router can actively monitor some or all flows to | ||||
| check that they are complying with the requirement that the | ||||
| downstream congestion value should be zero or (slightly | ||||
| positive) when it reaches the egress. | ||||
| 6. A Possible Congestion Exposure Mechanism | 6. A Possible Congestion Exposure Mechanism | |||
| One possible protocol is based on a concept known as re-feedback | One possible protocol is based on a concept known as re-feedback | |||
| [Re-Feedback], and builds on existing active queue management | [Re-Feedback], and builds on existing active queue management | |||
| techniques like RED [RFC2309] and ECN [RFC3168] that network elements | techniques like RED [RFC2309] and ECN [RFC3168] that network elements | |||
| can already use to measure and expose congestion. The protocol is | can already use to measure and expose congestion. The protocol is | |||
| described in more detail in [Fairer-faster], but we summarise it | described in more detail in [Fairer-faster], but we summarise it | |||
| below. | below. | |||
| In this protocol packets have two Congestion fields in their IP | In this protocol packets have two Congestion fields in their IP | |||
| header: | header: | |||
| o A congestion experienced field to record the Upstream Congestion | o An Upstream Congestion field to record the congestion already | |||
| level along the path. Routers indicate their current congestion | experienced along the path. Routers indicate their current | |||
| level by updating this field in every packet. As the packet | congestion level by updating this field in every packet. As the | |||
| traverses the network it builds up a record of the overall | packet traverses the network it builds up a record of the overall | |||
| congestion along its path in this field. This data is sent back | congestion along its path in this field. This data is sent back | |||
| to the sender who uses it to determine its transmission rate. | to the sender who uses it to determine its transmission rate. | |||
| This can be achieved by using the existing ECN field [RFC3168]. | ||||
| o A whole-path congestion field that uses re-feedback to record the | o A whole-path congestion field that uses re-feedback to record the | |||
| total congestion expected along the path. The sender does this by | total congestion expected along the path. The sender does this by | |||
| re-inserting the current Congestion level for the path into this | re-inserting the current Congestion level for the path into this | |||
| field for every packet it transmits. | field for every packet it transmits. | |||
| Thus at any node downstream of the sender you can see the Upstream | Thus at any node downstream of the sender you can see the Upstream | |||
| Congestion for the packet and the whole path congestion (with a time | Congestion for the packet and the whole path congestion (with a time | |||
| lag of one round-trip-time (RTT)) and can calculate the Downstream | lag of one round-trip-time (RTT)) and can calculate the Downstream | |||
| Congestion by subtracting one from the other. | Congestion by subtracting the Upstream from the Whole Path | |||
| Congestion. | ||||
| So congestion exposure can be achieved by coupling congestion | So congestion exposure can be achieved by coupling congestion | |||
| notification from routers with the re-insertion of this information | notification from routers with the re-insertion of this information | |||
| by the sender. This establishes information symmetry between users | by the sender. This establishes information symmetry between users | |||
| and network providers. | and network providers. | |||
| 7. ConEx Use Cases | 7. ConEx Architectural Elements | |||
| ConEx is a simple concept that has revolutionary implications. It is | ConEx is a simple concept that has revolutionary implications. It is | |||
| that rare thing -- a truly disruptive technology, and as such it is | that rare thing -- a truly disruptive technology, and as such it is | |||
| hard to imagine the variety of uses it may be put to. However there | hard to imagine the variety of uses it may be put to. Before even | |||
| are several obvious use cases that come to mind with a little | thinking what it might be used for we need to address the issue of | |||
| thought. The authors aren't claiming all of these have equal merit, | how it can be used. This section describes four architectural | |||
| nor are we claiming ConEx is the only conceivable solution to achieve | elements that can be placed in the network and which utilise ConEx | |||
| these. But these use cases represent a consensus among people that | information to monitor or control traffic flows. | |||
| have been working on this approach for some years. | ||||
| In the following use cases we are assuming the most abstract version | In the following we are assuming the most abstract version of the | |||
| of the ConEx mechanism, namely that every packet carries two | ConEx mechanism, namely that every packet carries two congestion | |||
| congestion fields, one for upstream congestion and one for | fields, one for upstream congestion and one for downstream. | |||
| downstream. At every node that is congested the upstream congestion | Section 6 outlines one possible approach for this. | |||
| value will be incremented in some manner and the downstream | ||||
| congestion value will be decremented. Assuming there is accurate | ||||
| feedback in the system then the aim should be for the downstream | ||||
| value to be zero or slightly positive by the time the packet reaches | ||||
| its destination. | ||||
| If ConEx information is to be useful it has to be accurate (within | 7.1. ConEx Monitoring | |||
| the limitations of the available feedback). This raises three issues | ||||
| that need to be addressed: | ||||
| Distinguishing ConEx traffic from non-ConEx traffic: An ISP may | One of the most useful things ConEx provides is the ability to | |||
| reasonably choose to do nothing different with ConEx traffic. | monitor (and control) the amount of congestion entering or leaving a | |||
| Alternatively they might want to incentivise it in order to give | network. With ConEx, each packet carries sufficient information to | |||
| it marginally better service. IN that case it will be necessary | work out the Upstream, Downstream and Total Congestion Volume that | |||
| to distinguish ConEx traffic from non-ConEx traffic. On one level | packet is responsible for. This allows the overall Congestion Volume | |||
| this seems pretty easy -- ConEx traffic will have the downstream | to be calculated at any point in the network. In effect this gives a | |||
| congestion field in every packet. However in practise it may not | measure of how much excess traffic has been sent that was above the | |||
| be as simple as this as the protocol may use a unary encoding | instantaneous transmission capacity of the network. A 1 Gbps router | |||
| (where the congestion value is encoded across several packets). | that is 0.1% congested implies that there is 1 Mbps of excess traffic | |||
| at that point in time. | ||||
| Over-declaring congestion: ConEx relies on the sender accurately | The figure below shows 2 conceptual pieces of network equipment that | |||
| declaring the congestion they expect to see. During TCP slow- | utilise ConEx information in order to monitor the flow of congestion | |||
| start a sender is unable to predict the level of congestion they | through the network. The Border Monitor sits at the border between | |||
| will experience and it is advisable to declare that expect to see | two networks, while the Edge Monitor sits at the ingress or egress to | |||
| some congestion on the first packet. However, if any host or | the Internetwork. | |||
| router marks more than a small fraction of total traffic, | ||||
| downstream routers are less likely to trust its congestion | ||||
| markings. We do not initially propose any mechanism to deal with | ||||
| this issue. | ||||
| Under-declaring congestion: ConEx requires the sender to set the | ,---. ,---. | |||
| downstream congestion field in each packet to their best estimate | ,-----. / \ ,------. / \ ,------. ,-----. | |||
| of what they expect the whole path congestion to be. If this | | Src |--( Net A )-| B.M. |-( Net B )--| E.M. |--| Dst | | |||
| expected congestion level is to be used for traffic management | '-----` \ / '------` \ / '------` '-----` | |||
| (see use cases) then it benefits the user to under-declare. | '---` ^ '---` ^ | |||
| Mechanisms are needed to prevent this happening. | Border Monitor Edge Monitor | |||
| NB, the Edge Monitor could also be at the Src end of the network | ||||
| There are three approaches that may work (individually or in | Figure 1: Ingress, egress and border monitors | |||
| combination): | ||||
| * An ingress router can monitor a user's feedback to see what | Note: In the tables below ECN-enabled and ConEx-Enabled are as | |||
| their reported congestion level actually is. | defined in Section 2. | |||
| * A ConEx-aware router can drop any packet with a downstream- | 7.1.1. Edge Monitoring | |||
| congestion value of zero or less if that router is even | +------------+----------------+----------------+--------------------+ | |||
| slightly congested. | | Network | ECN-Enabled? | ConEx-Enabled? | Notes | | |||
| | Element | | | | | ||||
| +------------+----------------+----------------+--------------------+ | ||||
| | Sender | Yes, if ECN is | Yes, must be | Must be receiving | | ||||
| | | used as basis | sending ConEx | congestion | | ||||
| | | for congestion | information | feedback | | ||||
| | | signal | | | | ||||
| | Sender's | ECN would be | Should | NB, it doesn't | | ||||
| | Network | beneficial | understand | have to be fully | | ||||
| | | | ConEx markings | ConEx-Enabled | | ||||
| | Core | ECN would be | Needn't | ConEx markings | | ||||
| | Network | beneficial | understand | must get through | | ||||
| | | | ConEx | the network | | ||||
| | Receiver's | ECN would be | Should | Deosn't have to be | | ||||
| | Network | beneficial | understand | fully | | ||||
| | | | ConEx markings | ConEx-Enabled | | ||||
| | Receiver | Only needed if | Should | Has to feedback | | ||||
| | | network is | understand | the congestion it | | ||||
| | | ECN-Enabled | ConEx | sees (either ECN | | ||||
| | | | | or drop) | | ||||
| +------------+----------------+----------------+--------------------+ | ||||
| * An egress router can actively monitor some or all flows to | Table 1: Requirements for Edge Monitoring | |||
| check that they are complying with the requirement that the | ||||
| downstream congestion value should be zero or (slightly | ||||
| positive) when it reaches the egress. | ||||
| At any point of congestion, it is reasonable to treat ConEx-marked | Edge Monitors are ideally positioned to verify the accuracy of ConEx | |||
| traffic differently: | markings. If there is an imbalance between the expected congestion | |||
| and the actual congestion then this will show up at the egress. Edge | ||||
| Monitors can also be used by an operator to measure the service a | ||||
| given customer is receiving by monitoring how much congestion their | ||||
| traffic is causing. This may allow them to take pre-emptive action | ||||
| if they detect any anomalies. | ||||
| o non-ConEx traffic will mostly be dropped (as now); | 7.1.2. Border Monitoring | |||
| o ConEx-marked traffic which has exhausted its congestion allowance | +------------+-----------------+-----------------+------------------+ | |||
| will (all) be dropped; | | Network | ECN-Enabled? | ConEx-Enabled? | Notes | | |||
| | Element | | | | | ||||
| +------------+-----------------+-----------------+------------------+ | ||||
| | Sender | Must be | Yes, must be | Must receive | | ||||
| | | ECN-enabled if | sending ConEx | accurate | | ||||
| | | any of the | information | congestion | | ||||
| | | network is | | feedback | | ||||
| | Sender's | ECN should be | Should | Ideally would be | | ||||
| | Network | enabled | understand | ConEx-Enabled | | ||||
| | | | ConEx markings | | | ||||
| | Core | ECN should be | Should | Ideally would be | | ||||
| | Network | enabled | understand | ConEx-Enabled | | ||||
| | | | ConEx markings | | | ||||
| | Receiver's | ECN should be | Should | Ideally would be | | ||||
| | Network | enabled | understand | ConEx-Enabled | | ||||
| | | | ConEx markings | | | ||||
| | Receiver | Must be | Must be ConEx | Receiver has to | | ||||
| | | ECN-enabled if | enabled | feedback the | | ||||
| | | any of the | | congestion it | | ||||
| | | network is | | sees | | ||||
| +------------+-----------------+-----------------+------------------+ | ||||
| 7.1. Ingress policing for traffic management | Table 2: Requirements for Border Monitoring | |||
| At any border between 2 networks, the operator can see the total | ||||
| Congestion Volume that is being forwarded into its network by the | ||||
| neighbouring network. A Border Monitor is able to measure the bulk | ||||
| congestion markings and establish the flow of Congestion Volume each | ||||
| way across the border. This could be used as the basis for inter- | ||||
| network settlements. It also provides information to target upgrades | ||||
| to where they are actually needed and might help to identify network | ||||
| problems. Border Monitoring really needs the majority of the network | ||||
| to be ECN-Enabled in order to provide the necessary Upstream | ||||
| Congestion signal. Clearly the greatest benefit comes when there is | ||||
| also ConEx deployment in the nnetwork. However, as long as the | ||||
| sender is sending accurate ConEx information and the majority of the | ||||
| network is ECN-enabled, border monitoring will work. | ||||
| 7.2. ConEx Policing | ||||
| As shown above, ConEx gives an easy method of measuring Congestion | ||||
| Volume. This information can be used as a control metric for making | ||||
| traffic management decisions (such as deciding which traffic to | ||||
| prioritise) or to identify and block sources of persistent and | ||||
| damaging congestion. Simple policer mechanisms, such as those | ||||
| described in [Policing-freedom] and [re-ecn-motive], can control the | ||||
| overall congestion volume traversing a network. Ingress Policing | ||||
| typically happens at the Ingress Node, Egress Policing typically | ||||
| happens at the Egress Node and Border Policing can happen at any | ||||
| border between two networks. The current charter concentrates on use | ||||
| cases employing Egress Policers. | ||||
| ,---. ,---. | ||||
| +-----+ +------+ / \ +------+ / \ +------+ +-----+ | ||||
| | Src |--| I.P. |--( Net A )-| B.P. |-( Net B )--| E.P. |--| Dst | | ||||
| +-----+ +------+ \ / +------+ \ / +------+ +-----+ | ||||
| ^ '---` ^ '---` ^ | ||||
| Ingress Policer Border Policer Egress Policer | ||||
| Figure 2: Ingress, egress and border policers | ||||
| 7.2.1. Egress Policing | ||||
| +------------+--------------+----------------+----------------------+ | ||||
| | Network | ECN-Enabled? | ConEx-Enabled? | Notes | | ||||
| | Element | | | | | ||||
| +------------+--------------+----------------+----------------------+ | ||||
| | Sender | The sender | Must be | Must be receiving | | ||||
| | | should be | ConEx-Enabled | congestion feedback | | ||||
| | | ECN-enabled | | | | ||||
| | | if any of | | | | ||||
| | | the network | | | | ||||
| | | is | | | | ||||
| | Sender's | ECN is | ConEx is | ConEx would enable | | ||||
| | Network | optional but | optional | them to do Ingress | | ||||
| | | beneficial | | Policing (see later) | | ||||
| | Core | ECN is | Not needed | ConEx marks must | | ||||
| | Network | optional but | | survive crossing the | | ||||
| | | beneficial | | network | | ||||
| | Receiver's | ECN is | Must fully | Each receiver needs | | ||||
| | Network | optional but | understand | an Egress Policer | | ||||
| | | beneficial | ConEx | | | ||||
| | Receiver | Should be | Should | Must feedback the | | ||||
| | | ECN-enabled | understand | congestion it sees. | | ||||
| | | if any of | ConEx | ConEx may have a | | ||||
| | | the network | | compatibility mode | | ||||
| | | is | | if the receiver is | | ||||
| | | | | not ConEx-Enabled | | ||||
| +------------+--------------+----------------+----------------------+ | ||||
| Table 3: Egress Policer Requirements | ||||
| An Egress Policer allows an ISP to monitor the Congestion Volume a | ||||
| user's traffic has caused throughout the network, and then use this | ||||
| to prioritise the traffic accordingly. By itself, such a policer | ||||
| cannot tell how much of this congestion was caused in the ISP's own | ||||
| network, but it will identify which users are the "heaviest" in terms | ||||
| of the congestion they have caused. Assuming the ConEx information | ||||
| is accurate then the Egress Policer will be able to see how much | ||||
| congestion exists between it and the final destination (what you | ||||
| might call "last-mile" congestion). There are a number of strategies | ||||
| that could be used to determine how traffic is treated by an Egress | ||||
| Policer. Obviously traffic that is not ConEx enabled needs to | ||||
| receive some form of "default" treatment. Traffic that is ConEx | ||||
| enabled may have under-declared congestion in which case it would be | ||||
| reasonable to give it a low scheduling priority. Traffic that | ||||
| appears to be over-declaring congestion may be simply a result of | ||||
| especially high "last-mile" congestion, in which case the ISP may | ||||
| want to upgrade the access capacity, or may want to try and reduce | ||||
| the volume of traffic. Where the ISP knows what the "last-mile" | ||||
| congestion is (for instance if it is able to measure several users | ||||
| sharing that same capacity) then any remaining over-declared | ||||
| congestion might be seen as a signal that the sender wishes to | ||||
| prioritise this traffic. | ||||
| 7.2.2. Ingress Policing | ||||
| +------------+--------------+----------------+----------------------+ | ||||
| | Network | ECN-Enabled? | ConEx-Enabled? | Notes | | ||||
| | Element | | | | | ||||
| +------------+--------------+----------------+----------------------+ | ||||
| | Sender | Should be | Must be | Must be receiving | | ||||
| | | ECN-enabled | ConEx-enabled | congestion feedback | | ||||
| | Sender's | ECN is | Must | | | ||||
| | Network | optional but | understand | | | ||||
| | | beneficial | ConEx | | | ||||
| | Core | ECN is | Needn't | ConEx markings must | | ||||
| | Network | optional but | understand | survive crossing the | | ||||
| | | beneficial | ConEx | network | | ||||
| | Receiver's | ECN is | Needn't | ConEx markings must | | ||||
| | Network | optional but | understand | survive crossing the | | ||||
| | | beneficial | ConEx | network | | ||||
| | Receiver | Should be | Should be | Must feedback the | | ||||
| | | ECN-enabled | ConEx-Enabled | congestion it sees. | | ||||
| | | if any of | | ConEx may have a | | ||||
| | | the network | | compatibility mode | | ||||
| | | is | | if the receiver is | | ||||
| | | | | not ConEx-Enabled | | ||||
| +------------+--------------+----------------+----------------------+ | ||||
| Table 4: Ingress Policer Requirements | ||||
| At the Network Ingress, an ISP can police the amount of congestion a | ||||
| user is causing by limiting the congestion volume they send into the | ||||
| network. One system that achieves this is described in | ||||
| [Policing-freedom]. This uses a modified token bucket to limit the | ||||
| congestion rate being sent rather than the overall rate. Such | ||||
| ingress policing is relatively simple as it requires no flow state. | ||||
| Furthermore, unlike many mechanisms, it treats all a user's packets | ||||
| equally. | ||||
| 7.2.3. Border Policing | ||||
| +------------+--------------+----------------+----------------------+ | ||||
| | Network | ECN-Enabled? | ConEx-Enabled? | Notes | | ||||
| | Element | | | | | ||||
| +------------+--------------+----------------+----------------------+ | ||||
| | Sender | ECN should | Must be | Must receive | | ||||
| | | be enabled | ConEx-enabled | accurate congestion | | ||||
| | | | | feedback | | ||||
| | Sender's | ECN is | Must be | | | ||||
| | Network | optional but | ConEx-enabled | | | ||||
| | | beneficial | | | | ||||
| | Core | ECN is | Should be | Must be | | ||||
| | Network | optional but | ConEx-Enabled | ConEx-Enabled if it | | ||||
| | | beneficial | | is doing the | | ||||
| | | | | policing. At a | | ||||
| | | | | minimum must pass | | ||||
| | | | | ConEx markings | | ||||
| | | | | unaltered | | ||||
| | Receiver's | ECN is | Should be | At a minimum must | | ||||
| | Network | optional but | ConEx-Enabled | pass ConEx markings | | ||||
| | | beneficial | | unaltered | | ||||
| | Receiver | Should be | Should be | Must feedback the | | ||||
| | | ECN-Enabled | ConEx-Enabled | congestion it sees. | | ||||
| | | if any of | | ConEx may have a | | ||||
| | | the network | | compatibility mode | | ||||
| | | is | | if the receiver is | | ||||
| | | | | not ConEx-Enabled | | ||||
| +------------+--------------+----------------+----------------------+ | ||||
| Table 5: Border Policer Requirements | ||||
| A Border Policer will allow an operator to directly control the | ||||
| congestion that it allows into its network. Normally we would expect | ||||
| the controls to be related to some form of contractual obligation | ||||
| between the two parties. However, such Policing could also be used | ||||
| to mitigate some effects of Distributed Denial of Service (see | ||||
| Section 8.3). In effect a Border Policer encourages the network | ||||
| upstream to take responsibility for congestion it will cause | ||||
| downstream and could be seen as an incentive for that network to | ||||
| participate in ConEx (e.g. install Ingress Policers) | ||||
| 8. ConEx Use Cases | ||||
| This section sets out some of the use cases for ConEx. These use | ||||
| cases rely on some of the conceptual network elements (policers and | ||||
| monitors) described in Section 7 above. 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. | ||||
| 8.1. ConEx as a basis for traffic management | ||||
| Currently many ISPs impose some form of traffic management at peak | Currently many ISPs impose some form of traffic management at peak | |||
| hours. This is a simple economic necessity -- the only reason the | hours. This is a simple economic necessity -- the only reason the | |||
| Internet works as a commercial concern is that ISPs are able to rely | Internet works as a commercial concern is that ISPs are able to rely | |||
| on statistical multiplexing to share their expensive core network | on statistical multiplexing to share their expensive core network | |||
| between large numbers of customers. In order to ensure all customers | between large numbers of customers. In order to ensure all customers | |||
| get some chance to access the network, the "heaviest" customers will | get some chance to access the network, the "heaviest" customers will | |||
| be subjected to some form of traffic management at peak times | be subjected to some form of traffic management at peak times | |||
| (typically a rate cap for certain types of traffic) [Fair-use]. | (typically a rate cap for certain types of traffic) [Fair-use]. | |||
| Often this traffic management is done with expensive flow aware | Often this traffic management is done with expensive flow aware | |||
| devices such as DPI boxes or flow-aware routers. | devices such as DPI boxes or flow-aware routers. | |||
| ConEx enables a new approach that requires simple per-user policing | ConEx offers a better approach that will actually target the users | |||
| at the ingress. As described above, every packet a user sends should | that are causing the congestion. By using Ingress or Egress | |||
| declare the total congestion that the sender expects that packet to | Policers, an ISP can identify which users are causing the greatest | |||
| encounter on its journey through the network. This allows the | Congestion Volume throughout the network. This can then be used as | |||
| overall Congestion Volume to be calculated. In effect this is a | the basis for traffic management decisions. The Ingress Policer | |||
| measure of how much traffic was sent that was above the instantaneous | described in [Policing-freedom] is one interesting approach that | |||
| transmission capacity of the network. By extension the congestion | gives the user a congestion volume limit. So long as they stay | |||
| rate would be the transmission rate multiplied by the congestion | within their limit then their traffic is unaffected. Once they | |||
| level. A 1 Gbps router that is 0.1% congested implies that there is | exceed that limit then their traffic will be blocked temporarily. | |||
| 1 Mbps of excess traffic at that point in time. | ||||
| At the Ingress Router an ISP can police the amount of congestion a | ||||
| user is causing by limiting the congestion volume they send into the | ||||
| network. One system that achieves this is described in | ||||
| [Policing-freedom]. This uses a modified token bucket to limit the | ||||
| congestion rate being sent rather than the overall rate. Effectively | ||||
| the Ingress Router is now acting as a ConEx policer. Such ingress | ||||
| policing is relatively simple as it requires no flow state. | ||||
| Furthermore, unlike many mechanisms, it treats all a user's packets | ||||
| equally. | ||||
| 7.2. ConEx to incentivise scavenger transports | 8.2. ConEx to incentivise scavenger transports | |||
| Recent work proposes a new approach for QoS where traffic is provided | Recent work proposes a new approach for QoS where traffic is provided | |||
| with a less than best effort or "scavenger" quality of service. The | 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, | 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 | 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 | use any spare network capacity, but should rapidly get out of the way | |||
| if a higher priority or interactive application starts up. One | if a higher priority or interactive application starts up. One | |||
| solution being actively explored is LEDBAT which proposes a new | solution being actively explored is LEDBAT which proposes a new | |||
| congestion control algorithm that is less aggressive in seeking out | congestion control algorithm that is less aggressive in seeking out | |||
| bandwidth than TCP. | bandwidth than TCP. | |||
| At present most ISPs assume a strong correlation between the volume | At present most ISPs assume a strong correlation between the volume | |||
| of a flow and the impact that flow causes in the network. This | of a flow and the impact that flow causes in the network. This | |||
| assumption has been eroded by the growth of interactive streaming | assumption has been eroded by the growth of interactive streaming | |||
| which behaves in an inelastic manner. Assuming the end-user is using | which behaves in an inelastic manner and hence can cause high | |||
| ConEx marking on all traffic and that LEDBAT leads to the expected | congestion at relatively low data volumes. Currently LEDBAT-like | |||
| low level of congestion and the ingress ISP has deployed a ConEx- | transports get no incentive from the ISP since they still transfer | |||
| aware ingress policer, then the LEDBAT will not be penalised since it | large volumes of data and may reach high transfer speeds if the | |||
| will be causing less congestion. (If LEDBAT is not ConEx-marking | network is uncongested. Consequently the only current incentive for | |||
| traffic then the ISP will be forced to guess the congestion, probably | LEDBAT is that it can reduce self-congestion effects. | |||
| based on the total volume). | ||||
| If the ISP has deployed a ConEx-aware ingress policer then they are | 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 | able to incentivise the use of LEDBAT because a user will be policed | |||
| according to the overall congestion volume their traffic generates. | according to the overall congestion volume their traffic generates, | |||
| If all background file transfers are only generating a low level of | not the rate or data volume. If all background file transfers are | |||
| congestion then the sender has more "congestion budget" to "spend" on | only generating a low level of congestion, then the sender has more | |||
| their interactive applications. It can be shown [Kelly] that this | "congestion budget" to "spend" on their interactive applications. It | |||
| approach maximises social welfare -- in other words if you limit the | can be shown [Kelly] that this approach improves social welfare -- in | |||
| congestion that all users can generate then everyone benefits from a | other words if you limit the congestion that all users can generate | |||
| better service. | then everyone benefits from a better service. | |||
| 7.3. ConEx to mitigate DDoS | 8.3. ConEx to mitigate DDoS | |||
| DDoS relies on subverting innocent end users and getting them to send | DDoS relies on subverting innocent end users and getting them to send | |||
| flood traffic to a given destination. This is intended to cause a | flood traffic to a given destination. This is intended to cause a | |||
| rapid increase in congestion in the immediate vicinity of that | rapid increase in congestion in the immediate vicinity of that | |||
| destination. If it fails to do this then it can't be called Denial | destination. If it fails to do this then it can't be called Denial | |||
| of Service. If the ingress ISP has deployed ConEx aware policers | of Service. If the ingress ISP has deployed Ingress Policers, that | |||
| Section 7.1, that ISP will limit how much DDoS traffic enters the | ISP will effectively limit how much DDoS traffic enters the 'net. If | |||
| 'net. If the compromised user tries to use the 'net during the DDoS | any ISP along the path has deployed Border Monitors then they will be | |||
| attack, they will quickly become aware that something is wrong, and | able to detect a sharp rise in Congestion Volume and if they have | |||
| their ISP can show the evidence that their computer has become | Border Policers they will be able to "turn off" this traffic. If the | |||
| zombified. | victim of the DDoS attack is behind an Egress Monitor then their ISP | |||
| will be able to detect which traffic is causing problems. If the | ||||
| compromised user tries to use the 'net during the DDoS attack, they | ||||
| will quickly become aware that something is wrong, and their ISP can | ||||
| show the evidence that their computer has become zombified. | ||||
| 7.4. ConEx as a form of differential QoS | DDoS is a genuine problem and so far there is no perfect solution. | |||
| ConEx does serve to raise the bar somewhat and can avoid the need for | ||||
| some of the more draconian measures that are currently used to | ||||
| control DDoS. More details of this can be found in [Malice]. | ||||
| 8.4. 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 ISPs 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. | ||||
| 8.5. ConEx as a form of differential QoS | ||||
| Most QoS approaches require the active participation of routers to | Most QoS approaches require the active participation of routers to | |||
| control the delay and loss characteristics for the traffic. For | control the delay and loss characteristics for the traffic. For | |||
| real-time interactive traffic it is clear that low delay and low | real-time interactive traffic it is clear that low delay (and | |||
| jitter are critical and thus these probably always need different | predictable jitter) are critical, and thus these probably always need | |||
| treatment at a router. However if low loss is the issue then ConEx | different treatment at a router. However if low loss is the issue | |||
| offers an alternative approach. Assuming the ingress ISP has | then ConEx offers an alternative approach. | |||
| deployed ConEx-aware ingress policing then the only control on a | ||||
| user's traffic is dependent on the congestion that user has caused. | ||||
| If they want to prioritise some traffic over other traffic then they | ||||
| can allow that traffic to generate more congestion. The price to pay | ||||
| will be to reduce the congestion that their other traffic causes. | ||||
| 7.5. Other issues | 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 | ||||
| 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). | ||||
| 8.6. 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 | ||||
| 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. | ||||
| 9. Other issues | ||||
| 9.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 ISPs 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 ISPs) 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 ISPs 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 | ||||
| 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 ISPs can work out that there is persistent congestion as their | ||||
| customers will be suffering degraded network performance. | ||||
| 9.2. Information Security | ||||
| make a source believe it has seen more congestion than it has | 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 | hijack a user's identity and make it appear they are dishonest at an | |||
| egress policer | egress policer | |||
| clear or otherwise tamper with the ConEx markings | clear or otherwise tamper with the ConEx markings | |||
| ... | ... | |||
| 8. Security Considerations | {ToDo} Write these up properly... | |||
| 10. Security Considerations | ||||
| This document proposes a mechanism tagging onto Explicit Congestion | This document proposes a mechanism tagging onto Explicit Congestion | |||
| Notification [RFC3168], and inherits the security issues listed | Notification [RFC3168], and inherits the security issues listed | |||
| therein. The additional issues from Congestion Expected markings | therein. The additional issues from ConEx markings relate to the | |||
| relate to the degree of trust each forwarding point places in | degree of trust each forwarding point places in the ConEx markings it | |||
| Congestion Expected markings it receives, which is a business | receives, which is a business decision mostly orthogonal to the | |||
| decision mostly orthogonal to the markings themselves. | markings themselves. | |||
| One expected use of exposed congestion information is to hold the | One expected use of exposed congestion information is to hold the | |||
| end-to-end transport and the network accountable to each other. The | end-to-end transport and the network accountable to each other. The | |||
| network cannot be relied on to report information to the receiver | network cannot be relied on to report information to the receiver | |||
| against its interest, and the same applies for the information the | against its interest, and the same applies for the information the | |||
| receiver feeds back to the sender, and that the sender reports back | receiver feeds back to the sender, and that the sender reports back | |||
| to the network. Looking at each in turn: | to the network. Looking at each in turn: | |||
| o The Network. In general it is not in any network's interest to | The Network In general it is not in any network's interest to under- | |||
| under-declare congestion since this will have potentially negative | declare congestion since this will have potentially negative | |||
| consequences for all users of that network. It may be in its | consequences for all users of that network. It may be in its | |||
| interest to over-declare congestion if, for instance, it wishes to | interest to over-declare congestion if, for instance, it wishes to | |||
| force traffic to move away to a different network or simply to | force traffic to move away to a different network or simply to | |||
| reduce the amount of traffic it is carrying. Congestion Exposure | reduce the amount of traffic it is carrying. Congestion Exposure | |||
| itself won't significantly alter the incentives for and against | itself won't significantly alter the incentives for and against | |||
| honest declaration of congestion by a network, but we can imagine | honest declaration of congestion by a network, but we can imagine | |||
| applications of Congestion Exposure that will change these | applications of Congestion Exposure that will change these | |||
| incentives. There is a perception among network operators that | incentives. There is a perception among network operators that | |||
| their level of congestion is a business secret. Today, congestion | their level of congestion is a business secret. Today, congestion | |||
| is one of the worst-kept secrets a network has, because end-hosts | is one of the worst-kept secrets a network has, because end-hosts | |||
| can see congestion better than network operators can. Congestion | can see congestion better than network operators can. Congestion | |||
| Exposure will enable network operators to pinpoint whether | Exposure will enable network operators to pinpoint whether | |||
| congestion is on one side or the other of any border. It is | congestion is on one side or the other of any border. It is | |||
| conceivable that forwarders with underprovisioned networks may try | conceivable that forwarders with underprovisioned networks may try | |||
| to obstruct deployment of Congestion Exposure. | to obstruct deployment of Congestion Exposure. | |||
| o The Receiver. Receivers generally have an incentive to under- | The Receiver Receivers generally have an incentive to under-declare | |||
| declare congestion since they generally wish to receive the data | congestion since they generally wish to receive the data from the | |||
| from the sender as rapidly as possible. [Savage] explains how a | sender as rapidly as possible. [Savage] explains how a receiver | |||
| receiver can significantly improve their throughput my failing to | can significantly improve their throughput my failing to declare | |||
| declare congestion. This is a problem with or without Congestion | congestion. This is a problem with or without Congestion | |||
| Exposure. [KGao] explains one possible technique to encourage | Exposure. [KGao] explains one possible technique to encourage | |||
| receiver's to be honest in their declaration of congestion. | receiver's to be honest in their declaration of congestion. | |||
| o The Sender. One proposed mechanism for Congestion Exposure | The Sender One proposed mechanism for Congestion Exposure deployment | |||
| deployment adds a requirement for a sender to advise the network | adds a requirement for a sender to advise the network how much | |||
| how much congestion it has suffered or caused. Although most | congestion it has suffered or caused. Although most senders | |||
| senders currently respond to congestion they are informed of, one | currently respond to congestion they are informed of, one use of | |||
| use of exposed congestion information might be to encourage | exposed congestion information might be to encourage sources of | |||
| sources of excessive congestion to back off more aggressively. | persistent congestion to back off more aggressively. Then clearly | |||
| there may be an incentive for the sender to under-declare | ||||
| Then clearly there may be an incentive for the sender to under- | congestion. This will be a particular problem with sources of | |||
| declare congestion. This will be a particular problem with | flooding attacks. "Policing" mechanisms have been proposed to | |||
| sources of flooding attacks. "Policing" mechanisms have been | deal with this. | |||
| proposed to deal with this. | ||||
| In addition there are potential problems from source spoofing. A | In addition there are potential problems from source spoofing. A | |||
| malicious sender can pretend to be another user by spoofing the | malicious sender can pretend to be another user by spoofing the | |||
| source address. Congestion Exposure allows for "Policers" and | source address. Congestion Exposure allows for "Policers" and | |||
| "Traffic Shapers" so as to be robust against injection of false | "Traffic Shapers" so as to be robust against injection of false | |||
| congestion information into the forward path. | congestion information into the forward path. | |||
| 9. IANA Considerations | 11. IANA Considerations | |||
| This document does not require actions by IANA. | This document does not require actions by IANA. | |||
| 10. Acknowledgments | 12. 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. | ||||
| The authors would like to thank Contributing Authors Bernard Aboba, | The authors would like to thank Contributing Authors Bernard Aboba, | |||
| Joao Taveira Araujo, Louise Burness, Alissa Cooper, Philip Eardley, | Joao Taveira Araujo, Louise Burness, Alissa Cooper, Philip Eardley, | |||
| Michael Menth, and Hannes Tschofenig for their inputs to this | Michael Menth, and Hannes Tschofenig for their inputs to this | |||
| document. | document. Useful feedback was also provided by Dirk Kutscher. | |||
| 11. References | 13. References | |||
| 11.1. Normative References | 13.1. Normative References | |||
| [RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The | [RFC3168] Ramakrishnan, K., Floyd, | |||
| Addition of Explicit Congestion Notification | S., and D. Black, "The | |||
| (ECN) to IP", RFC 3168, September 2001. | Addition of Explicit | |||
| Congestion Notification | ||||
| (ECN) to IP", RFC 3168, | ||||
| September 2001. | ||||
| 11.2. Informative References | 13.2. Informative References | |||
| [BB-incentive] MIT Communications Futures Program (CFP) and | [BB-incentive] MIT Communications Futures | |||
| Cambridge University Communications Research | Program (CFP) and | |||
| Network, "The Broadband Incentive Problem", | Cambridge University | |||
| September 2005. | Communications Research | |||
| Network, "The Broadband | ||||
| Incentive Problem", | ||||
| September 2005. | ||||
| [Fair-use] Broadband Choices, "Truth about 'fair usage' | [Design-Philosophy] Clarke, D., "The Design | |||
| broadband", 2009. | Philosophy of the DARPA | |||
| Internet Protocols", 1988. | ||||
| [Fairer-faster] Briscoe, B., "A Fairer Faster Internet Protocol", | [Fair-use] Broadband Choices, "Truth | |||
| IEEE Spectrum Dec 2008 pp38-43, December 2008. | about 'fair usage' | |||
| broadband", 2009. | ||||
| [KGao] Gao, K. and C. Wang, "Incrementally Deployable | [Fairer-faster] Briscoe, B., "A Fairer | |||
| Prevention to TCP Attack with Misbehaving | Faster Internet Protocol", | |||
| Receivers", December 2004. | IEEE Spectrum Dec 2008 | |||
| pp38-43, December 2008. | ||||
| [Kelly] Kelly, F., Maulloo, A., and D. Tan, "Rate control | [I-D.briscoe-tsvwg-re-ecn-tcp-motivation] Briscoe, B., Jacquet, A., | |||
| for communication networks: shadow prices, | Moncaster, T., and A. | |||
| proportional fairness and stability", Journal of | Smith, "Re-ECN: A | |||
| the Operational Research Society 49(3) 237--252, | Framework for adding | |||
| 1998, | Congestion Accountability | |||
| <http://www.statslab.cam.ac.uk/~frank/rate.html>. | to TCP/IP", draft-briscoe- | |||
| tsvwg-re-ecn-tcp- | ||||
| motivation-01 (work in | ||||
| progress), September 2009. | ||||
| [LEDBAT] Shalunov, S., "Low Extra Delay Background | [KGao] Gao, K. and C. Wang, | |||
| Transport (LEDBAT)", | "Incrementally Deployable | |||
| draft-ietf-ledbat-congestion-01 (work in | Prevention to TCP Attack | |||
| progress), March 2010. | with Misbehaving | |||
| Receivers", December 2004. | ||||
| [OfCom] Ofcom: Office of Communications, "UK Broadband | [Kelly] Kelly, F., Maulloo, A., | |||
| Speeds 2008: Research report", January 2009. | 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>. | ||||
| [Policing-freedom] Briscoe, B., Jacquet, A., and T. Moncaster, | [LEDBAT] Shalunov, S., "Low Extra | |||
| "Policing Freedom to Use the Internet Resource | Delay Background Transport | |||
| Pool", RE-Arch 2008 hosted at the 2008 CoNEXT | (LEDBAT)", draft-ietf- | |||
| conference , December 2008. | ledbat-congestion-01 (work | |||
| in progress), March 2010. | ||||
| [RFC2309] Braden, B., Clark, D., Crowcroft, J., Davie, B., | [Malice] Briscoe, B., "Using Self | |||
| Deering, S., Estrin, D., Floyd, S., Jacobson, V., | Interest to Prevent | |||
| Minshall, G., Partridge, C., Peterson, L., | Malice; Fixing the Denial | |||
| Ramakrishnan, K., Shenker, S., Wroclawski, J., | of Service Flaw of the | |||
| and L. Zhang, "Recommendations on Queue | Internet", WESII - | |||
| Management and Congestion Avoidance in the | Workshop on the Economics | |||
| Internet", RFC 2309, April 1998. | of Securing the | |||
| Information | ||||
| Infrastructure 2006, 2006, | ||||
| <http:// | ||||
| wesii.econinfosec.org/ | ||||
| draft.php?paper_id=19>. | ||||
| [Re-Feedback] Briscoe, B., Jacquet, A., Di Cairano-Gilfedder, | [OfCom] Ofcom: Office of | |||
| C., Salvatori, A., Soppera, A., and M. Koyabe, | Communications, "UK | |||
| "Policing Congestion Response in an Internetwork | Broadband Speeds 2008: | |||
| Using Re-Feedback", ACM SIGCOMM CCR 35(4)277-- | Research report", | |||
| 288, August 2005, <http://www.acm.org/sigs/ | January 2009. | |||
| sigcomm/sigcomm2005/techprog.html#session8>. | ||||
| [Savage] Savage, S., Wetherall, D., and T. Anderson, "TCP | [Policing-freedom] Briscoe, B., Jacquet, A., | |||
| Congestion Control with a Misbehaving Receiver", | and T. Moncaster, | |||
| ACM SIGCOMM Computer Communication Review , 1999. | "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. | ||||
| [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>. | ||||
| [Savage] Savage, S., Wetherall, D., | ||||
| and T. Anderson, "TCP | ||||
| Congestion Control with a | ||||
| Misbehaving Receiver", ACM | ||||
| SIGCOMM Computer | ||||
| Communication Review , | ||||
| 1999. | ||||
| [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-01 (work in | ||||
| progress), September 2009. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Bob Briscoe | Bob Briscoe | |||
| BT | BT | |||
| B54/77, Adastral Park | B54/77, Adastral Park | |||
| Martlesham Heath | Martlesham Heath | |||
| Ipswich IP5 3RE | Ipswich IP5 3RE | |||
| UK | UK | |||
| skipping to change at page 20, line 30 | skipping to change at page 29, line 30 | |||
| Comcast Cable Communications | Comcast Cable Communications | |||
| 27 Industrial Avenue | 27 Industrial Avenue | |||
| Chelmsford, MA 01824 | Chelmsford, MA 01824 | |||
| US | US | |||
| EMail: richard_woundy@cable.comcast.com | EMail: richard_woundy@cable.comcast.com | |||
| URI: http://www.comcast.com | URI: http://www.comcast.com | |||
| Toby Moncaster (editor) | Toby Moncaster (editor) | |||
| Moncaster.com | Moncaster.com | |||
| Dukes | ||||
| Layer Marney | Layer Marney | |||
| Colchester CO5 9UZ | Colchester CO5 9UZ | |||
| UK | UK | |||
| EMail: toby@moncaster.com | EMail: toby@moncaster.com | |||
| John Leslie (editor) | John Leslie (editor) | |||
| JLC.net | JLC.net | |||
| 10 Souhegan Street | 10 Souhegan Street | |||
| Milford, NH 03055 | Milford, NH 03055 | |||
| End of changes. 79 change blocks. | ||||
| 277 lines changed or deleted | 887 lines changed or added | |||
This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||