< draft-briscoe-re-pcn-border-cheat-02.txt | draft-briscoe-re-pcn-border-cheat-03.txt > | |||
---|---|---|---|---|
PCN Working Group B. Briscoe | PCN Working Group B. Briscoe | |||
Internet-Draft BT & UCL | Internet-Draft BT | |||
Intended status: Standards Track September 13, 2008 | Intended status: Standards Track October 26, 2009 | |||
Expires: March 17, 2009 | Expires: April 29, 2010 | |||
Emulating Border Flow Policing using Re-PCN on Bulk Data | Emulating Border Flow Policing using Re-PCN on Bulk Data | |||
draft-briscoe-re-pcn-border-cheat-02 | draft-briscoe-re-pcn-border-cheat-03 | |||
Status of this Memo | Status of This Memo | |||
By submitting this Internet-Draft, each author represents that any | This Internet-Draft is submitted to IETF in full conformance with the | |||
applicable patent or other IPR claims of which he or she is aware | provisions of BCP 78 and BCP 79. | |||
have been or will be disclosed, and any of which he or she becomes | ||||
aware will be disclosed, in accordance with Section 6 of BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
other groups may also distribute working documents as Internet- | other groups may also distribute working documents as Internet- | |||
Drafts. | Drafts. | |||
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." | |||
The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
This Internet-Draft will expire on March 17, 2009. | This Internet-Draft will expire on April 29, 2010. | |||
Copyright Notice | ||||
Copyright (c) 2009 IETF Trust and the persons identified as the | ||||
document authors. All rights reserved. | ||||
This document is subject to BCP 78 and the IETF Trust's Legal | ||||
Provisions Relating to IETF Documents in effect on the date of | ||||
publication of this document (http://trustee.ietf.org/license-info). | ||||
Please review these documents carefully, as they describe your rights | ||||
and restrictions with respect to this document. | ||||
Abstract | Abstract | |||
Scaling per flow admission control to the Internet is a hard problem. | Scaling per flow admission control to the Internet is a hard problem. | |||
The approach of combining Diffserv and pre-congestion notification | The approach of combining Diffserv and pre-congestion notification | |||
(PCN) provides a service slightly better than Intserv controlled load | (PCN) provides a service slightly better than Intserv controlled load | |||
that scales to networks of any size without needing Diffserv's usual | that scales to networks of any size without needing Diffserv's usual | |||
overprovisioning, but only if domains trust each other to comply with | overprovisioning, but only if domains trust each other to comply with | |||
admission control and rate policing. This memo claims to solve this | admission control and rate policing. This memo claims to solve this | |||
trust problem without losing scalability. It provides a sufficient | trust problem without losing scalability. It provides a sufficient | |||
emulation of per-flow policing at borders but with only passive bulk | emulation of per-flow policing at borders but with only passive bulk | |||
metering rather than per-flow processing. Measurements are | metering rather than per-flow processing. Measurements are | |||
sufficient to apply penalties against cheating neighbour networks. | sufficient to apply penalties against cheating neighbour networks. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
2. Requirements Notation . . . . . . . . . . . . . . . . . . . . 11 | 2. Requirements Notation . . . . . . . . . . . . . . . . . . . . 11 | |||
3. The Problem . . . . . . . . . . . . . . . . . . . . . . . . . 11 | 3. The Problem . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
3.1. The Traditional Per-flow Policing Problem . . . . . . . . 11 | 3.1. The Traditional Per-flow Policing Problem . . . . . . . . 11 | |||
3.2. Generic Scenario . . . . . . . . . . . . . . . . . . . . . 14 | 3.2. Generic Scenario . . . . . . . . . . . . . . . . . . . . . 13 | |||
4. Re-ECN Protocol in IP with Two Congestion Marking Levels . . . 17 | 4. Re-ECN Protocol in IP with Two Congestion Marking Levels . . . 16 | |||
4.1. Protocol Overview . . . . . . . . . . . . . . . . . . . . 17 | 4.1. Protocol Overview . . . . . . . . . . . . . . . . . . . . 16 | |||
4.2. Re-PCN Abstracted Network Layer Wire Protocol (IPv4 or | 4.2. Re-PCN Abstracted Network Layer Wire Protocol (IPv4 or | |||
v6) . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 | v6) . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
4.2.1. Re-ECN Recap . . . . . . . . . . . . . . . . . . . . . 18 | 4.2.1. Re-ECN Recap . . . . . . . . . . . . . . . . . . . . . 18 | |||
4.2.2. Re-ECN Combined with Pre-Congestion Notification | 4.2.2. Re-ECN Combined with Pre-Congestion Notification | |||
(re-PCN) . . . . . . . . . . . . . . . . . . . . . . . 20 | (re-PCN) . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
4.3. Protocol Operation . . . . . . . . . . . . . . . . . . . . 22 | 4.3. Protocol Operation . . . . . . . . . . . . . . . . . . . . 22 | |||
4.3.1. Protocol Operation for an Established Flow . . . . . . 23 | 4.3.1. Protocol Operation for an Established Flow . . . . . . 22 | |||
4.3.2. Aggregate Bootstrap . . . . . . . . . . . . . . . . . 24 | 4.3.2. Aggregate Bootstrap . . . . . . . . . . . . . . . . . 24 | |||
4.3.3. Flow Bootstrap . . . . . . . . . . . . . . . . . . . . 26 | 4.3.3. Flow Bootstrap . . . . . . . . . . . . . . . . . . . . 25 | |||
4.3.4. Router Forwarding Behaviour . . . . . . . . . . . . . 26 | 4.3.4. Router Forwarding Behaviour . . . . . . . . . . . . . 26 | |||
4.3.5. Extensions . . . . . . . . . . . . . . . . . . . . . . 28 | 4.3.5. Extensions . . . . . . . . . . . . . . . . . . . . . . 28 | |||
5. Emulating Border Policing with Re-ECN . . . . . . . . . . . . 28 | 5. Emulating Border Policing with Re-ECN . . . . . . . . . . . . 28 | |||
5.1. Informal Terminology . . . . . . . . . . . . . . . . . . . 28 | 5.1. Informal Terminology . . . . . . . . . . . . . . . . . . . 28 | |||
5.2. Policing Overview . . . . . . . . . . . . . . . . . . . . 30 | 5.2. Policing Overview . . . . . . . . . . . . . . . . . . . . 29 | |||
5.3. Pre-requisite Contractual Arrangements . . . . . . . . . . 31 | 5.3. Pre-requisite Contractual Arrangements . . . . . . . . . . 31 | |||
5.4. Emulation of Per-Flow Rate Policing: Rationale and | 5.4. Emulation of Per-Flow Rate Policing: Rationale and | |||
Limits . . . . . . . . . . . . . . . . . . . . . . . . . . 34 | Limits . . . . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
5.5. Sanctioning Dishonest Marking . . . . . . . . . . . . . . 36 | 5.5. Sanctioning Dishonest Marking . . . . . . . . . . . . . . 36 | |||
5.6. Border Mechanisms . . . . . . . . . . . . . . . . . . . . 38 | 5.6. Border Mechanisms . . . . . . . . . . . . . . . . . . . . 37 | |||
5.6.1. Border Accounting Mechanisms . . . . . . . . . . . . . 38 | 5.6.1. Border Accounting Mechanisms . . . . . . . . . . . . . 37 | |||
5.6.2. Competitive Routing . . . . . . . . . . . . . . . . . 41 | 5.6.2. Competitive Routing . . . . . . . . . . . . . . . . . 41 | |||
5.6.3. Fail-safes . . . . . . . . . . . . . . . . . . . . . . 42 | 5.6.3. Fail-safes . . . . . . . . . . . . . . . . . . . . . . 42 | |||
6. Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 | 6. Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 | |||
7. Incremental Deployment . . . . . . . . . . . . . . . . . . . . 46 | 7. Incremental Deployment . . . . . . . . . . . . . . . . . . . . 45 | |||
8. Design Choices and Rationale . . . . . . . . . . . . . . . . . 47 | 8. Design Choices and Rationale . . . . . . . . . . . . . . . . . 47 | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 49 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 48 | |||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 50 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 50 | |||
11. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 50 | 11. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 50 | |||
12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 51 | 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 51 | |||
13. Comments Solicited . . . . . . . . . . . . . . . . . . . . . . 52 | 13. Comments Solicited . . . . . . . . . . . . . . . . . . . . . . 51 | |||
14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 52 | 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 51 | |||
14.1. Normative References . . . . . . . . . . . . . . . . . . . 52 | 14.1. Normative References . . . . . . . . . . . . . . . . . . . 51 | |||
14.2. Informative References . . . . . . . . . . . . . . . . . . 53 | 14.2. Informative References . . . . . . . . . . . . . . . . . . 53 | |||
Appendix A. Implementation . . . . . . . . . . . . . . . . . . . 55 | Appendix A. Implementation . . . . . . . . . . . . . . . . . . . 56 | |||
A.1. Ingress Gateway Algorithm for Blanking the RE flag . . . . 55 | A.1. Ingress Gateway Algorithm for Blanking the RE flag . . . . 56 | |||
A.2. Downstream Congestion Metering Algorithms . . . . . . . . 56 | A.2. Downstream Congestion Metering Algorithms . . . . . . . . 57 | |||
A.2.1. Bulk Downstream Congestion Metering Algorithm . . . . 56 | A.2.1. Bulk Downstream Congestion Metering Algorithm . . . . 57 | |||
A.2.2. Inflation Factor for Persistently Negative Flows . . . 56 | A.2.2. Inflation Factor for Persistently Negative Flows . . . 58 | |||
A.3. Algorithm for Sanctioning Negative Traffic . . . . . . . . 57 | A.3. Algorithm for Sanctioning Negative Traffic . . . . . . . . 58 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 57 | ||||
Intellectual Property and Copyright Statements . . . . . . . . . . 59 | ||||
Status (to be removed by the RFC Editor) | Status (to be removed by the RFC Editor) | |||
The IETF PCN working group is initially chartered to consider PCN | The IETF PCN working group is initially chartered to consider PCN | |||
domains only under a single trust authority. However, after its | domains only under a single trust authority. However, after its | |||
initial work is complete the charter says the working group may re- | initial work is complete the charter says the working group may re- | |||
charter to consider concatenated Diffserv domains, amongst other new | charter to consider concatenated Diffserv domains, amongst other new | |||
work items. The charter ends by stating "The details of these work | work items. The charter ends by stating "The details of these work | |||
items are outside the scope of the initial phase; but the WG may | items are outside the scope of the initial phase; but the WG may | |||
consider their requirements to design components that are | consider their requirements to design components that are | |||
skipping to change at page 5, line 4 | skipping to change at page 5, line 4 | |||
track and one for informational status. But until it becomes an item | track and one for informational status. But until it becomes an item | |||
of IETF working group business the whole proposal has been kept | of IETF working group business the whole proposal has been kept | |||
together to aid understanding. Only the text of Section 4 of this | together to aid understanding. Only the text of Section 4 of this | |||
document is intended to be normative (requiring standardisation). | document is intended to be normative (requiring standardisation). | |||
The rest of the sections are merely informative, describing how a | The rest of the sections are merely informative, describing how a | |||
system might be built from these protocols by the operators of an | system might be built from these protocols by the operators of an | |||
internetwork. Note in particular that the policing and monitoring | internetwork. Note in particular that the policing and monitoring | |||
functions proposed for the trust boundaries between operators would | functions proposed for the trust boundaries between operators would | |||
not need standardisation by the IETF. They simply represent one | not need standardisation by the IETF. They simply represent one | |||
possible way that the proposed protocols could be used to extend the | possible way that the proposed protocols could be used to extend the | |||
PCN architecture [I-D.ietf-pcn-architecture] to span multiple domains | PCN architecture [RFC5559] to span multiple domains without mutual | |||
without mutual trust between the operators. | trust between the operators. | |||
Dependencies (to be removed by the RFC Editor) | Dependencies (to be removed by the RFC Editor) | |||
To realise the system described, this document also depends on other | To realise the system described, this document also depends on other | |||
documents chartered in the IETF Transport Area progressing along the | documents chartered in the IETF Transport Area progressing along the | |||
standards track: | standards track: | |||
o Pre-congestion notification (PCN) marking on interior nodes | o Pre-congestion notification (PCN) marking on interior nodes | |||
[I-D.eardley-pcn-marking-behaviour], chartered for standardisation | [I-D.ietf-pcn-marking-behaviour], chartered for standardisation in | |||
in the PCN w-g; | the PCN w-g; | |||
o The baseline encoding of pre-congestion notification in the IP | o The baseline encoding of pre-congestion notification in the IP | |||
header [I-D.moncaster-pcn-baseline-encoding], also chartered for | header [I-D.ietf-pcn-baseline-encoding], also chartered for | |||
standardisation in the PCN w-g; | standardisation in the PCN w-g; | |||
o Feedback of aggregate PCN measurements by suitably extending the | o Feedback of aggregate PCN measurements by suitably extending the | |||
admission control signalling protocol (e.g. RSVP extension | admission control signalling protocol (e.g. RSVP extension | |||
[RSVP-ECN] or NSIS extension [I-D.arumaithurai-nsis-pcn]). | [RSVP-ECN] or NSIS extension [I-D.arumaithurai-nsis-pcn]). | |||
The baseline encoding makes no new demands on codepoint space in the | The baseline encoding makes no new demands on codepoint space in the | |||
IP header but provides just two PCN encoding states (not marked and | IP header but provides just two PCN encoding states (not marked and | |||
marked). The PCN architecture recognises that operators might want | marked). The PCN architecture recognises that operators might want | |||
PCN marking to trigger two functions (admission control and flow | PCN marking to trigger two functions (admission control and flow | |||
skipping to change at page 5, line 43 | skipping to change at page 5, line 43 | |||
under certain conditions that might be typical. As it seems likely | under certain conditions that might be typical. As it seems likely | |||
that PCN might need three encoding states to be fully operational, we | that PCN might need three encoding states to be fully operational, we | |||
want to be sure that three encoding states can be extended to work | want to be sure that three encoding states can be extended to work | |||
inter-domain. Therefore, we have defined a three-state extension | inter-domain. Therefore, we have defined a three-state extension | |||
encoding scheme in this document, then we have added the re-PCN | encoding scheme in this document, then we have added the re-PCN | |||
scheme to it. The three-state encoding we have chosen depends on | scheme to it. The three-state encoding we have chosen depends on | |||
standardisation of yet another document in the IETF Transport Area: | standardisation of yet another document in the IETF Transport Area: | |||
o Propagation beyond the tunnel decapsulator of any changes in the | o Propagation beyond the tunnel decapsulator of any changes in the | |||
ECN field to ECT(0) or ECT(1) made within a tunnel (the ideal | ECN field to ECT(0) or ECT(1) made within a tunnel (the ideal | |||
decapsulation rules of [I-D.briscoe-tsvwg-ecn-tunnel]); | decapsulation rules of [I-D.ietf-tsvwg-ecn-tunnel]); | |||
Changes from previous drafts (to be removed by the RFC Editor) | Changes from previous drafts (to be removed by the RFC Editor) | |||
Full diffs of incremental changes between drafts are available at | Full diffs of incremental changes between drafts are available at | |||
URL: <http://www.cs.ucl.ac.uk/staff/B.Briscoe/pubs.html#repcn> | URL: <http://www.cs.ucl.ac.uk/staff/B.Briscoe/pubs.html#repcn> | |||
Changes from <draft-briscoe-re-pcn-border-cheat-02> to | ||||
<draft-briscoe-re-pcn-border-cheat-03> (current version): Updated | ||||
references and other minor changes. | ||||
Changes from <draft-briscoe-re-pcn-border-cheat-01> to | Changes from <draft-briscoe-re-pcn-border-cheat-01> to | |||
<draft-briscoe-re-pcn-border-cheat-02> (current version): | <draft-briscoe-re-pcn-border-cheat-02>: | |||
Considerably updated the 'Status' note to explain the | Considerably updated the 'Status' note to explain the | |||
relationship of this draft to other documents in the IETF | relationship of this draft to other documents in the IETF | |||
process (or not) and to chartered PCN w-g activity. | process (or not) and to chartered PCN w-g activity. | |||
Split out the dependencies into a separate note and added | Split out the dependencies into a separate note and added | |||
dependencies on new PCN documents in progress. | dependencies on new PCN documents in progress. | |||
Made scalability motivation in the introduction clearer, | Made scalability motivation in the introduction clearer, | |||
explaining why Diffserv over-provisioning doesn't scale unless | explaining why Diffserv over-provisioning doesn't scale unless | |||
skipping to change at page 8, line 37 | skipping to change at page 8, line 37 | |||
for resilience to newly identified attacks. | for resilience to newly identified attacks. | |||
1. Introduction | 1. Introduction | |||
The Internet community largely lost interest in the Intserv | The Internet community largely lost interest in the Intserv | |||
architecture after it was clarified that it would be unlikely to | architecture after it was clarified that it would be unlikely to | |||
scale to the whole Internet [RFC2208]. Although Intserv mechanisms | scale to the whole Internet [RFC2208]. Although Intserv mechanisms | |||
proved impractical, the bandwidth reservation service it aimed to | proved impractical, the bandwidth reservation service it aimed to | |||
offer is still very much required. | offer is still very much required. | |||
A recently proposed approach [I-D.ietf-pcn-architecture] combines | A recently proposed approach [RFC5559] combines Diffserv and pre- | |||
Diffserv and pre-congestion notification (PCN) to provide a service | congestion notification (PCN) to provide a service slightly better | |||
slightly better than Intserv controlled load [RFC2211]. PCN does not | than Intserv controlled load [RFC2211]. PCN does not require the | |||
require the considerable over-provisioning that is normally required | considerable over-provisioning that is normally required for | |||
for admission control over Diffserv [RFC2998] to be robust against | admission control over Diffserv [RFC2998] to be robust against re- | |||
re-routes or variation in the traffic matrix. It has been proved | routes or variation in the traffic matrix. It has been proved that | |||
that Diffserv's over-provisioning requirement grows linearly with the | Diffserv's over-provisioning requirement grows linearly with the | |||
network diameter in hops [QoS_scale]. | network diameter in hops [QoS_scale]. | |||
A number of PCN domains can be concatenated into a larger PCN region | A number of PCN domains can be concatenated into a larger PCN region | |||
without any per-flow processing between them, but only if each domain | without any per-flow processing between them, but only if each domain | |||
trusts the ingress network to have checked that upstream customers | trusts the ingress network to have checked that upstream customers | |||
aren't taking more bandwidth than they reserved, either accidentally | aren't taking more bandwidth than they reserved, either accidentally | |||
or deliberately. Unfortunately, networks can gain considerably by | or deliberately. Unfortunately, networks can gain considerably by | |||
breaking this trust. One way for a network to protect itself against | breaking this trust. One way for a network to protect itself against | |||
others is to handle flow signalling at its own border and police | others is to handle flow signalling at its own border and police | |||
traffic against reservations itself. However, this reintroduces the | traffic against reservations itself. However, this reintroduces the | |||
skipping to change at page 9, line 29 | skipping to change at page 9, line 28 | |||
least proportionate to the severity of the cheat. Re-PCN neither | least proportionate to the severity of the cheat. Re-PCN neither | |||
requires the unscalable over-provisioning of Diffserv nor the per- | requires the unscalable over-provisioning of Diffserv nor the per- | |||
flow processing at borders of Intserv over Diffserv. | flow processing at borders of Intserv over Diffserv. | |||
It should therefore scale controlled load service to the whole | It should therefore scale controlled load service to the whole | |||
internetwork without the cost of Diffserv's linearly increasing over- | internetwork without the cost of Diffserv's linearly increasing over- | |||
provisioning, or the cost of per-flow policing at each border. To | provisioning, or the cost of per-flow policing at each border. To | |||
achieve such scaling, this memo combines two recent proposals, both | achieve such scaling, this memo combines two recent proposals, both | |||
of which it briefly recaps: | of which it briefly recaps: | |||
o The pre-congestion notification (PCN) | o The pre-congestion notification (PCN) architecture[RFC5559] | |||
architecture[I-D.ietf-pcn-architecture] describes how bulk pre- | describes how bulk pre-congestion notification on routers within | |||
congestion notification on routers within an edge-to-edge Diffserv | an edge-to-edge Diffserv region can emulate the precision of per- | |||
region can emulate the precision of per-flow admission control to | flow admission control to provide controlled load service without | |||
provide controlled load service without unscalable per-flow | unscalable per-flow processing; | |||
processing; | ||||
o Re-ECN: Adding Accountability to TCP/ | o Re-ECN: Adding Accountability to TCP/ | |||
IP [I-D.briscoe-tsvwg-re-ecn-tcp]. | IP [I-D.briscoe-tsvwg-re-ecn-tcp]. | |||
We coin the term re-PCN for the combination of PCN and re-ECN. | We coin the term re-PCN for the combination of PCN and re-ECN. | |||
The trick that addresses cheating at borders is to recognise that | The trick that addresses cheating at borders is to recognise that | |||
border policing is mainly necessary because cheating upstream | border policing is mainly necessary because cheating upstream | |||
networks will admit traffic when they shouldn't only as long as they | networks will admit traffic when they shouldn't only as long as they | |||
don't directly experience the downstream congestion their | don't directly experience the downstream congestion their | |||
skipping to change at page 15, line 7 | skipping to change at page 14, line 47 | |||
'C', as well as the inward facing interfaces of the ingress and | 'C', as well as the inward facing interfaces of the ingress and | |||
egress gateways. An ingress and egress border router (BR) is shown | egress gateways. An ingress and egress border router (BR) is shown | |||
interconnecting each interior domain with the next. There will | interconnecting each interior domain with the next. There will | |||
typically be other interior routers (not shown) within each interior | typically be other interior routers (not shown) within each interior | |||
domain. | domain. | |||
In two paragraphs we now briefly recap how pre-congestion | In two paragraphs we now briefly recap how pre-congestion | |||
notification is intended to be used to control flow admission to a | notification is intended to be used to control flow admission to a | |||
large Diffserv region. The first paragraph describes data plane | large Diffserv region. The first paragraph describes data plane | |||
functions and the second describes signalling in the control plane. | functions and the second describes signalling in the control plane. | |||
We omit many details from [I-D.ietf-pcn-architecture] including | We omit many details from [RFC5559] including behaviour during | |||
behaviour during routing changes. For brevity here we assume other | routing changes. For brevity here we assume other flows are already | |||
flows are already in progress across a path through the Diffserv | in progress across a path through the Diffserv region before a new | |||
region before a new one arrives, but how bootstrap works is described | one arrives, but how bootstrap works is described in Section 4.3.2. | |||
in Section 4.3.2. | ||||
Figure 1 shows a single simplex reserved flow from the sending (Sx) | Figure 1 shows a single simplex reserved flow from the sending (Sx) | |||
end host to the receiving (Rx) end host. The ingress gateway polices | end host to the receiving (Rx) end host. The ingress gateway polices | |||
incoming traffic and colours conforming traffic within an admitted | incoming traffic and colours conforming traffic within an admitted | |||
reservation to a combination of Diffserv codepoint and ECN field that | reservation to a combination of Diffserv codepoint and ECN field that | |||
defines the traffic as 'PCN-enabled'. This redefines the meaning of | defines the traffic as 'PCN-enabled'. This redefines the meaning of | |||
the ECN field as a PCN field, which is largely the same as ECN | the ECN field as a PCN field, which is largely the same as ECN | |||
[RFC3168], but with slightly different semantics defined in | [RFC3168], but with slightly different semantics defined in | |||
[I-D.moncaster-pcn-baseline-encoding] (or various extensions that are | [I-D.ietf-pcn-baseline-encoding] (or various extensions that are | |||
currently experimental). The Diffserv region is called a PCN-region | currently experimental). The Diffserv region is called a PCN-region | |||
because all the queues within it are PCN-enabled. This means the | because all the queues within it are PCN-enabled. This means the | |||
per-hop behaviour they apply to PCN-enabled traffic consists of both | per-hop behaviour they apply to PCN-enabled traffic consists of both | |||
a scheduling behaviour and a new ECN marking behaviour that we call | a scheduling behaviour and a new ECN marking behaviour that we call | |||
`pre-congestion notification' [I-D.eardley-pcn-marking-behaviour]. A | `pre-congestion notification' [I-D.ietf-pcn-marking-behaviour]. A | |||
PCN-enabled queue typically re-uses the definition of expedited | PCN-enabled queue typically re-uses the definition of expedited | |||
forwarding (EF) [RFC3246] for its scheduling behaviour. The new | forwarding (EF) [RFC3246] for its scheduling behaviour. The new | |||
congestion marking behaviour sets the PCN field of an increasing | congestion marking behaviour sets the PCN field of an increasing | |||
proportion of PCN packets to the PCN-marked (PM) codepoint | proportion of PCN packets to the PCN-marked (PM) codepoint | |||
[I-D.moncaster-pcn-baseline-encoding] as their load approaches a | [I-D.ietf-pcn-baseline-encoding] as their load approaches a threshold | |||
threshold rate that is lower than the line rate | rate that is lower than the line rate | |||
[I-D.eardley-pcn-marking-behaviour]. This can be achieved with an | [I-D.ietf-pcn-marking-behaviour]. This can be achieved with an | |||
algorithm similar to a token-bucket called a virtual queue. The aim | algorithm similar to a token-bucket called a virtual queue. The aim | |||
is for a queue to start marking PCN traffic to trigger admission | is for a queue to start marking PCN traffic to trigger admission | |||
control before the real queue builds up any congestion delay. The | control before the real queue builds up any congestion delay. The | |||
level of a queue's pre-congestion marking is detected at the egress | level of a queue's pre-congestion marking is detected at the egress | |||
of the Diffserv region and used by the signalling system to control | of the Diffserv region and used by the signalling system to control | |||
admission of further traffic that would otherwise overload that | admission of further traffic that would otherwise overload that | |||
queue, as follows. | queue, as follows. | |||
The end-to-end QoS signalling for a new reservation (to be concrete | The end-to-end QoS signalling for a new reservation (to be concrete | |||
we will use RSVP) takes one giant hop from ingress to egress gateway, | we will use RSVP) takes one giant hop from ingress to egress gateway, | |||
skipping to change at page 17, line 15 | skipping to change at page 17, line 6 | |||
routers_--where scalability is most critical. | routers_--where scalability is most critical. | |||
4. Re-ECN Protocol in IP with Two Congestion Marking Levels | 4. Re-ECN Protocol in IP with Two Congestion Marking Levels | |||
4.1. Protocol Overview | 4.1. Protocol Overview | |||
First we need to recap the way routers accumulate PCN congestion | First we need to recap the way routers accumulate PCN congestion | |||
marking along a path (it accumulates the same way as ECN). Each PCN- | marking along a path (it accumulates the same way as ECN). Each PCN- | |||
capable queue into a link might mark some packets with a PCN-marked | capable queue into a link might mark some packets with a PCN-marked | |||
(PM) codepoint, the marking probability increasing with the length of | (PM) codepoint, the marking probability increasing with the length of | |||
the queue [I-D.eardley-pcn-marking-behaviour]. With a series of PCN- | the queue [I-D.ietf-pcn-marking-behaviour]. With a series of PCN- | |||
capable routers on a path, a stream of packets accumulates the | capable routers on a path, a stream of packets accumulates the | |||
fraction of PCN markings that each queue adds. The combined effect | fraction of PCN markings that each queue adds. The combined effect | |||
of the packet marking of all the queues along the path signals | of the packet marking of all the queues along the path signals | |||
congestion of the whole path to the receiver. So, for example, if | congestion of the whole path to the receiver. So, for example, if | |||
one queue early in a path is marking 1% of packets and another later | one queue early in a path is marking 1% of packets and another later | |||
in a path is marking 2%, flows that pass through both queues will | in a path is marking 2%, flows that pass through both queues will | |||
experience approximately 3% marking over a sequence of packets. | experience approximately 3% marking over a sequence of packets. | |||
(Note: Whenever the word 'congestion' is used in this document it | (Note: Whenever the word 'congestion' is used in this document it | |||
should be taken to mean congestion of the virtual resource assigned | should be taken to mean congestion of the virtual resource assigned | |||
skipping to change at page 20, line 41 | skipping to change at page 20, line 14 | |||
4.2.2. Re-ECN Combined with Pre-Congestion Notification (re-PCN) | 4.2.2. Re-ECN Combined with Pre-Congestion Notification (re-PCN) | |||
As permitted by the ECN specification [RFC3168] and by the guidelines | As permitted by the ECN specification [RFC3168] and by the guidelines | |||
for specifying alternative semantics for the ECN field [RFC4774], a | for specifying alternative semantics for the ECN field [RFC4774], a | |||
proposal is currently being advanced in the IETF to define different | proposal is currently being advanced in the IETF to define different | |||
semantics for how queues might mark the ECN field of certain packets. | semantics for how queues might mark the ECN field of certain packets. | |||
The idea is to be able to notify congestion when the queue's load | The idea is to be able to notify congestion when the queue's load | |||
approaches a logical limit, rather than the physical limit of the | approaches a logical limit, rather than the physical limit of the | |||
line. This new marking is called pre-congestion | line. This new marking is called pre-congestion | |||
notification [I-D.eardley-pcn-marking-behaviour] and we will use the | notification [I-D.ietf-pcn-marking-behaviour] and we will use the | |||
term PCN-enabled queue for a queue that can apply pre-congestion | term PCN-enabled queue for a queue that can apply pre-congestion | |||
notification marking to the ECN fields of packets. | notification marking to the ECN fields of packets. | |||
[RFC3168] recommends that a packet's Diffserv codepoint should | [RFC3168] recommends that a packet's Diffserv codepoint should | |||
determine which type of ECN marking it receives. A PCN-capable | determine which type of ECN marking it receives. A PCN-capable | |||
packet must meet two conditions; it must carry a DSCP that has been | packet must meet two conditions; it must carry a DSCP that has been | |||
associated with PCN marking and it must carry an ECN field that turns | associated with PCN marking and it must carry an ECN field that turns | |||
on PCN marking. | on PCN marking. | |||
As an example, a packet carrying the VOICE-ADMIT | As an example, a packet carrying the VOICE-ADMIT | |||
[I-D.ietf-tsvwg-admitted-realtime-dscp] DSCP would be associated with | [I-D.ietf-tsvwg-admitted-realtime-dscp] DSCP would be associated with | |||
expedited forwarding [RFC3246] as its scheduling behaviour and pre- | expedited forwarding [RFC3246] as its scheduling behaviour and pre- | |||
congestion notification as its congestion marking behaviour. PCN | congestion notification as its congestion marking behaviour. PCN | |||
would only be turned on within a PCN-region by an ECN codepoint other | would only be turned on within a PCN-region by an ECN codepoint other | |||
than Not-ECT (00). Then we would describe packets with the VOICE- | than Not-ECT (00). Then we would describe packets with the VOICE- | |||
ADMIT DSCP and with ECN turned on as PCN-capable packets. | ADMIT DSCP and with ECN turned on as PCN-capable packets. | |||
[I-D.eardley-pcn-marking-behaviour] actually proposes that two | [I-D.ietf-pcn-marking-behaviour] actually proposes that two logical | |||
logical limits can be used for pre-congestion notification, with the | limits can be used for pre-congestion notification, with the higher | |||
higher limit as a back-stop for dealing with anomalous events. It | limit as a back-stop for dealing with anomalous events. It envisages | |||
envisages PCN will be used to admission control inelastic real-time | PCN will be used to admission control inelastic real-time traffic, so | |||
traffic, so marking at the lower limit will trigger admission | marking at the lower limit will trigger admission control, while at | |||
control, while at the higher limit it will trigger flow termination. | the higher limit it will trigger flow termination. | |||
Because it needs two types of congestion marking, PCN needs four | Because it needs two types of congestion marking, PCN needs four | |||
states: Not PCN-capable (Not-PCN), PCN-capable but not PCN-marked | states: Not PCN-capable (Not-PCN), PCN-capable but not PCN-marked | |||
(NM), Admission Marked (AM) and Flow Termination Marked (TM). A | (NM), Admission Marked (AM) and Flow Termination Marked (TM). A | |||
proposed encoding of the four required PCN states is shown on the | proposed encoding of the four required PCN states is shown on the | |||
left of Table 2. Note that these codepoints of the ECN field only | left of Table 2. Note that these codepoints of the ECN field only | |||
take on the semantics of pre-congestion notification if they are | take on the semantics of pre-congestion notification if they are | |||
combined with a Diffserv codepoint that the operator has configured | combined with a Diffserv codepoint that the operator has configured | |||
to be associated with PCN marking. | to be associated with PCN marking. | |||
This encoding only correctly traverses an IP in IP tunnel if the | This encoding only correctly traverses an IP in IP tunnel if the | |||
ideal decapsulation rules in [I-D.briscoe-tsvwg-ecn-tunnel] are | ideal decapsulation rules in [I-D.ietf-tsvwg-ecn-tunnel] are followed | |||
followed when combining the ECN fields of the outer and inner | when combining the ECN fields of the outer and inner headers. If | |||
headers. If instead the decapsulation rules in [RFC3168] or | instead the decapsulation rules in [RFC3168] or [RFC4301] are | |||
[RFC4301] are followed, any admission marking applied to an outer | followed, any admission marking applied to an outer header will be | |||
header will be incorrectly removed on decapsulation at the tunnel | incorrectly removed on decapsulation at the tunnel egress. | |||
egress. | ||||
The RFC3168 ECN field includes space for the experimental ECN | The RFC3168 ECN field includes space for the experimental ECN | |||
Nonce [RFC3540], which seems to require a fifth state if it is also | Nonce [RFC3540], which seems to require a fifth state if it is also | |||
needed with re-PCN. But re-PCN supersedes any need for the Nonce | needed with re-PCN. But re-PCN supersedes any need for the Nonce | |||
within the PCN-region. The ECN Nonce is an elegant scheme, but it | within the PCN-region. The ECN Nonce is an elegant scheme, but it | |||
only allows a sending node (or its proxy) to detect suppression of | only allows a sending node (or its proxy) to detect suppression of | |||
congestion marking in the feedback loop. Thus the Nonce requires the | congestion marking in the feedback loop. Thus the Nonce requires the | |||
sender (or in our case the PCN ingress) to be trusted to respond | sender (or in our case the PCN ingress) to be trusted to respond | |||
correctly to congestion. But this is precisely the main cheat we | correctly to congestion. But this is precisely the main cheat we | |||
want to protect against (as well as many others). Also, the ECN | want to protect against (as well as many others). Also, the ECN | |||
nonce only works once the receiver has placed packets in the same | nonce only works once the receiver has placed packets in the same | |||
order as they left the ingress, which cannot be done by an edge node | order as they left the ingress, which cannot be done by an edge node | |||
without adding unnecessary edge-edge packet ordering. Nonetheless, | without adding unnecessary edge-edge packet ordering. Nonetheless, | |||
if the ECN nonce were in use outside the PCN region (end-to-end), the | if the ECN nonce were in use outside the PCN region (end-to-end), the | |||
ingress would have to tunnel the arriving IP header across the PCN | ingress would have to tunnel the arriving IP header across the PCN | |||
region ([I-D.ietf-pcn-architecture]). | region ([RFC5559]). | |||
For the rest of this memo, to mean either Admission Marking or | For the rest of this memo, to mean either Admission Marking or | |||
Termination Marking we will call both "congestion marking" or "PCN | Termination Marking we will call both "congestion marking" or "PCN | |||
marking" unless we need to be specific. With the above encoding, | marking" unless we need to be specific. With the above encoding, | |||
congestion marking can be read to mean any packet with the right-most | congestion marking can be read to mean any packet with the right-most | |||
bit of the ECN field set. | bit of the ECN field set. | |||
The re-ECN protocol can be used to control misbehaving sources | The re-ECN protocol can be used to control misbehaving sources | |||
whether congestion is with respect to a logical threshold (PCN) or | whether congestion is with respect to a logical threshold (PCN) or | |||
the physical line rate (ECN). In either case the RE flag can be used | the physical line rate (ECN). In either case the RE flag can be used | |||
skipping to change at page 25, line 7 | skipping to change at page 24, line 42 | |||
4.3.2. Aggregate Bootstrap | 4.3.2. Aggregate Bootstrap | |||
When a new reservation PATH message arrives at the egress, if there | When a new reservation PATH message arrives at the egress, if there | |||
are currently no flows in progress from the same ingress, there will | are currently no flows in progress from the same ingress, there will | |||
be no state maintaining the current level of pre-congestion marking | be no state maintaining the current level of pre-congestion marking | |||
for the aggregate. In the case of RSVP reservation signalling, while | for the aggregate. In the case of RSVP reservation signalling, while | |||
the signal continues onward towards the receiving host, the egress | the signal continues onward towards the receiving host, the egress | |||
gateway can return an RSVP message to the ingress with a | gateway can return an RSVP message to the ingress with a | |||
flag [RSVP-ECN] asking the ingress to send a specified number of data | flag [RSVP-ECN] asking the ingress to send a specified number of data | |||
probes between them. The more general possibilities for bootstrap | probes between them. The more general possibilities for bootstrap | |||
behaviour are described in the PCN | behaviour are described in the PCN architecture [RFC5559], including | |||
architecture [I-D.ietf-pcn-architecture], including using the | using the reservation signal itself as a probe. | |||
reservation signal itself as a probe. | ||||
However, with our new re-PCN scheme, the ingress does not know what | However, with our new re-PCN scheme, the ingress does not know what | |||
proportion of the data probes should have the RE flag blanked, | proportion of the data probes should have the RE flag blanked, | |||
because it has no estimate yet of pre-congestion for the path across | because it has no estimate yet of pre-congestion for the path across | |||
the PCN-region. | the PCN-region. | |||
To be conservative, following the guidance for specifying other re- | To be conservative, following the guidance for specifying other re- | |||
ECN transports in [I-D.briscoe-tsvwg-re-ecn-tcp], the ingress SHOULD | ECN transports in [I-D.briscoe-tsvwg-re-ecn-tcp], the ingress SHOULD | |||
set the FNE codepoint of the extended PCN header in all probe packets | set the FNE codepoint of the extended PCN header in all probe packets | |||
(Table 2). As per the PCN deployment model, the egress gateway | (Table 2). As per the PCN deployment model, the egress gateway | |||
skipping to change at page 27, line 38 | skipping to change at page 27, line 17 | |||
understand drop, not congestion marking. But a PCN-capable router | understand drop, not congestion marking. But a PCN-capable router | |||
can mark rather than drop an FNE packet, even though its ECN field | can mark rather than drop an FNE packet, even though its ECN field | |||
when looked at in isolation is '00' which appears to be a legacy | when looked at in isolation is '00' which appears to be a legacy | |||
Not-ECT packet. Therefore, if a packet's RE flag is '1', even if | Not-ECT packet. Therefore, if a packet's RE flag is '1', even if | |||
its ECN field is '00', a PCN-enabled router SHOULD use congestion | its ECN field is '00', a PCN-enabled router SHOULD use congestion | |||
marking. This allows the `feedback not established' (FNE) | marking. This allows the `feedback not established' (FNE) | |||
codepoint to be used for probe packets, in order to pick up PCN | codepoint to be used for probe packets, in order to pick up PCN | |||
marking when bootstrapping an aggregate. | marking when bootstrapping an aggregate. | |||
PCN marking rather than dropping of FNE packets MUST only be | PCN marking rather than dropping of FNE packets MUST only be | |||
deployed in controlled environments, such as that in | deployed in controlled environments, such as that in [RFC5559], | |||
[I-D.ietf-pcn-architecture], where the presence of an egress node | where the presence of an egress node that understands PCN marking | |||
that understands PCN marking is assured. Congestion events might | is assured. Congestion events might otherwise be ignored if the | |||
otherwise be ignored if the receiver only understands drop, rather | receiver only understands drop, rather than PCN marking. This is | |||
than PCN marking. This is because there is no guarantee that PCN | because there is no guarantee that PCN capability has been | |||
capability has been negotiated if feedback is not established | negotiated if feedback is not established (FNE). Also, | |||
(FNE). Also, [I-D.briscoe-tsvwg-re-ecn-tcp] places the strong | [I-D.briscoe-tsvwg-re-ecn-tcp] places the strong condition that a | |||
condition that a router MUST apply drop rather than marking to FNE | router MUST apply drop rather than marking to FNE packets unless | |||
packets unless it can guarantee that FNE packets are rate limited | it can guarantee that FNE packets are rate limited either locally | |||
either locally or upstream. | or upstream. | |||
+---------+-------+-----------------+---------+---------------------+ | +---------+-------+-----------------+---------+---------------------+ | |||
| PCN | RE | Extended PCN | Drop | Re-PCN meaning | | | PCN | RE | Extended PCN | Drop | Re-PCN meaning | | |||
| field | flag | codepoint | Pref | | | | field | flag | codepoint | Pref | | | |||
+---------+-------+-----------------+---------+---------------------+ | +---------+-------+-----------------+---------+---------------------+ | |||
| 10 | 0 | Re-PCT-Echo | 5/4 | Re-echoed | | | 10 | 0 | Re-PCT-Echo | 5/4 | Re-echoed | | |||
| | | | | congestion and | | | | | | | congestion and | | |||
| | | | | Re-PCT | | | | | | | Re-PCT | | |||
| 00 | 1 | FNE | 4 | Feedback not | | | 00 | 1 | FNE | 4 | Feedback not | | |||
| | | | | established | | | | | | | established | | |||
skipping to change at page 50, line 47 | skipping to change at page 50, line 27 | |||
10. IANA Considerations | 10. IANA Considerations | |||
This memo includes no request to IANA. | This memo includes no request to IANA. | |||
11. Conclusions | 11. Conclusions | |||
This memo solves the classic problem of making flow admission control | This memo solves the classic problem of making flow admission control | |||
scale to any size network. It builds on a technique, called PCN, | scale to any size network. It builds on a technique, called PCN, | |||
which involves the use of Diffserv in a domain and uses pre- | which involves the use of Diffserv in a domain and uses pre- | |||
congestion notification feedback to control admission into each | congestion notification feedback to control admission into each | |||
network path across the domain [I-D.ietf-pcn-architecture]. | network path across the domain [RFC5559]. | |||
Without PCN, Diffserv requires over-provisioning that must grow | Without PCN, Diffserv requires over-provisioning that must grow | |||
linearly with network diameter to cater for variation in the traffic | linearly with network diameter to cater for variation in the traffic | |||
matrix. However, even with PCN, multiple network domains can only | matrix. However, even with PCN, multiple network domains can only | |||
join together into one larger PCN region if all domains trust each | join together into one larger PCN region if all domains trust each | |||
other to comply with the protocols, invoking admission control and | other to comply with the protocols, invoking admission control and | |||
flow termination when requested. Domains could join together and | flow termination when requested. Domains could join together and | |||
still police flows at their borders by requiring reservation | still police flows at their borders by requiring reservation | |||
signalling to touch each border and only use PCN internally to each | signalling to touch each border and only use PCN internally to each | |||
domain. But the per-flow processing at borders would still limit | domain. But the per-flow processing at borders would still limit | |||
skipping to change at page 52, line 22 | skipping to change at page 51, line 47 | |||
13. Comments Solicited | 13. Comments Solicited | |||
Comments and questions are encouraged and very welcome. They can be | Comments and questions are encouraged and very welcome. They can be | |||
addressed to the IETF Congestion and Pre-Congestion Notification | addressed to the IETF Congestion and Pre-Congestion Notification | |||
working group's mailing list <pcn@ietf.org>, and/or to the author(s). | working group's mailing list <pcn@ietf.org>, and/or to the author(s). | |||
14. References | 14. References | |||
14.1. Normative References | 14.1. Normative References | |||
[I-D.briscoe-tsvwg-ecn-tunnel] | [I-D.briscoe-tsvwg-re-ecn-tcp] Briscoe, B., Jacquet, A., | |||
Briscoe, B., "Layered Encapsulation of Congestion | Moncaster, T., and A. Smith, | |||
Notification", draft-briscoe-tsvwg-ecn-tunnel-01 (work in | "Re-ECN: Adding | |||
progress), July 2008. | Accountability for Causing | |||
Congestion to TCP/IP", draft | ||||
-briscoe-tsvwg-re-ecn-tcp-08 | ||||
(work in progress), | ||||
September 2009. | ||||
[I-D.briscoe-tsvwg-re-ecn-tcp] | [I-D.ietf-pcn-baseline-encoding] Moncaster, T., Briscoe, B., | |||
Briscoe, B., Jacquet, A., Moncaster, T., and A. Smith, | and M. Menth, "Baseline | |||
"Re-ECN: Adding Accountability for Causing Congestion to | Encoding and Transport of | |||
TCP/IP", draft-briscoe-tsvwg-re-ecn-tcp-06 (work in | Pre-Congestion Information", | |||
progress), August 2008. | draft-ietf-pcn-baseline- | |||
encoding-07 (work in | ||||
progress), September 2009. | ||||
[I-D.eardley-pcn-marking-behaviour] | [I-D.ietf-pcn-marking-behaviour] Eardley, P., "Metering and | |||
Eardley, P., "Marking behaviour of PCN-nodes", | marking behaviour of PCN- | |||
draft-eardley-pcn-marking-behaviour-01 (work in progress), | nodes", draft-ietf-pcn- | |||
June 2008. | marking-behaviour-05 (work | |||
in progress), August 2009. | ||||
[I-D.moncaster-pcn-baseline-encoding] | [I-D.ietf-tsvwg-ecn-tunnel] Briscoe, B., "Tunnelling of | |||
Moncaster, T., Briscoe, B., and M. Menth, "Baseline | Explicit Congestion | |||
Encoding and Transport of Pre-Congestion Information", | Notification", draft-ietf- | |||
draft-moncaster-pcn-baseline-encoding-02 (work in | tsvwg-ecn-tunnel-03 (work in | |||
progress), July 2008. | progress), July 2009. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | use in RFCs to Indicate | |||
Requirement Levels", BCP 14, | ||||
RFC 2119, March 1997. | ||||
[RFC2211] Wroclawski, J., "Specification of the Controlled-Load | [RFC2211] Wroclawski, J., | |||
Network Element Service", RFC 2211, September 1997. | "Specification of the | |||
Controlled-Load Network | ||||
Element Service", RFC 2211, | ||||
September 1997. | ||||
[RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition | [RFC3168] Ramakrishnan, K., Floyd, S., | |||
of Explicit Congestion Notification (ECN) to IP", | and D. Black, "The Addition | |||
RFC 3168, September 2001. | of Explicit Congestion | |||
Notification (ECN) to IP", | ||||
RFC 3168, September 2001. | ||||
[RFC3246] Davie, B., Charny, A., Bennet, J., Benson, K., Le Boudec, | [RFC3246] Davie, B., Charny, A., | |||
J., Courtney, W., Davari, S., Firoiu, V., and D. | Bennet, J., Benson, K., Le | |||
Stiliadis, "An Expedited Forwarding PHB (Per-Hop | Boudec, J., Courtney, W., | |||
Behavior)", RFC 3246, March 2002. | Davari, S., Firoiu, V., and | |||
D. Stiliadis, "An Expedited | ||||
Forwarding PHB (Per-Hop | ||||
Behavior)", RFC 3246, | ||||
March 2002. | ||||
[RFC4774] Floyd, S., "Specifying Alternate Semantics for the | [RFC4774] Floyd, S., "Specifying | |||
Explicit Congestion Notification (ECN) Field", BCP 124, | Alternate Semantics for the | |||
RFC 4774, November 2006. | Explicit Congestion | |||
Notification (ECN) Field", | ||||
BCP 124, RFC 4774, | ||||
November 2006. | ||||
14.2. Informative References | 14.2. Informative References | |||
[CLoop_pol] | [CLoop_pol] Salvatori, A., "Closed Loop | |||
Salvatori, A., "Closed Loop Traffic Policing", Politecnico | Traffic Policing", | |||
Torino and Institut Eurecom Masters Thesis , | Politecnico Torino and | |||
September 2005. | Institut Eurecom Masters | |||
Thesis , September 2005. | ||||
[ECN-BGP] Mortier, R. and I. Pratt, "Incentive Based Inter-Domain | [ECN-BGP] Mortier, R. and I. Pratt, | |||
Routeing", Proc Internet Charging and QoS Technology | "Incentive Based Inter- | |||
Workshop (ICQT'03) pp308--317, September 2003, <http:// | Domain Routeing", Proc | |||
research.microsoft.com/users/mort/publications.aspx>. | Internet Charging and QoS | |||
Technology Workshop | ||||
(ICQT'03) pp308--317, | ||||
September 2003, <http:// | ||||
research.microsoft.com/ | ||||
users/mort/ | ||||
publications.aspx>. | ||||
[I-D.arumaithurai-nsis-pcn] | [I-D.arumaithurai-nsis-pcn] Arumaithurai, M., "NSIS PCN- | |||
Arumaithurai, M., "NSIS PCN-QoSM: A Quality of Service | QoSM: A Quality of Service | |||
Model for Pre-Congestion Notification (PCN)", | Model for Pre-Congestion | |||
draft-arumaithurai-nsis-pcn-00 (work in progress), | Notification (PCN)", draft- | |||
September 2007. | arumaithurai-nsis-pcn-00 | |||
(work in progress), | ||||
September 2007. | ||||
[I-D.charny-pcn-single-marking] | [I-D.charny-pcn-single-marking] Charny, A., Zhang, X., | |||
Charny, A., Zhang, X., Faucheur, F., and V. Liatsos, "Pre- | Faucheur, F., and V. | |||
Congestion Notification Using Single Marking for Admission | Liatsos, "Pre-Congestion | |||
and Termination", draft-charny-pcn-single-marking-03 | Notification Using Single | |||
(work in progress), November 2007. | Marking for Admission and | |||
Termination", draft-charny- | ||||
pcn-single-marking-03 (work | ||||
in progress), November 2007. | ||||
[I-D.ietf-nsis-rmd] | [I-D.ietf-nsis-rmd] Bader, A., Westberg, L., | |||
Bader, A., "RMD-QOSM - The Resource Management in Diffserv | Karagiannis, G., Kappler, | |||
QOS Model", draft-ietf-nsis-rmd-12 (work in progress), | C., Tschofenig, H., Phelan, | |||
November 2007. | T., Takacs, A., and A. | |||
Csaszar, "RMD-QOSM - The | ||||
Resource Management in | ||||
Diffserv QOS Model", | ||||
draft-ietf-nsis-rmd-15 (work | ||||
in progress), July 2009. | ||||
[I-D.ietf-pcn-architecture] | [I-D.ietf-tsvwg-admitted-realtime-dscp] Baker, F., Polk, J., and M. | |||
Eardley, P., "Pre-Congestion Notification (PCN) | Dolly, "DSCP for Capacity- | |||
Architecture", draft-ietf-pcn-architecture-06 (work in | Admitted Traffic", draft- | |||
progress), September 2008. | ietf-tsvwg-admitted- | |||
realtime-dscp-05 (work in | ||||
progress), November 2008. | ||||
[I-D.ietf-tsvwg-admitted-realtime-dscp] | [IXQoS] Briscoe, B. and S. Rudkin, | |||
Baker, F., Polk, J., and M. Dolly, "DSCPs for Capacity- | "Commercial Models for IP | |||
Admitted Traffic", | Quality of Service | |||
draft-ietf-tsvwg-admitted-realtime-dscp-04 (work in | Interconnect", BT Technology | |||
progress), February 2008. | Journal (BTTJ) 23(2)171-- | |||
195, April 2005, <http:// | ||||
www.cs.ucl.ac.uk/staff/ | ||||
B.Briscoe/pubs.html#ixqos>. | ||||
[IXQoS] Briscoe, B. and S. Rudkin, "Commercial Models for IP | [QoS_scale] Reid, A., "Economics and | |||
Quality of Service Interconnect", BT Technology Journal | Scalability of QoS | |||
(BTTJ) 23(2)171--195, April 2005, | Solutions", BT Technology | |||
<http://www.cs.ucl.ac.uk/staff/B.Briscoe/pubs.html#ixqos>. | Journal (BTTJ) 23(2)97--117, | |||
April 2005. | ||||
[QoS_scale] | [RFC2205] Braden, B., Zhang, L., | |||
Reid, A., "Economics and Scalability of QoS Solutions", BT | Berson, S., Herzog, S., and | |||
Technology Journal (BTTJ) 23(2)97--117, April 2005. | S. Jamin, "Resource | |||
ReSerVation Protocol (RSVP) | ||||
-- Version 1 Functional | ||||
Specification", RFC 2205, | ||||
September 1997. | ||||
[RFC2205] Braden, B., Zhang, L., Berson, S., Herzog, S., and S. | [RFC2207] Berger, L. and T. O'Malley, | |||
Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 | "RSVP Extensions for IPSEC | |||
Functional Specification", RFC 2205, September 1997. | Data Flows", RFC 2207, | |||
September 1997. | ||||
[RFC2207] Berger, L. and T. O'Malley, "RSVP Extensions for IPSEC | [RFC2208] Mankin, A., Baker, F., | |||
Data Flows", RFC 2207, September 1997. | Braden, B., Bradner, S., | |||
O'Dell, M., Romanow, A., | ||||
Weinrib, A., and L. Zhang, | ||||
"Resource ReSerVation | ||||
Protocol (RSVP) Version 1 | ||||
Applicability Statement Some | ||||
Guidelines on Deployment", | ||||
RFC 2208, September 1997. | ||||
[RFC2208] Mankin, A., Baker, F., Braden, B., Bradner, S., O'Dell, | [RFC2747] Baker, F., Lindell, B., and | |||
M., Romanow, A., Weinrib, A., and L. Zhang, "Resource | M. Talwar, "RSVP | |||
ReSerVation Protocol (RSVP) Version 1 Applicability | Cryptographic | |||
Statement Some Guidelines on Deployment", RFC 2208, | Authentication", RFC 2747, | |||
September 1997. | January 2000. | |||
[RFC2747] Baker, F., Lindell, B., and M. Talwar, "RSVP Cryptographic | [RFC2998] Bernet, Y., Ford, P., | |||
Authentication", RFC 2747, January 2000. | Yavatkar, R., Baker, F., | |||
Zhang, L., Speer, M., | ||||
Braden, R., Davie, B., | ||||
Wroclawski, J., and E. | ||||
Felstaine, "A Framework for | ||||
Integrated Services | ||||
Operation over Diffserv | ||||
Networks", RFC 2998, | ||||
November 2000. | ||||
[RFC2998] Bernet, Y., Ford, P., Yavatkar, R., Baker, F., Zhang, L., | [RFC3540] Spring, N., Wetherall, D., | |||
Speer, M., Braden, R., Davie, B., Wroclawski, J., and E. | and D. Ely, "Robust Explicit | |||
Felstaine, "A Framework for Integrated Services Operation | Congestion Notification | |||
over Diffserv Networks", RFC 2998, November 2000. | (ECN) Signaling with | |||
Nonces", RFC 3540, | ||||
June 2003. | ||||
[RFC3540] Spring, N., Wetherall, D., and D. Ely, "Robust Explicit | [RFC4301] Kent, S. and K. Seo, | |||
Congestion Notification (ECN) Signaling with Nonces", | "Security Architecture for | |||
RFC 3540, June 2003. | the Internet Protocol", | |||
RFC 4301, December 2005. | ||||
[RFC4301] Kent, S. and K. Seo, "Security Architecture for the | [RFC4727] Fenner, B., "Experimental | |||
Internet Protocol", RFC 4301, December 2005. | Values In IPv4, IPv6, | |||
ICMPv4, ICMPv6, UDP, and TCP | ||||
Headers", RFC 4727, | ||||
November 2006. | ||||
[RFC4727] Fenner, B., "Experimental Values In IPv4, IPv6, ICMPv4, | [RFC5129] Davie, B., Briscoe, B., and | |||
ICMPv6, UDP, and TCP Headers", RFC 4727, November 2006. | J. Tay, "Explicit Congestion | |||
Marking in MPLS", RFC 5129, | ||||
January 2008. | ||||
[RFC5129] Davie, B., Briscoe, B., and J. Tay, "Explicit Congestion | [RFC5559] Eardley, P., "Pre-Congestion | |||
Marking in MPLS", RFC 5129, January 2008. | Notification (PCN) | |||
Architecture", RFC 5559, | ||||
June 2009. | ||||
[RSVP-ECN] | [RSVP-ECN] Le Faucheur, F., Charny, A., | |||
Le Faucheur, F., Charny, A., Briscoe, B., Eardley, P., | Briscoe, B., Eardley, P., | |||
Babiarz, J., and K. Chan, "RSVP Extensions for Admission | Babiarz, J., and K. Chan, | |||
Control over Diffserv using Pre-congestion Notification", | "RSVP Extensions for | |||
draft-lefaucheur-rsvp-ecn-01 (work in progress), | Admission Control over | |||
June 2006. | Diffserv using Pre- | |||
congestion Notification", | ||||
draft-lefaucheur-rsvp-ecn-01 | ||||
(work in progress), | ||||
June 2006. | ||||
[Re-fb] Briscoe, B., Jacquet, A., Di Cairano-Gilfedder, C., | [Re-fb] Briscoe, B., Jacquet, A., Di | |||
Salvatori, A., Soppera, A., and M. Koyabe, "Policing | Cairano-Gilfedder, C., | |||
Congestion Response in an Internetwork Using Re-Feedback", | Salvatori, A., Soppera, A., | |||
ACM SIGCOMM CCR 35(4)277--288, August 2005, <http:// | and M. Koyabe, "Policing | |||
www.acm.org/sigs/sigcomm/sigcomm2005/ | Congestion Response in an | |||
techprog.html#session8>. | Internetwork Using Re- | |||
Feedback", ACM SIGCOMM | ||||
CCR 35(4)277--288, | ||||
August 2005, <http:// | ||||
www.acm.org/sigs/sigcomm/ | ||||
sigcomm2005/ | ||||
techprog.html#session8>. | ||||
[Smart_rtg] | [Smart_rtg] Goldenberg, D., Qiu, L., | |||
Goldenberg, D., Qiu, L., Xie, H., Yang, Y., and Y. Zhang, | Xie, H., Yang, Y., and Y. | |||
"Optimizing Cost and Performance for Multihoming", ACM | Zhang, "Optimizing Cost and | |||
SIGCOMM CCR 34(4)79--92, October 2004, | Performance for | |||
<http://citeseer.ist.psu.edu/698472.html>. | Multihoming", ACM SIGCOMM | |||
CCR 34(4)79--92, | ||||
October 2004, <http:// | ||||
citeseer.ist.psu.edu/ | ||||
698472.html>. | ||||
[Steps_DoS] | [Steps_DoS] Handley, M. and A. | |||
Handley, M. and A. Greenhalgh, "Steps towards a DoS- | Greenhalgh, "Steps towards a | |||
resistant Internet Architecture", Proc. ACM SIGCOMM | DoS-resistant Internet | |||
workshop on Future directions in network architecture | Architecture", Proc. ACM | |||
(FDNA'04) pp 49--56, August 2004. | SIGCOMM workshop on Future | |||
directions in network | ||||
architecture (FDNA'04) pp | ||||
49--56, August 2004. | ||||
Appendix A. Implementation | Appendix A. Implementation | |||
A.1. Ingress Gateway Algorithm for Blanking the RE flag | A.1. Ingress Gateway Algorithm for Blanking the RE flag | |||
The ingress gateway receives regular feedback 'PCN-feedback- | The ingress gateway receives regular feedback 'PCN-feedback- | |||
information' reporting the fraction of congestion marked octets for | information' reporting the fraction of congestion marked octets for | |||
each aggregate arriving at the egress. So for each aggregate it | each aggregate arriving at the egress. So for each aggregate it | |||
should blank the RE flag on this fraction of octets. A suitable | should blank the RE flag on this fraction of octets. A suitable | |||
pseudo-code algorithm for the ingress gateway is as follows: | pseudo-code algorithm for the ingress gateway is as follows: | |||
skipping to change at page 58, line 8 | skipping to change at page 59, line 8 | |||
A.3. Algorithm for Sanctioning Negative Traffic | A.3. Algorithm for Sanctioning Negative Traffic | |||
{ToDo: Write up algorithms similar to Appendix E of | {ToDo: Write up algorithms similar to Appendix E of | |||
[I-D.briscoe-tsvwg-re-ecn-tcp] for the negative flow monitor with | [I-D.briscoe-tsvwg-re-ecn-tcp] for the negative flow monitor with | |||
flow management algorithm and the variant with bounded flow state.} | flow management algorithm and the variant with bounded flow state.} | |||
Author's Address | Author's Address | |||
Bob Briscoe | Bob Briscoe | |||
BT & UCL | BT | |||
B54/77, Adastral Park | B54/77, Adastral Park | |||
Martlesham Heath | Martlesham Heath | |||
Ipswich IP5 3RE | Ipswich IP5 3RE | |||
UK | UK | |||
Phone: +44 1473 645196 | Phone: +44 1473 645196 | |||
Email: bob.briscoe@bt.com | EMail: bob.briscoe@bt.com | |||
URI: http://www.cs.ucl.ac.uk/staff/B.Briscoe/ | URI: http://bobbriscoe.net/ | |||
Full Copyright Statement | ||||
Copyright (C) The IETF Trust (2008). | ||||
This document is subject to the rights, licenses and restrictions | ||||
contained in BCP 78, and except as set forth therein, the authors | ||||
retain all their rights. | ||||
This document and the information contained herein are provided on an | ||||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | ||||
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND | ||||
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS | ||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF | ||||
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | ||||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ||||
Intellectual Property | ||||
The IETF takes no position regarding the validity or scope of any | ||||
Intellectual Property Rights or other rights that might be claimed to | ||||
pertain to the implementation or use of the technology described in | ||||
this document or the extent to which any license under such rights | ||||
might or might not be available; nor does it represent that it has | ||||
made any independent effort to identify any such rights. Information | ||||
on the procedures with respect to rights in RFC documents can be | ||||
found in BCP 78 and BCP 79. | ||||
Copies of IPR disclosures made to the IETF Secretariat and any | ||||
assurances of licenses to be made available, or the result of an | ||||
attempt made to obtain a general license or permission for the use of | ||||
such proprietary rights by implementers or users of this | ||||
specification can be obtained from the IETF on-line IPR repository at | ||||
http://www.ietf.org/ipr. | ||||
The IETF invites any interested party to bring to its attention any | ||||
copyrights, patents or patent applications, or other proprietary | ||||
rights that may cover technology that may be required to implement | ||||
this standard. Please address the information to the IETF at | ||||
ietf-ipr@ietf.org. | ||||
Acknowledgment | ||||
This document was produced using xml2rfc v1.33 (of | ||||
http://xml.resource.org/) from a source in RFC-2629 XML format. | ||||
End of changes. 67 change blocks. | ||||
209 lines changed or deleted | 306 lines changed or added | |||
This html diff was produced by rfcdiff 1.40. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |