| draft-ietf-pcn-architecture-02.txt | draft-ietf-pcn-architecture-03.txt | |||
|---|---|---|---|---|
| Congestion and Pre-Congestion Philip. Eardley (Editor) | Congestion and Pre-Congestion Philip. Eardley (Editor) | |||
| Notification Working Group BT | Notification Working Group BT | |||
| Intended status: Informational | Intended status: Informational | |||
| Expires: May 22, 2008 | Expires: August 11, 2008 | |||
| Pre-Congestion Notification Architecture | Pre-Congestion Notification Architecture | |||
| draft-ietf-pcn-architecture-02 | draft-ietf-pcn-architecture-03 | |||
| Status of this Memo | Status of this Memo | |||
| By submitting this Internet-Draft, each author represents that any | By submitting this Internet-Draft, each author represents that any | |||
| applicable patent or other IPR claims of which he or she is aware | applicable patent or other IPR claims of which he or she is aware | |||
| have been or will be disclosed, and any of which he or she becomes | 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. | 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 | |||
| skipping to change at page 1, line 35 | skipping to change at page 1, line 35 | |||
| 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 May 22, 2008. | This Internet-Draft will expire on August 11, 2008. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (C) The IETF Trust (2007). | Copyright (C) The IETF Trust (2008). | |||
| Abstract | Abstract | |||
| The purpose of this document is to describe a general architecture | The purpose of this document is to describe a general architecture | |||
| for flow admission and termination based on aggregated pre-congestion | for flow admission and termination based on pre-congestion | |||
| information in order to protect the quality of service of established | information in order to protect the quality of service of established | |||
| inelastic flows within a single DiffServ domain. | inelastic flows within a single DiffServ domain. | |||
| Status | Status | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 3. Assumptions and constraints on scope . . . . . . . . . . . . . 9 | 3. Assumptions and constraints on scope . . . . . . . . . . . . . 9 | |||
| 3.1. Assumption 1: Trust - controlled environment . . . . . . . 10 | 3.1. Assumption 1: Trust and support of PCN - controlled | |||
| environment . . . . . . . . . . . . . . . . . . . . . . . 9 | ||||
| 3.2. Assumption 2: Real-time applications . . . . . . . . . . . 10 | 3.2. Assumption 2: Real-time applications . . . . . . . . . . . 10 | |||
| 3.3. Assumption 3: Many flows and additional load . . . . . . . 11 | 3.3. Assumption 3: Many flows and additional load . . . . . . . 10 | |||
| 3.4. Assumption 4: Emergency use out of scope . . . . . . . . . 11 | 3.4. Assumption 4: Emergency use out of scope . . . . . . . . . 11 | |||
| 3.5. Other assumptions . . . . . . . . . . . . . . . . . . . . 11 | 3.5. Other assumptions . . . . . . . . . . . . . . . . . . . . 11 | |||
| 4. High-level functional architecture . . . . . . . . . . . . . . 12 | 4. High-level functional architecture . . . . . . . . . . . . . . 11 | |||
| 4.1. Flow admission . . . . . . . . . . . . . . . . . . . . . . 12 | 4.1. Flow admission . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 4.2. Flow termination . . . . . . . . . . . . . . . . . . . . . 13 | 4.2. Flow termination . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 4.3. Flow admission and flow termination . . . . . . . . . . . 14 | 4.3. Flow admission and flow termination . . . . . . . . . . . 14 | |||
| 4.4. Information transport . . . . . . . . . . . . . . . . . . 15 | 4.4. Information transport . . . . . . . . . . . . . . . . . . 15 | |||
| 4.5. PCN-traffic . . . . . . . . . . . . . . . . . . . . . . . 15 | 4.5. PCN-traffic . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 5. Detailed Functional architecture . . . . . . . . . . . . . . . 16 | 5. Detailed Functional architecture . . . . . . . . . . . . . . . 16 | |||
| 5.1. PCN-interior-node functions . . . . . . . . . . . . . . . 17 | 5.1. PCN-interior-node functions . . . . . . . . . . . . . . . 17 | |||
| 5.2. PCN-ingress-node functions . . . . . . . . . . . . . . . . 17 | 5.2. PCN-ingress-node functions . . . . . . . . . . . . . . . . 17 | |||
| 5.3. PCN-egress-node functions . . . . . . . . . . . . . . . . 18 | 5.3. PCN-egress-node functions . . . . . . . . . . . . . . . . 18 | |||
| 5.4. Admission control functions . . . . . . . . . . . . . . . 18 | 5.4. Other admission control functions . . . . . . . . . . . . 19 | |||
| 5.5. Flow termination functions . . . . . . . . . . . . . . . . 19 | 5.5. Other flow termination functions . . . . . . . . . . . . . 19 | |||
| 5.6. Addressing . . . . . . . . . . . . . . . . . . . . . . . . 20 | 5.6. Addressing . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 5.7. Tunnelling . . . . . . . . . . . . . . . . . . . . . . . . 21 | 5.7. Tunnelling . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 5.8. Fault handling . . . . . . . . . . . . . . . . . . . . . . 22 | 5.8. Fault handling . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 6. Design goals and challenges . . . . . . . . . . . . . . . . . 23 | 6. Design goals and challenges . . . . . . . . . . . . . . . . . 23 | |||
| 7. Probing . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 | 7. Probing . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
| 7.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 25 | 7.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
| 7.2. Probing functions . . . . . . . . . . . . . . . . . . . . 26 | 7.2. Probing functions . . . . . . . . . . . . . . . . . . . . 26 | |||
| 7.3. Discussion of rationale for probing, its downsides and | 7.3. Discussion of rationale for probing, its downsides and | |||
| open issues . . . . . . . . . . . . . . . . . . . . . . . 27 | open issues . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
| 8. Operations and Management . . . . . . . . . . . . . . . . . . 30 | 8. Operations and Management . . . . . . . . . . . . . . . . . . 30 | |||
| 8.1. Configuration OAM . . . . . . . . . . . . . . . . . . . . 30 | 8.1. Configuration OAM . . . . . . . . . . . . . . . . . . . . 30 | |||
| 8.1.1. System options . . . . . . . . . . . . . . . . . . . . 30 | 8.1.1. System options . . . . . . . . . . . . . . . . . . . . 31 | |||
| 8.1.2. Parameters . . . . . . . . . . . . . . . . . . . . . . 31 | 8.1.2. Parameters . . . . . . . . . . . . . . . . . . . . . . 31 | |||
| 8.2. Performance & Provisioning OAM . . . . . . . . . . . . . . 33 | 8.2. Performance & Provisioning OAM . . . . . . . . . . . . . . 33 | |||
| 8.3. Accounting OAM . . . . . . . . . . . . . . . . . . . . . . 34 | 8.3. Accounting OAM . . . . . . . . . . . . . . . . . . . . . . 34 | |||
| 8.4. Fault OAM . . . . . . . . . . . . . . . . . . . . . . . . 34 | 8.4. Fault OAM . . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
| 8.5. Security OAM . . . . . . . . . . . . . . . . . . . . . . . 35 | 8.5. Security OAM . . . . . . . . . . . . . . . . . . . . . . . 35 | |||
| 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 36 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 36 | |||
| 10. Security considerations . . . . . . . . . . . . . . . . . . . 36 | 10. Security considerations . . . . . . . . . . . . . . . . . . . 36 | |||
| 11. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 37 | 11. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
| 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 37 | 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 38 | |||
| 13. Comments Solicited . . . . . . . . . . . . . . . . . . . . . . 38 | 13. Comments Solicited . . . . . . . . . . . . . . . . . . . . . . 38 | |||
| 14. Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 | 14. Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 | |||
| 15. Informative References . . . . . . . . . . . . . . . . . . . . 40 | 14.1. Changes from -02 to -03 . . . . . . . . . . . . . . . . . 38 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 44 | 14.2. Changes from -01 to -02 . . . . . . . . . . . . . . . . . 39 | |||
| Intellectual Property and Copyright Statements . . . . . . . . . . 45 | 14.3. Changes from -00 to -01 . . . . . . . . . . . . . . . . . 40 | |||
| 15. Appendix A: Possible work items beyond the scope of the | ||||
| current PCN WG Charter . . . . . . . . . . . . . . . . . . . . 42 | ||||
| 16. Informative References . . . . . . . . . . . . . . . . . . . . 44 | ||||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 47 | ||||
| Intellectual Property and Copyright Statements . . . . . . . . . . 48 | ||||
| 1. Introduction | 1. Introduction | |||
| The purpose of this document is to describe a general architecture | The purpose of this document is to describe a general architecture | |||
| for flow admission and termination based on aggregated (pre-) | for flow admission and termination based on (pre-) congestion | |||
| congestion information in order to protect the quality of service of | information in order to protect the quality of service of flows | |||
| flows within a DiffServ domain [RFC2475]. This document defines an | within a DiffServ domain [RFC2475]. This document defines an | |||
| architecture for implementing two mechanisms to protect the quality | architecture for implementing two mechanisms to protect the quality | |||
| of service of established inelastic flows within a single DiffServ | of service of established inelastic flows within a single DiffServ | |||
| domain, where all boundary and interior nodes are PCN-enabled and | domain, where all boundary and interior nodes are PCN-enabled and | |||
| trust each other for correct PCN operation. Flow admission control | trust each other for correct PCN operation. Flow admission control | |||
| determines whether a new flow should be admitted and protects the QoS | determines whether a new flow should be admitted, in order to protect | |||
| of existing PCN-flows in normal circumstances, by avoiding congestion | the QoS of existing PCN-flows in normal circumstances. However, in | |||
| occurring. However, in abnormal circumstances, for instance a | abnormal circumstances, for instance a disaster affecting multiple | |||
| disaster affecting multiple nodes and causing traffic re-routes, then | nodes and causing traffic re-routes, then the QoS on existing PCN- | |||
| the QoS on existing PCN-flows may degrade even though care was | flows may degrade even though care was exercised when admitting those | |||
| exercised when admitting those flows before those circumstances. | flows before those circumstances. Therefore we also propose a | |||
| Therefore we also propose a mechanism for flow termination, which | mechanism for flow termination, which removes enough traffic in order | |||
| removes enough traffic in order to protect the QoS of the remaining | to protect the QoS of the remaining PCN-flows. | |||
| PCN-flows. | ||||
| As a fundamental building block to enable these two mechanisms, PCN- | As a fundamental building block to enable these two mechanisms, PCN- | |||
| interior-nodes generate, encode and transport pre-congestion | interior-nodes generate, encode and transport pre-congestion | |||
| information towards the PCN-egress-nodes. Two rates, a PCN-lower- | information towards the PCN-egress-nodes. Two rates, a PCN-lower- | |||
| rate and a PCN-upper-rate, can be associated with each link of the | rate and a PCN-upper-rate, can be associated with each link of the | |||
| PCN-domain. Each rate is used by a marking behaviour (specified in | PCN-domain. Each rate is used by a marking behaviour (specified in | |||
| another document) that determines how and when a number of PCN- | another document) that determines how and when a number of PCN- | |||
| packets are marked, and how the markings are encoded in packet | packets are marked, and how the markings are encoded in packet | |||
| headers. PCN-egress-nodes make measurements of the packet markings | headers. PCN-egress-nodes make measurements of the packet markings | |||
| and send information as necessary to the nodes that make the decision | and send information as necessary to the nodes that make the decision | |||
| skipping to change at page 5, line 11 | skipping to change at page 5, line 11 | |||
| so on. It is not generally required that other network entities | so on. It is not generally required that other network entities | |||
| are aware of individual flows (although they may be in particular | are aware of individual flows (although they may be in particular | |||
| deployment scenarios). | deployment scenarios). | |||
| o Admission control is resilient: PCN's QoS is decoupled from the | o Admission control is resilient: PCN's QoS is decoupled from the | |||
| routing system; hence in general admitted flows can survive | routing system; hence in general admitted flows can survive | |||
| capacity, routing or topology changes without additional | capacity, routing or topology changes without additional | |||
| signalling, and they don't have to be told (or learn) about such | signalling, and they don't have to be told (or learn) about such | |||
| changes. The PCN-lower-rates can be chosen small enough that | changes. The PCN-lower-rates can be chosen small enough that | |||
| admitted traffic can still be carried after a rerouting in most | admitted traffic can still be carried after a rerouting in most | |||
| failure cases. This is an important feature as QoS violations in | failure cases [Menth]. This is an important feature as QoS | |||
| core networks due to link failures are more likely than QoS | violations in core networks due to link failures are more likely | |||
| violations due to increased traffic volume [Iyer]. | than QoS violations due to increased traffic volume [Iyer]. | |||
| o The PCN-marking behaviours only operate on the overall PCN-traffic | o The PCN-marking behaviours only operate on the overall PCN-traffic | |||
| on the link, not per flow. | on the link, not per flow. | |||
| o The information of these measurements is signalled to the PCN- | o The information of these measurements is signalled to the PCN- | |||
| egress-nodes by the PCN-marks in the packet headers. No | egress-nodes by the PCN-marks in the packet headers, ie "in-band". | |||
| additional signalling protocol is required for transporting the | No additional signalling protocol is required for transporting the | |||
| PCN-marks. Therefore no secure binding is required between data | PCN-marks. Therefore no secure binding is required between data | |||
| packets and separate congestion messages. | packets and separate congestion messages. | |||
| o The PCN-egress-nodes make separate measurements, operating on the | o The PCN-egress-nodes make separate measurements, operating on the | |||
| overall PCN-traffic, for each PCN-ingress-node, ie not per flow. | aggregate PCN-traffic from each PCN-ingress-node, ie not per flow. | |||
| Similarly, signalling by the PCN-egress-node of PCN-feedback- | Similarly, signalling by the PCN-egress-node of PCN-feedback- | |||
| information (which is used for flow admission and termination | information (which is used for flow admission and termination | |||
| decisions) is at the granularity of the ingress-egress-aggregate. | decisions) is at the granularity of the ingress-egress-aggregate. | |||
| An alternative approach is that the PCN-egress-nodes monitor the | ||||
| PCN-traffic and signal PCN-feedback-information (which is used for | ||||
| flow admission and termination decisions) at the granularity of | ||||
| one (or a few) PCN-marks. | ||||
| o The admitted PCN-load is controlled dynamically. Therefore it | o The admitted PCN-load is controlled dynamically. Therefore it | |||
| adapts as the traffic matrix changes, and also if the network | adapts as the traffic matrix changes, and also if the network | |||
| topology changes (eg after a link failure). Hence an operator can | topology changes (eg after a link failure). Hence an operator can | |||
| be less conservative when deploying network capacity, and less | be less conservative when deploying network capacity, and less | |||
| accurate in their prediction of the PCN-traffic matrix. | accurate in their prediction of the PCN-traffic matrix. | |||
| o The termination mechanism complements admission control. It | o The termination mechanism complements admission control. It | |||
| allows the network to recover from sudden unexpected surges of | allows the network to recover from sudden unexpected surges of | |||
| PCN-traffic on some links, thus restoring QoS to the remaining | PCN-traffic on some links, thus restoring QoS to the remaining | |||
| skipping to change at page 6, line 11 | skipping to change at page 6, line 13 | |||
| termination of some PCN-flows before loss (or excessive delay) of | termination of some PCN-flows before loss (or excessive delay) of | |||
| PCN-packets occurs, or to keep the maximum PCN-load on a link | PCN-packets occurs, or to keep the maximum PCN-load on a link | |||
| below a level configured by the operator. | below a level configured by the operator. | |||
| o Provisioning of the network is decoupled from the process of | o Provisioning of the network is decoupled from the process of | |||
| adding new customers. By contrast, with the DiffServ architecture | adding new customers. By contrast, with the DiffServ architecture | |||
| [RFC2475] operators rely on subscription-time Service Level | [RFC2475] operators rely on subscription-time Service Level | |||
| Agreements that statically define the parameters of the traffic | Agreements that statically define the parameters of the traffic | |||
| that will be accepted from a customer, and so the operator has to | that will be accepted from a customer, and so the operator has to | |||
| run the provisioning process each time a new customer is added to | run the provisioning process each time a new customer is added to | |||
| check that the Service Level Agreement can be fulfilled. PCN does | check that the Service Level Agreement can be fulfilled. A PCN- | |||
| not use RFC2475-style traffic conditioning. | domain doesn't need such traffic conditioning. | |||
| Operators of networks will want to use the PCN mechanisms in various | Operators of networks will want to use the PCN mechanisms in various | |||
| arrangements, for instance depending on how they are performing | arrangements, for instance depending on how they are performing | |||
| admission control outside the PCN-domain (users after all are | admission control outside the PCN-domain (users after all are | |||
| concerned about QoS end-to-end), what their particular goals and | concerned about QoS end-to-end), what their particular goals and | |||
| assumptions are, and so on. Several deployment models are possible: | assumptions are, and so on. Several deployment models are possible: | |||
| o An operator may choose to deploy either admission control or flow | o An operator may choose to deploy either admission control or flow | |||
| termination or both (see Section 4.3). | termination or both (see Section 4.3). | |||
| o IntServ over DiffServ [RFC2998]. The DiffServ region is PCN- | o IntServ over DiffServ [RFC2998]. The DiffServ region is PCN- | |||
| enabled, RSVP signalling is used end-to-end and the PCN-domain is | enabled and the PCN-domain is a single RSVP hop, ie only the PCN- | |||
| a single RSVP hop, ie only the PCN-boundary-nodes process RSVP | boundary-nodes process RSVP messages. Outside the PCN-domain RSVP | |||
| messages. Outside the PCN-domain RSVP messages are processed on | messages are processed on each hop. The case where RSVP | |||
| each hop. This is described in | signalling is used end-to-end is described in | |||
| [I-D.briscoe-tsvwg-cl-architecture] | [I-D.briscoe-tsvwg-cl-architecture]; it would also be possible for | |||
| the RSVP signalling to be originated and/or terminated by proxies, | ||||
| o RSVP signalling is originated and/or terminated by proxies, with | with application-layer signalling between the end user and the | |||
| application-layer signalling between the end user and the proxy. | proxy (eg SIP signalling with a home hub). | |||
| For instance SIP signalling with a home hub. | ||||
| o Similar to previous bullets but NSIS signalling is used instead of | o Similar to previous bullet but NSIS signalling is used instead of | |||
| RSVP. | RSVP. | |||
| o NOTE: Consideration of signalling extensions for specific | ||||
| protocols is outside the scope of the PCN WG, however it will | ||||
| produce a "Requirements for signalling" document as potential | ||||
| input for the appropriate WGs. | ||||
| o Depending on the deployment scenario, the decision-making | o Depending on the deployment scenario, the decision-making | |||
| functionality (about flow admission and termination) could reside | functionality (about flow admission and termination) could reside | |||
| at the PCN-ingress-nodes or PCN-egress-nodes or at some central | at the PCN-ingress-nodes or PCN-egress-nodes or (see Appendix) at | |||
| control node in the PCN-domain. NOTE: The Charter restricts us: | some central control node in the PCN-domain. | |||
| the decision-making functionality is at the PCN-boundary-nodes. | ||||
| o If the operator runs both the access network and the core network, | ||||
| one deployment scenario is that only the core network uses PCN | ||||
| admission control but per microflow policing is done at the | ||||
| ingress to the access network and not at the PCN-ingress-node. | ||||
| Note: to aid readability, the rest of this draft assumes that | ||||
| policing is done by the PCN-ingress-nodes. | ||||
| o There are several PCN-domains on the end-to-end path, each | o There are several PCN-domains on the end-to-end path, each | |||
| operating PCN mechanisms independently. NOTE: The Charter | operating PCN mechanisms independently. | |||
| restricts us to considering a single PCN-domain. A possibility | ||||
| after re-chartering is to consider that the PCN-domain encompasses | ||||
| several autonomous systems that don't trust each other (ie weakens | ||||
| Assumption 1 about trust, see Section 3.1) | ||||
| o The PCN-domain extends to the end users. NOTE: This isn't | o The PCN-domain extends to the end users. The scenario is | |||
| necessarily outside the Charter because it may not break | described in [I-D.babiarz-pcn-sip-cap]. A variant is that the | |||
| Assumption 3 (aggregation see later) if it's known there's | PCN-domain extends out as far as the LAN edge switch. | |||
| sufficient aggregation at any bottleneck, and it doesn't | ||||
| necessarily break Assumption 1 (trust), because in some | o The operator runs both the access network (not a PCN-domain) and | |||
| environments, eg corporate, the end user may have a controlled | the core network (a PCN-domain); per flow policing is devolved to | |||
| configuration and so be trusted. The scenario is described in | the access network and is not done at the PCN-ingress-node. Note: | |||
| [I-D.babiarz-pcn-sip-cap]. A variant is that the PCN-domain | to aid readability, the rest of this draft assumes that policing | |||
| extends out as far as the LAN edge switch. | is done by the PCN-ingress-nodes. | |||
| o Pseudowire: PCN may be used as a congestion avoidance mechanism | o Pseudowire: PCN may be used as a congestion avoidance mechanism | |||
| for edge to edge pseudowire emulations | for edge to edge pseudowire emulations | |||
| [I-D.ietf-pwe3-congestion-frmwk]. NOTE: Specific consideration of | [I-D.ietf-pwe3-congestion-frmwk]. | |||
| pseudowires is not in the PCN WG Charter. | ||||
| o MPLS: [RFC3270] defines how to support the DiffServ architecture | o MPLS: [RFC3270] defines how to support the DiffServ architecture | |||
| in MPLS networks. [I-D.ietf-tsvwg-ecn-mpls] describes how to add | in MPLS networks. [RFC5129] describes how to add PCN for | |||
| PCN for admission control of microflows into a set of MPLS | admission control of microflows into a set of MPLS aggregates | |||
| aggregates (Multi-protocol label switching). PCN-marking is done | (Multi-protocol label switching). PCN-marking is done in MPLS's | |||
| in MPLS's EXP field. | EXP field. | |||
| o Similarly, it may be possible to extend PCN into Ethernet | o Similarly, it may be possible to extend PCN into Ethernet | |||
| networks, where PCN-marking is done in the Ethernet header. NOTE: | networks, where PCN-marking is done in the Ethernet header. NOTE: | |||
| Specific consideration of this extension is outside the IETF's | Specific consideration of this extension is outside the IETF's | |||
| remit. | remit. | |||
| From the perspective of the outside world, a PCN-domain essentially | ||||
| looks like a DiffServ domain. PCN-traffic is either transported | ||||
| across it transparently or policed at the PCN-ingress-node (ie | ||||
| dropped or carried at a lower QoS). A couple of differences are | ||||
| that: PCN-traffic has better QoS guarantees than normal DiffServ | ||||
| traffic (because PCN's mechanisms better protect the QoS of admitted | ||||
| flows); and in rare circumstances (failures), on the one hand some | ||||
| PCN-flows may get terminated, but on the other hand other flows will | ||||
| get their QoS restored. Non PCN-traffic is treated transparently, ie | ||||
| the PCN-domain is a normal DiffServ domain. | ||||
| 2. Terminology | 2. Terminology | |||
| o PCN-domain: a PCN-capable domain; a contiguous set of PCN-enabled | o PCN-domain: a PCN-capable domain; a contiguous set of PCN-enabled | |||
| nodes that perform DiffServ scheduling; the compete set of PCN- | nodes that perform DiffServ scheduling; the compete set of PCN- | |||
| nodes whose PCN-marking can in principle influence decisions about | nodes whose PCN-marking can in principle influence decisions about | |||
| flow admission and termination for the PCN-domain, including the | flow admission and termination for the PCN-domain, including the | |||
| PCN-egress-nodes which measure these PCN-marks. | PCN-egress-nodes which measure these PCN-marks. | |||
| o PCN-boundary-node: a PCN-node that connects one PCN-domain to a | o PCN-boundary-node: a PCN-node that connects one PCN-domain to a | |||
| node either in another PCN-domain or in a non PCN-domain. | node either in another PCN-domain or in a non PCN-domain. | |||
| skipping to change at page 8, line 9 | skipping to change at page 8, line 4 | |||
| flow admission and termination for the PCN-domain, including the | flow admission and termination for the PCN-domain, including the | |||
| PCN-egress-nodes which measure these PCN-marks. | PCN-egress-nodes which measure these PCN-marks. | |||
| o PCN-boundary-node: a PCN-node that connects one PCN-domain to a | o PCN-boundary-node: a PCN-node that connects one PCN-domain to a | |||
| node either in another PCN-domain or in a non PCN-domain. | node either in another PCN-domain or in a non PCN-domain. | |||
| o PCN-interior-node: a node in a PCN-domain that is not a PCN- | o PCN-interior-node: a node in a PCN-domain that is not a PCN- | |||
| boundary-node. | boundary-node. | |||
| o PCN-node: a PCN-boundary-node or a PCN-interior-node | o PCN-node: a PCN-boundary-node or a PCN-interior-node | |||
| o PCN-egress-node: a PCN-boundary-node in its role in handling | o PCN-egress-node: a PCN-boundary-node in its role in handling | |||
| traffic as it leaves a PCN-domain. | traffic as it leaves a PCN-domain. | |||
| o PCN-ingress-node: a PCN-boundary-node in its role in handling | o PCN-ingress-node: a PCN-boundary-node in its role in handling | |||
| traffic as it enters a PCN-domain. | traffic as it enters a PCN-domain. | |||
| o PCN-traffic: A PCN-domain carries traffic of different DiffServ | o PCN-traffic: A PCN-domain carries traffic of different DiffServ | |||
| classes [RFC4594]. Those using the PCN mechanisms are called PCN- | behaviour aggregates [RFC2475]. Those using the PCN mechanisms | |||
| classes (collectively called PCN-traffic) and the corresponding | are called PCN-BAs (collectively called PCN-traffic) and the | |||
| packets are PCN-packets. The same network may carry traffic using | corresponding packets are PCN-packets. The same network may carry | |||
| other DiffServ classes. | traffic using other DiffServ BAs. A PCN-flow is the unit of PCN- | |||
| traffic that the PCN-boundary-node admits (or terminates); the | ||||
| unit could be a single microflow (as defined in [RFC2475]) or some | ||||
| identifiable collection of microflows. | ||||
| o Ingress-egress-aggregate: The collection of PCN-packets from all | o Ingress-egress-aggregate: The collection of PCN-packets from all | |||
| PCN-flows that travel in one direction between a specific pair of | PCN-flows that travel in one direction between a specific pair of | |||
| PCN-boundary-nodes. | PCN-boundary-nodes. | |||
| o PCN-lower-rate: a reference rate configured for each link in the | o PCN-lower-rate: a reference rate configured for each link in the | |||
| PCN-domain, which is lower than the PCN-upper-rate. It is used by | PCN-domain, which is lower than the PCN-upper-rate. It is used by | |||
| a marking behaviour that determines whether a packet should be | a marking behaviour that determines whether a packet should be | |||
| PCN-marked with a first encoding. | PCN-marked with a first encoding. | |||
| skipping to change at page 9, line 8 | skipping to change at page 9, line 4 | |||
| of PCN-traffic that is PCN-marked is equal to the amount that | of PCN-traffic that is PCN-marked is equal to the amount that | |||
| exceeds a particular rate (either the PCN-lower-rate or PCN-upper- | exceeds a particular rate (either the PCN-lower-rate or PCN-upper- | |||
| rate). NOTE: The definition reflects the overall intent rather | rate). NOTE: The definition reflects the overall intent rather | |||
| than its instantaneous behaviour, since the rate measured at a | than its instantaneous behaviour, since the rate measured at a | |||
| particular moment depends on the behaviour, its implementation and | particular moment depends on the behaviour, its implementation and | |||
| the traffic's variance as well as its rate. | the traffic's variance as well as its rate. | |||
| o Pre-congestion: a condition of a link within a PCN-domain in which | o Pre-congestion: a condition of a link within a PCN-domain in which | |||
| the PCN-node performs PCN-marking, in order to provide an "early | the PCN-node performs PCN-marking, in order to provide an "early | |||
| warning" of potential congestion before there is any significant | warning" of potential congestion before there is any significant | |||
| build-up of PCN-packets in the real queue. | build-up of PCN-packets in the real queue. (Hence, by analogy | |||
| with ECN we call our mechanism Pre-Congestion Notification.) | ||||
| o PCN-marking: the process of setting the header in a PCN-packet | o PCN-marking: the process of setting the header in a PCN-packet | |||
| based on defined rules, in reaction to pre-congestion. | based on defined rules, in reaction to pre-congestion. | |||
| o PCN-feedback-information: information signalled by a PCN-egress- | o PCN-feedback-information: information signalled by a PCN-egress- | |||
| node to a PCN-ingress-node or central control node, which is | node to a PCN-ingress-node or central control node, which is | |||
| needed for the flow admission and flow termination mechanisms. | needed for the flow admission and flow termination mechanisms. | |||
| 3. Assumptions and constraints on scope | 3. Assumptions and constraints on scope | |||
| The PCN WG's charter restricts the initial scope by a set of | The scope of PCN is, at least initially (see Appendix A), restricted | |||
| assumptions. Here we list those assumptions and explain them. | by the following assumptions: | |||
| 1. these components are deployed in a single DiffServ domain, within | 1. these components are deployed in a single DiffServ domain, within | |||
| which all PCN-nodes are PCN-enabled and trust each other for | which all PCN-nodes are PCN-enabled and trust each other for | |||
| truthful PCN-marking and transport | truthful PCN-marking and transport | |||
| 2. all flows handled by these mechanisms are inelastic and | 2. all flows handled by these mechanisms are inelastic and | |||
| constrained to a known peak rate through policing or shaping | constrained to a known peak rate through policing or shaping | |||
| 3. the number of PCN-flows across any potential bottleneck link is | 3. the number of PCN-flows across any potential bottleneck link is | |||
| sufficiently large that stateless, statistical mechanisms can be | sufficiently large that stateless, statistical mechanisms can be | |||
| effective. To put it another way, the aggregate bit rate of PCN- | effective. To put it another way, the aggregate bit rate of PCN- | |||
| traffic across any potential bottleneck link needs to be | traffic across any potential bottleneck link needs to be | |||
| sufficiently large relative to the maximum additional bit rate | sufficiently large relative to the maximum additional bit rate | |||
| added by one flow | added by one flow. This is the basic assumption of measurement- | |||
| based admission control. | ||||
| 4. PCN-flows may have different precedence, but the applicability of | 4. PCN-flows may have different precedence, but the applicability of | |||
| the PCN mechanisms for emergency use (911, GETS, WPS, MLPP, etc.) | the PCN mechanisms for emergency use (911, GETS, WPS, MLPP, etc.) | |||
| is out of scope | is out of scope. | |||
| After completion of the initial phase, the PCN WG may re-charter to | ||||
| develop solutions for specific scenarios where some of these | ||||
| restrictions are not in place. It may also re-charter to consider | ||||
| applying the PCN mechanisms to additional deployment scenarios. One | ||||
| possible example is where a single PCN-domain encompasses several | ||||
| DiffServ domains that don't trust each other (perhaps by using a | ||||
| mechanism like re-ECN, [I-D.briscoe-re-pcn-border-cheat]. The WG may | ||||
| also re-charter to investigate additional response mechanisms that | ||||
| act on (pre-)congestion information. One example could be flow-rate | ||||
| adaptation by elastic applications (rather than flow admission or | ||||
| termination). The details of these work items are outside the scope | ||||
| of the initial phase, but the WG may consider their requirements in | ||||
| order to design components that are sufficiently general to support | ||||
| such extensions in the future. The working assumption is that the | ||||
| standards developed in the initial phase should not need to be | ||||
| modified to satisfy the solutions for when these restrictions are | ||||
| removed. | ||||
| 3.1. Assumption 1: Trust - controlled environment | 3.1. Assumption 1: Trust and support of PCN - controlled environment | |||
| We assume that the PCN-domain is a controlled environment, i.e. all | We assume that the PCN-domain is a controlled environment, i.e. all | |||
| the nodes in a PCN-domain run PCN and trust each other. There are | the nodes in a PCN-domain run PCN and trust each other. There are | |||
| several reasons for proposing this assumption: | several reasons for proposing this assumption: | |||
| o The PCN-domain has to be encircled by a ring of PCN-boundary- | o The PCN-domain has to be encircled by a ring of PCN-boundary- | |||
| nodes, otherwise PCN-packets could enter the PCN-domain without | nodes, otherwise traffic could enter a PCN BA without being | |||
| being subject to admission control, which would potentially | subject to admission control, which would potentially degrade the | |||
| destroy the QoS of existing flows. | QoS of existing PCN-flows. | |||
| o Similarly, a PCN-boundary-node has to trust that all the PCN-nodes | o Similarly, a PCN-boundary-node has to trust that all the PCN-nodes | |||
| are doing PCN-marking. A non PCN-node wouldn't be able to alert | mark PCN-traffic consistently. A node not doing PCN-marking | |||
| that it is suffering pre-congestion, which potentially would lead | wouldn't be able to alert when it suffered pre-congestion, which | |||
| to too many PCN-flows being admitted (or too few being | potentially would lead to too many PCN-flows being admitted (or | |||
| terminated). Worse, a rogue node could perform various attacks, | too few being terminated). Worse, a rogue node could perform | |||
| as discussed in the Security Considerations section. | various attacks, as discussed in the Security Considerations | |||
| section. | ||||
| One way of assuring the above two points is that the entire PCN- | One way of assuring the above two points is that the entire PCN- | |||
| domain is run by a single operator. Another possibility is that | domain is run by a single operator. Another possibility is that | |||
| there are several operators but they trust each other to a sufficient | there are several operators but they trust each other to a sufficient | |||
| level, in their handling of PCN-traffic. | level, in their handling of PCN-traffic. | |||
| Note: All PCN-nodes need to be trustworthy. However if it's known | Note: All PCN-nodes need to be trustworthy. However if it's known | |||
| that an interface cannot become pre-congested then it's not strictly | that an interface cannot become pre-congested then it's not strictly | |||
| necessary for it to be capable of PCN-marking. But this must be | necessary for it to be capable of PCN-marking. But this must be | |||
| known even in unusual circumstances, eg after the failure of some | known even in unusual circumstances, eg after the failure of some | |||
| skipping to change at page 10, line 48 | skipping to change at page 10, line 30 | |||
| 3.2. Assumption 2: Real-time applications | 3.2. Assumption 2: Real-time applications | |||
| We assume that any variation of source bit rate is independent of the | We assume that any variation of source bit rate is independent of the | |||
| level of pre-congestion. We assume that PCN-packets come from real | level of pre-congestion. We assume that PCN-packets come from real | |||
| time applications generating inelastic traffic [Shenker] like voice | time applications generating inelastic traffic [Shenker] like voice | |||
| and video requiring low delay, jitter and packet loss, for example | and video requiring low delay, jitter and packet loss, for example | |||
| the Controlled Load Service, [RFC2211], and the Telephony service | the Controlled Load Service, [RFC2211], and the Telephony service | |||
| class, [RFC4594]. This assumption is to help focus the effort where | class, [RFC4594]. This assumption is to help focus the effort where | |||
| it looks like PCN would be most useful, ie the sorts of applications | it looks like PCN would be most useful, ie the sorts of applications | |||
| where per flow QoS is a known requirement. For instance, the impact | where per flow QoS is a known requirement. In other words we focus | |||
| of this assumption would be to guide simulations work. | on PCN providing a benefit to inelastic traffic (PCN may or may not | |||
| provide a benefit to other types of traffic). For instance, the | ||||
| impact of this assumption would be to guide simulations work. | ||||
| 3.3. Assumption 3: Many flows and additional load | 3.3. Assumption 3: Many flows and additional load | |||
| We assume that there are many flows on any bottleneck link in the | We assume that there are many PCN-flows on any bottleneck link in the | |||
| PCN-domain (or, to put it another way, the aggregate bit rate of PCN- | PCN-domain (or, to put it another way, the aggregate bit rate of PCN- | |||
| traffic across any potential bottleneck link is sufficiently large | traffic across any potential bottleneck link is sufficiently large | |||
| relative to the maximum additional bit rate added by one flow). | relative to the maximum additional bit rate added by one PCN-flow). | |||
| Measurement-based admission control assumes that the present is a | Measurement-based admission control assumes that the present is a | |||
| reasonable prediction of the future: the network conditions are | reasonable prediction of the future: the network conditions are | |||
| measured at the time of a new flow request, however the actual | measured at the time of a new flow request, however the actual | |||
| network performance must be OK during the call some time later. One | network performance must be OK during the call some time later. One | |||
| issue is that if there are only a few variable rate flows, then the | issue is that if there are only a few variable rate flows, then the | |||
| aggregate traffic level may vary a lot, perhaps enough to cause some | aggregate traffic level may vary a lot, perhaps enough to cause some | |||
| packets to get dropped. If there are many flows then the aggregate | packets to get dropped. If there are many flows then the aggregate | |||
| traffic level should be statistically smoothed. How many flows is | traffic level should be statistically smoothed. How many flows is | |||
| enough depends on a number of things such as the variation in each | enough depends on a number of things such as the variation in each | |||
| flow's rate, the total rate of PCN-traffic, and the size of the | flow's rate, the total rate of PCN-traffic, and the size of the | |||
| skipping to change at page 11, line 49 | skipping to change at page 11, line 31 | |||
| marking is being applied to traffic scheduled with the expedited | marking is being applied to traffic scheduled with the expedited | |||
| forwarding per-hop behaviour, [RFC3246], or traffic with similar | forwarding per-hop behaviour, [RFC3246], or traffic with similar | |||
| characteristics. | characteristics. | |||
| The following two assumptions apply if the PCN WG decides to encode | The following two assumptions apply if the PCN WG decides to encode | |||
| PCN-marking in the ECN-field. | PCN-marking in the ECN-field. | |||
| o It is assumed that PCN-nodes do not perform ECN, [RFC3168], on | o It is assumed that PCN-nodes do not perform ECN, [RFC3168], on | |||
| PCN-packets. | PCN-packets. | |||
| o If a packet that is part of a PCN-flow arrives at a PCN-ingress- | o What to do if a packet that is part of a PCN-flow arrives at a | |||
| node with its CE (Congestion experienced) codepoint set, then we | PCN-ingress-node with its CE (Congestion experienced) codepoint | |||
| assume that the PCN-ingress-node drops the packet. After its | set (or if it detects that the ECN-nonce in use). There are | |||
| initial Charter is complete, the WG may decide to work on a | several possibilities (not discussed further in this document) | |||
| mechanism (such as through a signalling extension) that enables | about what the PCN-ingress-node should do: | |||
| ECN-marking to be carried transparently across the PCN-domain. | ||||
| * drop the packet | ||||
| * downgrade the packet to non PCN-BA, eg best effort | ||||
| * tunnel the packet, so that the ECN-marking is carried | ||||
| transparently across the PCN-domain. | ||||
| 4. High-level functional architecture | 4. High-level functional architecture | |||
| The high-level approach is to split functionality between: | The high-level approach is to split functionality between: | |||
| o PCN-interior-nodes 'inside' the PCN-domain, which monitor their | o PCN-interior-nodes 'inside' the PCN-domain, which monitor their | |||
| own state of pre-congestion on each outgoing interface and mark | own state of pre-congestion on each outgoing interface and mark | |||
| PCN-packets if appropriate. They are not flow-aware, nor aware of | PCN-packets if appropriate. They are not flow-aware, nor aware of | |||
| ingress-egress-aggregates. The functionality is also done by PCN- | ingress-egress-aggregates. The functionality is also done by PCN- | |||
| ingress-nodes for their outgoing interfaces (ie those 'inside' the | ingress-nodes for their outgoing interfaces (ie those 'inside' the | |||
| PCN-domain). | PCN-domain). | |||
| o PCN-boundary-nodes at the edge of the PCN-domain, which control | o PCN-boundary-nodes at the edge of the PCN-domain, which control | |||
| admission of new PCN-flows and termination of existing PCN-flows, | admission of new PCN-flows and termination of existing PCN-flows, | |||
| based on information from PCN-interior-nodes. This information is | based on information from PCN-interior-nodes. This information is | |||
| in the form of the PCN-marked data packets (which are intercepted | in the form of the PCN-marked data packets (which are intercepted | |||
| by the PCN-egress-nodes) and not signalling messages. Generally | by the PCN-egress-nodes) and not signalling messages. Generally | |||
| PCN-ingress-nodes are flow-aware and in several deployment | PCN-ingress-nodes are flow-aware. | |||
| scenarios PCN-egress-nodes will also be flow aware. | ||||
| The aim of this split is to keep the bulk of the network simple, | The aim of this split is to keep the bulk of the network simple, | |||
| scalable and robust, whilst confining policy, application-level and | scalable and robust, whilst confining policy, application-level and | |||
| security interactions to the edge of the PCN-domain. For example the | security interactions to the edge of the PCN-domain. For example the | |||
| lack of flow awareness means that the PCN-interior-nodes don't care | lack of flow awareness means that the PCN-interior-nodes don't care | |||
| about the flow information associated with the PCN-packets that they | about the flow information associated with the PCN-packets that they | |||
| carry, nor do the PCN-boundary-nodes care about which PCN-interior- | carry, nor do the PCN-boundary-nodes care about which PCN-interior- | |||
| nodes its flows traverse. | nodes its flows traverse. | |||
| The objective is to standardise PCN-marking behaviour, but | ||||
| potentially produce more than one (informational) RFC describing how | ||||
| PCN-boundary-nodes react to PCN-marks. | ||||
| Note: Section 4 and Section 5 talk about PCN functionality being | ||||
| configured on outgoing interfaces of PCN-nodes. Alternatively, PCN | ||||
| functionality could be configured on the ingress interfaces of PCN- | ||||
| nodes, however a consistent choice must be made across the PCN-domain | ||||
| to ensure that the PCN mechanisms protect all links. This document | ||||
| assumes configuration on the egress interfaces, because in DiffServ | ||||
| networks today DiffServ functionality is usually implemented on | ||||
| egress interfaces. | ||||
| 4.1. Flow admission | 4.1. Flow admission | |||
| At a high level, flow admission control works as follows. In order | At a high level, flow admission control works as follows. In order | |||
| to generate information about the current state of the PCN-domain, | to generate information about the current state of the PCN-domain, | |||
| each PCN-node PCN-marks packets if it is "pre-congested". Exactly | each PCN-node PCN-marks packets if it is "pre-congested". Exactly | |||
| how a PCN-node decides if it is "pre-congested" (the algorithm) and | how a PCN-node decides if it is "pre-congested" (the algorithm) and | |||
| exactly how packets are "PCN-marked" (the encoding) will be defined | exactly how packets are "PCN-marked" (the encoding) will be defined | |||
| in a separate standards-track document, but at a high level it is | in a separate standards-track document, but at a high level it is | |||
| expected to be as follows: | expected to be as follows: | |||
| skipping to change at page 13, line 16 | skipping to change at page 13, line 16 | |||
| encoding) by setting fields in the header to specific values. It | encoding) by setting fields in the header to specific values. It | |||
| is expected that the ECN and/or DSCP fields will be used. | is expected that the ECN and/or DSCP fields will be used. | |||
| NOTE: Two main categories of algorithm have been proposed: if the | NOTE: Two main categories of algorithm have been proposed: if the | |||
| algorithm uses threshold-marking then all PCN-packets are marked if | algorithm uses threshold-marking then all PCN-packets are marked if | |||
| the current rate exceeds the PCN-lower-rate, whereas if the algorithm | the current rate exceeds the PCN-lower-rate, whereas if the algorithm | |||
| uses excess-rate-marking the amount marked is equal to the amount in | uses excess-rate-marking the amount marked is equal to the amount in | |||
| excess of the PCN-lower-rate. However, note that this description | excess of the PCN-lower-rate. However, note that this description | |||
| reflects the overall intent of the algorithm rather than its | reflects the overall intent of the algorithm rather than its | |||
| instantaneous behaviour, since the rate measured at a particular | instantaneous behaviour, since the rate measured at a particular | |||
| moment depends on the detailed algorithm, its implementation (eg | moment depends on the detailed algorithm, its implementation and the | |||
| virtual queue, token bucket...) and the traffic's variance as well as | traffic's variance as well as its rate (eg marking may well continue | |||
| its rate (eg marking may well continue after a recent overload even | after a recent overload even after the instantaneous rate has | |||
| after the instantaneous rate has dropped). | dropped). | |||
| The PCN-boundary-nodes monitor the PCN-marked packets in order to | The PCN-boundary-nodes monitor the PCN-marked packets in order to | |||
| extract information about the current state of the PCN-domain. Based | extract information about the current state of the PCN-domain. Based | |||
| on this monitoring, a decision is made about whether to admit a | on this monitoring, a decision is made about whether to admit a | |||
| prospective new flow. Exactly how the admission control decision is | prospective new flow. Exactly how the admission control decision is | |||
| made will be defined separately (at the moment the intention is that | made will be defined separately (at the moment the intention is that | |||
| there will be one or more informational-track RFCs), but at a high | there will be one or more informational-track RFCs), but at a high | |||
| level two approaches have been proposed to date: | level two approaches have been proposed to date: | |||
| o the PCN-egress-node measures (possibly as a moving average) the | o the PCN-egress-node measures (possibly as a moving average) the | |||
| fraction of the PCN-traffic that is PCN-marked. The fraction is | fraction of the PCN-traffic that is PCN-marked. The fraction is | |||
| measured for a specific ingress-egress-aggregate. If the fraction | measured for a specific ingress-egress-aggregate. If the fraction | |||
| is below a threshold value then the new flow is admitted. | is below a threshold value then the new flow is admitted. | |||
| o if the PCN-egress-node receives one (or several) PCN-marked | o if the PCN-egress-node receives one (or several) PCN-marked | |||
| packets, then a new flow is blocked. | packets, then a new flow is blocked, otherwise it is admitted. | |||
| Note that the PCN-lower-rate is a parameter that can be configured by | Note that the PCN-lower-rate is a parameter that can be configured by | |||
| the operator. It will be set lower than the traffic rate at which | the operator. It will be set lower than the traffic rate at which | |||
| the link becomes congested and the node drops packets. (Hence, by | the link becomes congested and the node drops packets. | |||
| analogy with ECN we call our mechanism Pre-Congestion Notification.) | ||||
| Note also that the admission control decision is made for a | Note also that the admission control decision is made for a | |||
| particular ingress-egress-aggregate. So it is quite possible for a | particular pair of PCN-boundary-nodes. So it is quite possible for a | |||
| new flow to be admitted between one pair of PCN-boundary-nodes, | new flow to be admitted between one pair of PCN-boundary-nodes, | |||
| whilst at the same time another admission request is blocked between | whilst at the same time another admission request is blocked between | |||
| a different pair of PCN-boundary-nodes. | a different pair of PCN-boundary-nodes. | |||
| 4.2. Flow termination | 4.2. Flow termination | |||
| At a high level, flow termination control works as follows. Each | At a high level, flow termination control works as follows. Each | |||
| PCN-node PCN-marks packets in a similar fashion to above. An obvious | PCN-node PCN-marks packets in a similar fashion to above, with all | |||
| approach is for the algorithm to use a second configured parameter, | proposals using an excess-rate-marking approach (Section 4.1). An | |||
| PCN-upper-rate, and a second header encoding. However there is also | obvious approach is for the algorithm to use a second configured | |||
| a proposal to use the same rate and the same encoding. Several | parameter, PCN-upper-rate, and a second header encoding. However | |||
| approaches have been proposed to date about how to convert this | there is also a proposal to use the same rate and the same encoding. | |||
| information into a flow termination decision; at a high level these | Several approaches have been proposed to date about how to convert | |||
| are as follows: | this information into a flow termination decision; at a high level | |||
| these are as follows: | ||||
| o One approach measures the rate of unmarked PCN-traffic (ie not | o In one approach the PCN-egress-node measures the rate of unmarked | |||
| PCN-upper-rate-marked) at the PCN-egress-node, which is the amount | PCN-traffic (ie not PCN-upper-rate-marked), which is the amount of | |||
| of PCN-traffic that can actually be supported; the PCN-ingress- | PCN-traffic that can actually be supported. Also the PCN-ingress- | |||
| node measures the rate of PCN-traffic that is destined for this | node measures the rate of PCN-traffic that is destined for this | |||
| specific PCN-egress-node, and hence can calculate the excess | specific PCN-egress-node, and hence can calculate the excess | |||
| amount that should be terminated. | amount that should be terminated. | |||
| o Another approach instead measures the rate of PCN-upper-rate- | o Another approach instead measures the rate of PCN-upper-rate- | |||
| marked traffic and calculates and selects the flows that should be | marked traffic and calculates and selects the flows that should be | |||
| terminated. | terminated. | |||
| o Another approach terminates any PCN-flow with a PCN-upper-rate- | o Another approach terminates any PCN-flow with a PCN-upper-rate- | |||
| marked packet. Compared with the approaches above, PCN-marking | marked packet. Compared with the approaches above, PCN-marking | |||
| needs to be done at a reduced rate otherwise far too much traffic | needs to be done at a reduced rate (every "s" bytes of excess | |||
| would be terminated. | traffic) otherwise far too much traffic would be terminated. | |||
| o Another approach uses only one sort of marking, which is based on | o Another approach uses only one sort of marking, which is based on | |||
| the PCN-lower-rate, to decide not only whether to admit more PCN- | the PCN-lower-rate, to decide not only whether to admit more PCN- | |||
| flows but also whether any PCN-flows need to be terminated. It | flows but also whether any PCN-flows need to be terminated. It | |||
| assumes that the ratio of the (implicit) PCN-upper-rate and the | assumes that the ratio of the (implicit) PCN-upper-rate and the | |||
| PCN-lower-rate is the same on all links. This approach measures | PCN-lower-rate is the same on all links. This approach measures | |||
| the rate of unmarked PCN-traffic at a PCN-egress-node. The PCN- | the rate of unmarked PCN-traffic at a PCN-egress-node. The PCN- | |||
| ingress-node uses this measurement to compute the implicit PCN- | ingress-node uses this measurement to compute the implicit PCN- | |||
| upper-rate of the bottleneck link. It then measures the rate of | upper-rate of the bottleneck link. It then measures the rate of | |||
| PCN-traffic that is destined for this specific PCN-egress-node and | PCN-traffic that is destined for this specific PCN-egress-node and | |||
| hence can calculate the amount that should be terminated. | hence can calculate the amount that should be terminated. | |||
| Since flow termination is designed for "abnormal" circumstances, it | Since flow termination is designed for "abnormal" circumstances, it | |||
| is quite likely that some PCN-nodes are congested and hence packets | is quite likely that some PCN-nodes are congested and hence packets | |||
| are being dropped and/or significantly queued. The flow termination | are being dropped and/or significantly queued. The flow termination | |||
| mechanism must bear this in mind. | mechanism must bear this in mind. | |||
| Note also that the termination control decision is made for a | Note also that the termination control decision is made for a | |||
| particular ingress-egress-aggregate. So it is quite possible for | particular pair of PCN-boundary-nodes. So it is quite possible for | |||
| PCN-flows to be terminated between one pair of PCN-boundary-nodes, | PCN-flows to be terminated between one pair of PCN-boundary-nodes, | |||
| whilst at the same time none are terminated between a different pair | whilst at the same time none are terminated between a different pair | |||
| of PCN-boundary-nodes. | of PCN-boundary-nodes. | |||
| 4.3. Flow admission and flow termination | 4.3. Flow admission and flow termination | |||
| Although designed to work together, flow admission and flow | Although designed to work together, flow admission and flow | |||
| termination are independent mechanisms, and the use of one does not | termination are independent mechanisms, and the use of one does not | |||
| require or prevent the use of the other. | require or prevent the use of the other. | |||
| skipping to change at page 15, line 33 | skipping to change at page 15, line 33 | |||
| A different possibility is to configure only the PCN-lower-rate and | A different possibility is to configure only the PCN-lower-rate and | |||
| hence only do one type of PCN-marking, but generate admission and | hence only do one type of PCN-marking, but generate admission and | |||
| flow termination responses from different levels of marking. This is | flow termination responses from different levels of marking. This is | |||
| suggested in [I-D.charny-pcn-single-marking] which gives some of the | suggested in [I-D.charny-pcn-single-marking] which gives some of the | |||
| pros and cons of this approach. | pros and cons of this approach. | |||
| 4.4. Information transport | 4.4. Information transport | |||
| The transport of pre-congestion information from a PCN-node to a PCN- | The transport of pre-congestion information from a PCN-node to a PCN- | |||
| egress-node is through PCN-markings in data packet headers, no | egress-node is through PCN-markings in data packet headers, ie "in- | |||
| signalling protocol messaging is needed. However, signalling is | band": no signalling protocol messaging is needed. However, | |||
| needed to transport PCN-feedback-information between the PCN- | signalling is needed to transport PCN-feedback-information between | |||
| boundary-nodes, for example to convey the fraction of PCN-marked | the PCN-boundary-nodes, for example to convey the fraction of PCN- | |||
| traffic from a PCN-egress-node to the relevant PCN-ingress-node. | marked traffic from a PCN-egress-node to the relevant PCN-ingress- | |||
| Exactly what information needs to be transported will be described in | node. Exactly what information needs to be transported will be | |||
| the future PCN WG document(s) about the boundary mechanisms. The | described in the future PCN WG document(s) about the boundary | |||
| signalling could be done by an extension of RSVP or NSIS, for | mechanisms. The signalling could be done by an extension of RSVP or | |||
| instance; protocol work will be done by the relevant WG, but for | NSIS, for instance; protocol work will be done by the relevant WG, | |||
| example [I-D.lefaucheur-rsvp-ecn] describes the extensions needed for | but for example [I-D.lefaucheur-rsvp-ecn] describes the extensions | |||
| RSVP. | needed for RSVP. | |||
| 4.5. PCN-traffic | 4.5. PCN-traffic | |||
| The following are some high-level points about how PCN works: | The following are some high-level points about how PCN works: | |||
| o There needs to be a way for a PCN-node to distinguish PCN-traffic | o There needs to be a way for a PCN-node to distinguish PCN-traffic | |||
| from non PCN-traffic. They may be distinguished using the DSCP | from non PCN-traffic. They may be distinguished using the DSCP | |||
| field and/or ECN field. | field and/or ECN field. | |||
| o The PCN mechanisms may be applied to more than one traffic class | o The PCN mechanisms may be applied to more than one behaviour | |||
| (which are distinguished by DSCP). | aggregate (which are distinguished by DSCP). | |||
| o There may be traffic that is more important than PCN, perhaps a | o There may be traffic that is more important than PCN, perhaps a | |||
| particular application or an operator's control messages. A PCN- | particular application or an operator's control messages. A PCN- | |||
| node may dedicate capacity to such traffic or priority schedule it | node may dedicate capacity to such traffic or priority schedule it | |||
| over PCN. In the latter case its traffic needs to contribute to | over PCN. In the latter case its traffic needs to contribute to | |||
| the PCN meters. | the PCN meters. | |||
| o There will be traffic less important than PCN. For instance best | o There will be traffic less important than PCN. For instance best | |||
| effort or assured forwarding traffic. It will be scheduled at | effort or assured forwarding traffic. It will be scheduled at | |||
| lower priority than PCN, and use a separate queue or queues. | lower priority than PCN, and use a separate queue or queues. | |||
| skipping to change at page 17, line 16 | skipping to change at page 17, line 16 | |||
| The section then discusses some other detailed topics: | The section then discusses some other detailed topics: | |||
| 1. addressing | 1. addressing | |||
| 2. tunnelling | 2. tunnelling | |||
| 3. fault handling | 3. fault handling | |||
| 5.1. PCN-interior-node functions | 5.1. PCN-interior-node functions | |||
| Each interface of the PCN-domain is upgraded with the following | Each interface of the PCN-domain is configured with the following | |||
| functionality: | functionality: | |||
| o Packet classify - decide whether an incoming packet is a PCN- | o Packet classify - decide whether an incoming packet is a PCN- | |||
| packet or not. Another PCN WG document will specify encoding, | packet or not. Another PCN WG document will specify encoding, | |||
| using the DSCP and/or ECN fields. | using the DSCP and/or ECN fields. | |||
| o PCN-meter - measure the 'amount of PCN-traffic'. The measurement | o PCN-meter - measure the 'amount of PCN-traffic'. The measurement | |||
| is made as an aggregate of all PCN-packets, and not per flow. | is made as an aggregate of all PCN-packets, and not per flow. | |||
| o PCN-mark - algorithms determine whether to PCN-mark PCN-packets | o PCN-mark - algorithms determine whether to PCN-mark PCN-packets | |||
| skipping to change at page 17, line 43 | skipping to change at page 17, line 43 | |||
| These functions are needed for each interface of the PCN-domain. | These functions are needed for each interface of the PCN-domain. | |||
| They are therefore needed on all interfaces of PCN-interior-nodes, | They are therefore needed on all interfaces of PCN-interior-nodes, | |||
| and on the interfaces of PCN-boundary-nodes that are internal to the | and on the interfaces of PCN-boundary-nodes that are internal to the | |||
| PCN-domain. There may be more than one PCN-meter and marker | PCN-domain. There may be more than one PCN-meter and marker | |||
| installed at a given interface, eg one for admission and one for | installed at a given interface, eg one for admission and one for | |||
| termination. | termination. | |||
| 5.2. PCN-ingress-node functions | 5.2. PCN-ingress-node functions | |||
| Each ingress interface of the PCN-domain is upgraded with the | Each ingress interface of the PCN-domain is configured with the | |||
| following functionality: | following functionality: | |||
| o Packet classify - decide whether an incoming packet is part of a | o Packet classify - decide whether an incoming packet is part of a | |||
| previously admitted microflow, by using a filter spec (eg DSCP, | previously admitted microflow, by using a filter spec (eg DSCP, | |||
| source and destination addresses and port numbers) | source and destination addresses and port numbers) | |||
| o Police - police, by dropping or re-marking with a non-PCN DSCP, | o Police - police, by dropping or re-marking with a non-PCN DSCP, | |||
| any packets received with a DSCP demanding PCN transport that do | any packets received with a DSCP demanding PCN transport that do | |||
| not belong to an admitted flow. Similarly, police packets that | not belong to an admitted flow. Similarly, police packets that | |||
| are part of a previously admitted microflow, to check that the | are part of a previously admitted microflow, to check that the | |||
| microflow keeps to the agreed rate or flowspec (eg RFC1633 | microflow keeps to the agreed rate or flowspec (eg RFC1633 | |||
| [RFC1633] and NSIS equivalent). | [RFC1633] and NSIS equivalent). There is a need to be careful to | |||
| avoid re-ordering traffic. | ||||
| o PCN-colour - set the DSCP field or DSCP and ECN fields to the | o PCN-colour - set the DSCP field or DSCP and ECN fields to the | |||
| appropriate value(s) for a PCN-packet. The draft about PCN- | appropriate value(s) for a PCN-packet. The draft about PCN- | |||
| encoding will discuss further. | encoding will discuss further. | |||
| o PCN-meter - make "measurements of PCN-traffic". Some approaches | o PCN-meter - make "measurements of PCN-traffic". Some approaches | |||
| to flow termination require the PCN-ingress-node to measure the | to flow termination require the PCN-ingress-node to measure the | |||
| (aggregate) rate of PCN-traffic towards a particular PCN-egress- | (aggregate) rate of PCN-traffic towards a particular PCN-egress- | |||
| node. | node. | |||
| The first two are policing functions, needed to make sure that PCN- | The first two are policing functions, needed to make sure that PCN- | |||
| packets let into the PCN-domain belong to a flow that's been admitted | packets admitted into the PCN-domain belong to a flow that's been | |||
| and to ensure that the flow doesn't go at a faster rate than agreed. | admitted and to ensure that the flow keeps to the flowspec agreed (eg | |||
| The filter spec will for example come from the flow request message | doesn't go at a faster rate and is inelastic traffic). Installing | |||
| (outside scope of PCN WG, see [I-D.briscoe-tsvwg-cl-architecture] for | the filter spec will typically be done by the signalling protocol, as | |||
| an example using RSVP). PCN-colouring allows the rest of the PCN- | will re-installing the filter, for example after a re-route that | |||
| domain to recognise PCN-packets. | changes the PCN-ingress-node (see [I-D.briscoe-tsvwg-cl-architecture] | |||
| for an example using RSVP). PCN-colouring allows the rest of the | ||||
| PCN-domain to recognise PCN-packets. | ||||
| 5.3. PCN-egress-node functions | 5.3. PCN-egress-node functions | |||
| Each egress interface of the PCN-domain is upgraded with the | Each egress interface of the PCN-domain is configured with the | |||
| following functionality: | following functionality: | |||
| o Packet classify - determine which PCN-ingress-node a PCN-packet | o Packet classify - determine which PCN-ingress-node a PCN-packet | |||
| has come from. | has come from. | |||
| o PCN-meter - make measurements of PCN-traffic. The measurement(s) | o PCN-meter - "measure PCN-traffic" or "monitor PCN-marks". | |||
| is made as an aggregate (ie not per flow) of all PCN-packets from | ||||
| a particular PCN-ingress-node. | ||||
| o PCN-colour - for PCN-packets, set the DSCP and ECN fields to the | o PCN-colour - for PCN-packets, set the DSCP and ECN fields to the | |||
| appropriate values for use outside the PCN-domain. | appropriate values for use outside the PCN-domain. | |||
| Another PCN WG document, about boundary mechanisms, will describe | Another PCN WG document, about boundary mechanisms, will describe | |||
| what the "measurements of PCN-traffic" are. This depends on whether | PCN-metering in more detail. As described in Section 4.1 and Section | |||
| the measurement is targeted at admission control or flow termination. | 4.2, at present there are two alternative proposals: to measure as an | |||
| It also depends on what encoding and PCN-marking algorithms are | aggregate (ie not per flow) all PCN-packets from a particular PCN- | |||
| specified by the PCN WG. | ingress-node; or to monitor the PCN-traffic and react to one (or | |||
| several) PCN-marks. We refer to these approaches as "measuring PCN- | ||||
| traffic" and "monitoring PCN-marks". The PCN-metering functionality | ||||
| also depends on whether the measurement is targeted at admission | ||||
| control or flow termination. It also depends on what encoding and | ||||
| PCN-marking algorithms are specified by the PCN WG. | ||||
| 5.4. Admission control functions | 5.4. Other admission control functions | |||
| Specific admission control functions can be performed at a PCN- | As well as the functions covered above (Sections 5.1, 5.2, 5.3), | |||
| other specific admission control functions can be performed at a PCN- | ||||
| boundary-node (PCN-ingress-node or PCN-egress-node) or at a | boundary-node (PCN-ingress-node or PCN-egress-node) or at a | |||
| centralised node, but not at normal PCN-interior-nodes. The | centralised node, but not at normal PCN-interior-nodes. The | |||
| functions are: | functions are: | |||
| o Make decision about admission - compare the required "measurements | o Make decision about admission - based on the output of the PCN- | |||
| of PCN-traffic" (output of the PCN-egress-node's PCN-meter | egress-node's PCN-meter function. In the case where it "measures | |||
| function) with some reference level, and hence decide whether to | PCN-traffic", the measured traffic on the ingress-egress-aggregate | |||
| admit the potential new PCN-flow. As well as the PCN | is compared with some reference level. In the case where it | |||
| measurements, the decision takes account of policy and application | "monitors PCN-marks", then the decision is based on whether one | |||
| layer requirements. | (or several) packets is (are) PCN-marked or not. In either case, | |||
| the admission decision also takes account of policy and | ||||
| application layer requirements. | ||||
| o Communicate decision about admission - signal the decision to the | o Communicate decision about admission - signal the decision to the | |||
| node making the admission control request (which may be outside | node making the admission control request (which may be outside | |||
| the PCN-domain), and to the policer (PCN-ingress-node function) | the PCN-domain), and to the policer (PCN-ingress-node function) | |||
| for enforcement of the decision. | ||||
| There are various possibilities for how the functionality can be | There are various possibilities for how the functionality can be | |||
| distributed (we assume the operator would configure which is used): | distributed (we assume the operator would configure which is used): | |||
| o The decision is made at the PCN-egress-node and signalled to the | o The decision is made at the PCN-egress-node and signalled to the | |||
| PCN-ingress-node | PCN-ingress-node | |||
| o The decision is made at the PCN-ingress-node, which requires that | o The decision is made at the PCN-ingress-node, which requires that | |||
| the PCN-egress-node signals to the PCN-ingress-node the fraction | the PCN-egress-node signals PCN-feedback-information to the PCN- | |||
| of PCN-traffic that is PCN-marked (or whatever the PCN WG agrees | ingress-node. For example, in the case where the PCN-meter | |||
| as the required "measurements of PCN-traffic"). | function is to "measure PCN-traffic" it could signal the fraction | |||
| of PCN-traffic that is PCN-marked. | ||||
| o The decision is made at a centralised node, which requires that | o The decision is made at a centralised node (see Appendix). | |||
| the PCN-egress-node signals its measurements to the centralised | ||||
| node, and that the centralised node signals to the PCN-ingress- | ||||
| node about the decision about admission control. It would be | ||||
| possible for the centralised node to be one of the PCN-boundary- | ||||
| nodes, when clearly the signalling would sometimes be replaced by | ||||
| a message internal to the node. | ||||
| 5.5. Flow termination functions | The decision needs to be passed to the application layer so that it | |||
| can take the appropriate action. | ||||
| 5.5. Other flow termination functions | ||||
| Specific termination control functions can be performed at a PCN- | Specific termination control functions can be performed at a PCN- | |||
| boundary-node (PCN-ingress-node or PCN-egress-node) or at a | boundary-node (PCN-ingress-node or PCN-egress-node) or at a | |||
| centralised node, but not at normal PCN-interior-nodes. There are | centralised node, but not at normal PCN-interior-nodes. There are | |||
| various possibilities for how the functionality can be distributed, | various possibilities for how the functionality can be distributed, | |||
| similar to those discussed above in the Admission control section; | similar to those discussed above in the Admission control section; | |||
| the flow termination decision could be made at the PCN-ingress-node, | the flow termination decision could be made at the PCN-ingress-node, | |||
| the PCN-egress-node or at some centralised node. The functions are: | the PCN-egress-node or at some centralised node. The functions are: | |||
| o PCN-meter at PCN-egress-node - make "measurements of PCN-traffic" | o PCN-meter at PCN-egress-node - similarly to flow admission, there | |||
| from a particular PCN-ingress-node. | are two proposals: to "measure PCN-traffic" on the ingress-egress- | |||
| aggregate, and to "monitor PCN-marks" and react to one (or | ||||
| several) PCN-marks. | ||||
| o (if required) PCN-meter at PCN-ingress-node - make "measurements | o (if required) PCN-meter at PCN-ingress-node - make "measurements | |||
| of PCN-traffic" being sent towards a particular PCN-egress-node; | of PCN-traffic" being sent towards a particular PCN-egress-node; | |||
| again, this is done for the ingress-egress-aggregate and not per | again, this is done for the ingress-egress-aggregate and not per | |||
| flow. | flow. | |||
| o (if required) Communicate "measurements of PCN-traffic" to the | o (if required) Communicate PCN-feedback-information to the node | |||
| node that makes the flow termination decision. For example, if | that makes the flow termination decision. For example, as in | |||
| the PCN-ingress-node makes the decision then communicate the PCN- | [I-D.briscoe-tsvwg-cl-architecture], communicate the PCN-egress- | |||
| egress-node's measurements to it (as in | node's measurements to the PCN-ingress-node. | |||
| [I-D.briscoe-tsvwg-cl-architecture]). | ||||
| o Make decision about flow termination - use the "measurements of | o Make decision about flow termination - use the information from | |||
| PCN-traffic" to decide which PCN-flow or PCN-flows to terminate. | the PCN-meter(s) to decide which PCN-flow or PCN-flows to | |||
| The decision takes account of policy and application layer | terminate. The decision takes account of policy and application | |||
| requirements. | layer requirements. | |||
| o Communicate decision about flow termination - signal the decision | o Communicate decision about flow termination - signal the decision | |||
| to the node that is able to terminate the flow (which may be | to the node that is able to terminate the flow (which may be | |||
| outside the PCN-domain), and to the policer (PCN-ingress-node | outside the PCN-domain), and to the policer (PCN-ingress-node | |||
| function). | function) for enforcement of the decision. | |||
| 5.6. Addressing | 5.6. Addressing | |||
| PCN-nodes may need to know the address of other PCN-nodes: | PCN-nodes may need to know the address of other PCN-nodes. Note: in | |||
| all cases PCN-interior-nodes don't need to know the address of any | ||||
| other PCN-nodes (except as normal their next hop neighbours, for | ||||
| routing purposes). | ||||
| o Note: in all cases PCN-interior-nodes don't need to know the | The PCN-egress-node needs to know the address of the PCN-ingress-node | |||
| address of any other PCN-nodes (except as normal their next hop | associated with a flow, at a minimum so that the PCN-ingress-node can | |||
| neighbours, for routing purposes) | be informed to enforce the admission decision (and any flow | |||
| termination decision) through policing. There are various | ||||
| possibilities for how the PCN-egress-node can do this, ie associate | ||||
| the received packet to the correct ingress-egress-aggregate. It is | ||||
| not the intention of this document to mandate a particular mechanism. | ||||
| o in the cases of admission or termination decision by a PCN- | o The addressing information can be gathered from signalling. For | |||
| boundary-node, the PCN-egress-node needs to know the address of | example, regular processing of an RSVP Path message, as the PCN- | |||
| the PCN-ingress-node associated with a flow, at a minimum so that | ingress-node is the previous RSVP hop (PHOP) | |||
| the PCN-ingress-node can be informed to enforce the admission | ([I-D.lefaucheur-rsvp-ecn]). | |||
| decision (and any flow termination decision) through policing. | ||||
| The addressing information can be gathered from signalling, for | ||||
| example as described for RSVP in [I-D.lefaucheur-rsvp-ecn]. | ||||
| Another alternative is to use a probe packet that includes as | ||||
| payload the address of the PCN-ingress-node. Alternatively, if | ||||
| PCN-traffic is always tunnelled across the PCN-domain, then the | ||||
| PCN-ingress-node's address is simply the source address of the | ||||
| outer packet header; then the PCN-ingress-node needs to learn the | ||||
| address of the PCN-egress-node, either by manual configuration or | ||||
| by one of the automated tunnel endpoint discovery mechanisms (such | ||||
| as signalling or probing over the data route, interrogating | ||||
| routing or using a centralised broker). | ||||
| o in the cases of admission or termination decision by a central | o Use a probe packet that includes as payload the address of the | |||
| control node, the PCN-egress-node needs to be configured with the | PCN-ingress-node. | |||
| address of the centralised node. In addition, depending on the | ||||
| exact deployment scenario and its signalling, the centralised node | o Always tunnel PCN-traffic across the PCN-domain. Then the PCN- | |||
| may need to know the addresses of the PCN-ingress-node and PCN- | ingress-node's address is simply the source address of the outer | |||
| egress-node, the PCN-egress-node may need to know the address of | packet header. The PCN-ingress-node needs to learn the address of | |||
| the PCN-ingress-node, and the PCN-ingress-node may need to know | the PCN-egress-node, either by manual configuration or by one of | |||
| the address of the centralised node and the PCN-egress-node. | the automated tunnel endpoint discovery mechanisms (such as | |||
| NOTE: Consideration of the centralised case is out of scope of the | signalling or probing over the data route, interrogating routing | |||
| initial PCN WG Charter. | or using a centralised broker). | |||
| 5.7. Tunnelling | 5.7. Tunnelling | |||
| Tunnels may originate and/or terminate within a PCN-domain. It is | Tunnels may originate and/or terminate within a PCN-domain. It is | |||
| important that the PCN-marking of any packet can potentially | important that the PCN-marking of any packet can potentially | |||
| influence PCN's flow admission control and termination - it shouldn't | influence PCN's flow admission control and termination - it shouldn't | |||
| matter whether the packet happens to be tunnelled at the PCN-node | matter whether the packet happens to be tunnelled at the PCN-node | |||
| that PCN-marks the packet, or indeed whether it's decapsulated or | that PCN-marks the packet, or indeed whether it's decapsulated or | |||
| encapsulated by a subsequent PCN-node. This suggests that the | encapsulated by a subsequent PCN-node. This suggests that the | |||
| "uniform conceptual model" described in [RFC2983] should be re- | "uniform conceptual model" described in [RFC2983] should be re- | |||
| skipping to change at page 21, line 32 | skipping to change at page 21, line 35 | |||
| o any PCN-marking is copied into the outer header | o any PCN-marking is copied into the outer header | |||
| Similarly, in line with the "uniform conceptual model" of [RFC2983] | Similarly, in line with the "uniform conceptual model" of [RFC2983] | |||
| and the "full-functionality option" of [RFC3168], the following rule | and the "full-functionality option" of [RFC3168], the following rule | |||
| is applied if decapsulation is done within the PCN-domain: | is applied if decapsulation is done within the PCN-domain: | |||
| o if the outer header's marking state is more severe then it is | o if the outer header's marking state is more severe then it is | |||
| copied onto the inner header | copied onto the inner header | |||
| o NB the order of increasing severity is: unmarked; PCN-marking with | o Note: the order of increasing severity is: unmarked; PCN-marking | |||
| first encoding (ie associated with the PCN-lower-rate); PCN- | with first encoding (ie associated with the PCN-lower-rate); PCN- | |||
| marking with second encoding (ie associated with the PCN-upper- | marking with second encoding (ie associated with the PCN-upper- | |||
| rate) | rate) | |||
| An operator may wish to tunnel PCN-traffic from PCN-ingress-nodes to | An operator may wish to tunnel PCN-traffic from PCN-ingress-nodes to | |||
| PCN-egress-nodes. The PCN-marks shouldn't be visible outside the | PCN-egress-nodes. The PCN-marks shouldn't be visible outside the | |||
| PCN-domain, which can be achieved by doing the PCN-colour function | PCN-domain, which can be achieved by doing the PCN-colour function | |||
| (Section 5.3) after all the other (PCN and tunnelling) functions. | (Section 5.3) after all the other (PCN and tunnelling) functions. | |||
| The potential reasons for doing such tunnelling are: the PCN-egress- | The potential reasons for doing such tunnelling are: the PCN-egress- | |||
| node then automatically knows the address of the relevant PCN- | node then automatically knows the address of the relevant PCN- | |||
| ingress-node for a flow; even if ECMP is running, all PCN-packets on | ingress-node for a flow; even if ECMP is running, all PCN-packets on | |||
| a particular ingress-egress-aggregate follow the same path. But it | a particular ingress-egress-aggregate follow the same path. But it | |||
| also has drawbacks, for example the additional overhead in terms of | also has drawbacks, for example the additional overhead in terms of | |||
| bandwidth and processing. | bandwidth and processing, and the cost of setting up a mesh of | |||
| tunnels between PCN-boundary-nodes (there is an N^2 scaling issue). | ||||
| Potential issues arise for a "partially PCN-capable tunnel", ie where | Potential issues arise for a "partially PCN-capable tunnel", ie where | |||
| only one tunnel endpoint is in the PCN domain: | only one tunnel endpoint is in the PCN domain: | |||
| 1. The tunnel starts outside a PCN-domain and finishes inside it. | 1. The tunnel starts outside a PCN-domain and finishes inside it. | |||
| If the packet arrives at the tunnel ingress with the same | If the packet arrives at the tunnel ingress with the same | |||
| encoding as used within the PCN-domain to indicate PCN-marking, | encoding as used within the PCN-domain to indicate PCN-marking, | |||
| then this could lead the PCN-egress-node to falsely measure pre- | then this could lead the PCN-egress-node to falsely measure pre- | |||
| congestion. | congestion. | |||
| 2. The tunnel starts inside a PCN-domain and finishes outside it. | 2. The tunnel starts inside a PCN-domain and finishes outside it. | |||
| If the packet arrives at the tunnel ingress already PCN-marked, | If the packet arrives at the tunnel ingress already PCN-marked, | |||
| then it will still have the same encoding when it's decapsulated | then it will still have the same encoding when it's decapsulated | |||
| which could potentially confuse nodes beyond the tunnel egress. | which could potentially confuse nodes beyond the tunnel egress. | |||
| In line with the solution for partially capable DiffServ tunnels in | In line with the solution for partially capable DiffServ tunnels in | |||
| [2983], the following rules are applied: | [RFC2983], the following rules are applied: | |||
| o For case (1), the tunnel egress node clears any PCN-marking on the | o For case (1), the tunnel egress node clears any PCN-marking on the | |||
| inner header. This rule is applied before the 'copy on | inner header. This rule is applied before the 'copy on | |||
| decapsulation' rule above. | decapsulation' rule above. | |||
| o For case (2), the tunnel ingress node clears any PCN-marking on | o For case (2), the tunnel ingress node clears any PCN-marking on | |||
| the inner header. This rule is applied after the 'copy on | the inner header. This rule is applied after the 'copy on | |||
| encapsulation' rule above. | encapsulation' rule above. | |||
| Note that the above implies that one has to know, or figure out, the | Note that the above implies that one has to know, or figure out, the | |||
| skipping to change at page 22, line 46 | skipping to change at page 22, line 47 | |||
| admitted traffic, flows will gracefully continue. If instead this | admitted traffic, flows will gracefully continue. If instead this | |||
| causes early warning of pre-congestion on the new route, then | causes early warning of pre-congestion on the new route, then | |||
| admission control based on pre-congestion notification will ensure | admission control based on pre-congestion notification will ensure | |||
| new flows will not be admitted until enough existing flows have | new flows will not be admitted until enough existing flows have | |||
| departed. Re-routing may result in heavy (pre-)congestion, when the | departed. Re-routing may result in heavy (pre-)congestion, when the | |||
| flow termination mechanism will kick in. | flow termination mechanism will kick in. | |||
| If a PCN-boundary-node fails then we would like the regular QoS | If a PCN-boundary-node fails then we would like the regular QoS | |||
| signalling protocol to take care of things. As an example | signalling protocol to take care of things. As an example | |||
| [I-D.briscoe-tsvwg-cl-architecture] considers what happens if RSVP is | [I-D.briscoe-tsvwg-cl-architecture] considers what happens if RSVP is | |||
| the QoS signalling protocol. The details for a specific signalling | the QoS signalling protocol. | |||
| protocol are out of scope of the PCN WG, however there is a WG | ||||
| Milestone on generic "Requirements for signalling". | ||||
| 6. Design goals and challenges | 6. Design goals and challenges | |||
| Prior work on PCN and similar mechanisms has thrown up a number of | Prior work on PCN and similar mechanisms has thrown up a number of | |||
| considerations about PCN's design goals (things PCN should be good | considerations about PCN's design goals (things PCN should be good | |||
| at) and some issues that have been hard to solve in a fully | at) and some issues that have been hard to solve in a fully | |||
| satisfactory manner. Taken as a whole it represents a list of trade- | satisfactory manner. Taken as a whole it represents a list of trade- | |||
| offs (it's unlikely that they can all be 100% achieved) and perhaps | offs (it's unlikely that they can all be 100% achieved) and perhaps | |||
| as evaluation criteria to help an operator (or the IETF) decide | as evaluation criteria to help an operator (or the IETF) decide | |||
| between options. | between options. | |||
| skipping to change at page 24, line 21 | skipping to change at page 24, line 21 | |||
| travel along an uncongested path | travel along an uncongested path | |||
| 3. ineffective termination: flows are terminated, however their | 3. ineffective termination: flows are terminated, however their | |||
| path doesn't travel through the (pre-)congested router(s). | path doesn't travel through the (pre-)congested router(s). | |||
| Since flow termination is a 'last resort' that protects the | Since flow termination is a 'last resort' that protects the | |||
| network should over-admission occur, this problem is probably | network should over-admission occur, this problem is probably | |||
| more important to solve than the other two. | more important to solve than the other two. | |||
| o ECMP and signalling: It is possible that, in a PCN-domain running | o ECMP and signalling: It is possible that, in a PCN-domain running | |||
| ECMP, the signalling packets (eg RSVP, NSIS) follow a different | ECMP, the signalling packets (eg RSVP, NSIS) follow a different | |||
| path than the data packets - it depends on which fields the ECMP | path than the data packets, which could matter if the signalling | |||
| algorithm uses. This could matter if the signalling packets are | packets are used as probes. Whether this is an issue depends on | |||
| used as probes. | which fields the ECMP algorithm uses; if the ECMP algorithm is | |||
| restricted to the source and destination IP addresses, then it | ||||
| won't be. | ||||
| o Tunnelling: There are scenarios where tunnelling makes it hard to | o Tunnelling: There are scenarios where tunnelling makes it hard to | |||
| determine the path in the PCN-domain. The problem, its impact and | determine the path in the PCN-domain. The problem, its impact and | |||
| the potential solutions are similar to those for ECMP. | the potential solutions are similar to those for ECMP. | |||
| o Scenarios with only one tunnel endpoint in the PCN domain may make | o Scenarios with only one tunnel endpoint in the PCN domain may make | |||
| it harder for the PCN-egress-node to gather from the signalling | it harder for the PCN-egress-node to gather from the signalling | |||
| messages (eg RSVP, NSIS) the identity of the PCN-ingress-node. | messages (eg RSVP, NSIS) the identity of the PCN-ingress-node. | |||
| o Bi-Directional Sessions: Many applications have bi-directional | o Bi-Directional Sessions: Many applications have bi-directional | |||
| skipping to change at page 26, line 38 | skipping to change at page 26, line 41 | |||
| node. Another possibility is that a probe packet is a signalling | node. Another possibility is that a probe packet is a signalling | |||
| packet that is anyway travelling from the PCN-ingress-node to the | packet that is anyway travelling from the PCN-ingress-node to the | |||
| PCN-egress-node (eg an RSVP PATH message travelling from source to | PCN-egress-node (eg an RSVP PATH message travelling from source to | |||
| destination). | destination). | |||
| 7.2. Probing functions | 7.2. Probing functions | |||
| The probing functions are: | The probing functions are: | |||
| o Make decision that probing is needed. As described above, this is | o Make decision that probing is needed. As described above, this is | |||
| when the ingress-egress-aggregate or the ECMP path carries no PCN- | when the ingress-egress-aggregate (or the ECMP path - Section 6) | |||
| traffic. An alternative is always to probe, ie probe before | carries no PCN-traffic. An alternative is always to probe, ie | |||
| admitting every PCN-flow. | probe before admitting every PCN-flow. | |||
| o (if required) Communicate the request that probing is needed - the | o (if required) Communicate the request that probing is needed - the | |||
| PCN-egress-node signals to the PCN-ingress-node that probing is | PCN-egress-node signals to the PCN-ingress-node that probing is | |||
| needed | needed | |||
| o (if required) Generate probe traffic - the PCN-ingress-node | o (if required) Generate probe traffic - the PCN-ingress-node | |||
| generates the probe traffic. The appropriate number (or rate) of | generates the probe traffic. The appropriate number (or rate) of | |||
| probe packets will depend on the PCN-marking algorithm; for | probe packets will depend on the PCN-marking algorithm; for | |||
| example an excess-rate-marking algorithm generates fewer PCN-marks | example an excess-rate-marking algorithm generates fewer PCN-marks | |||
| than a threshold-marking algorithm, and so will need more probe | than a threshold-marking algorithm, and so will need more probe | |||
| skipping to change at page 29, line 34 | skipping to change at page 29, line 40 | |||
| be able to disambiguate a probe packet from a data packet, via the | be able to disambiguate a probe packet from a data packet, via the | |||
| characteristic setting of particular bit(s) in the packet's header | characteristic setting of particular bit(s) in the packet's header | |||
| or body - but these bit(s) mustn't be used by any PCN-interior- | or body - but these bit(s) mustn't be used by any PCN-interior- | |||
| node's ECMP algorithm. In the general case this isn't possible, | node's ECMP algorithm. In the general case this isn't possible, | |||
| but it should be OK for a typical ECMP algorithm which examines: | but it should be OK for a typical ECMP algorithm which examines: | |||
| the source and destination IP addresses and port numbers, the | the source and destination IP addresses and port numbers, the | |||
| protocol ID and the DSCP. | protocol ID and the DSCP. | |||
| The third viewpoint assumes the following: | The third viewpoint assumes the following: | |||
| o Simply admitting the new flow has a significant risk of leading to | ||||
| overload, because the PCN-domain reaches out towards the end | ||||
| terminals where link capacity is low. | ||||
| o Every admission control decision involves probing, using the | o Every admission control decision involves probing, using the | |||
| signalling set-up message as the probe packet (eg RSVP PATH). | signalling set-up message as the probe packet (eg RSVP PATH). | |||
| o The PCN-marking behaviour is such that every packet is PCN-marked | o The PCN-marking behaviour is such that every packet is PCN-marked | |||
| if the flow should be blocked, hence only a single probing packet | if the flow should be blocked, hence only a single probing packet | |||
| is needed. | is needed. | |||
| The first point breaks Assumption 3 (aggregation) and hence means | This viewpoint [I-D.draft-babiarz-pcn-3sm] has in particular been | |||
| that this viewpoint is out of scope of the initial Charter of the PCN | suggested for the scenario where the PCN-domain reaches out towards | |||
| WG. | the end terminals (note that it's assumed the trust and aggregation | |||
| assumptions still hold), although it has also been suggested for | ||||
| other scenarios. | ||||
| 8. Operations and Management | 8. Operations and Management | |||
| This Section considers operations and management issues, under the | This Section considers operations and management issues, under the | |||
| FCAPS headings: OAM of Faults, Configuration, Accounting, Performance | FCAPS headings: OAM of Faults, Configuration, Accounting, Performance | |||
| and Security. Provisioning is discussed with performance. | and Security. Provisioning is discussed with performance. | |||
| 8.1. Configuration OAM | 8.1. Configuration OAM | |||
| This architecture document predates the detailed standards actions of | This architecture document predates the detailed standards actions of | |||
| the PCN WG. Here we assume that only interoperable PCN-marking | the PCN WG. Here we assume that only interoperable PCN-marking | |||
| behaviours will be standardised, otherwise we would have to consider | behaviours will be standardised, otherwise we would have to consider | |||
| how to avoid interactions between non-interoperable marking | how to avoid interactions between non-interoperable marking | |||
| behaviours. However, more diversity in edge-node behaviours is | behaviours. However, more diversity in PCN-boundary-node behaviours | |||
| expected, in order to interface with diverse industry architectures. | is expected, in order to interface with diverse industry | |||
| architectures. It may be possible to have different PCN-boundary- | ||||
| node behaviours for different ingress-egress-aggregates within the | ||||
| same PCN-domain. | ||||
| PCN functionality is configured on either the egress or the ingress | ||||
| interfaces of PCN-nodes. A consistent choice must be made across the | ||||
| PCN-domain to ensure that the PCN mechanisms protect all links. | ||||
| PCN configuration control variables fall into the following | PCN configuration control variables fall into the following | |||
| categories: | categories: | |||
| o system options (enabling or disabling behaviours) | o system options (enabling or disabling behaviours) | |||
| o parameters (setting levels, addresses etc) | o parameters (setting levels, addresses etc) | |||
| All configurable variables will need to sit within an SNMP management | One possibility is that all configurable variables sit within an SNMP | |||
| framework [RFC3411], being structured within a defined management | management framework [RFC3411], being structured within a defined | |||
| information base (MIB) on each node, and being remotely readable and | management information base (MIB) on each node, and being remotely | |||
| settable via a suitably secure management protocol (SNMPv3). | readable and settable via a suitably secure management protocol | |||
| (SNMPv3). | ||||
| Some configuration options and parameters have to be set once to | Some configuration options and parameters have to be set once to | |||
| 'globally' control the whole PCN-domain. Where possible, these are | 'globally' control the whole PCN-domain. Where possible, these are | |||
| identified below. This may affect operational complexity and the | identified below. This may affect operational complexity and the | |||
| chances of interoperability problems between kit from different | chances of interoperability problems between kit from different | |||
| vendors. | vendors. | |||
| It may be possible for an operator to configure some PCN-interior- | ||||
| nodes so they don't run the PCN mechanisms, if it knows that these | ||||
| links will never become (pre-)congested. | ||||
| 8.1.1. System options | 8.1.1. System options | |||
| On PCN-interior-nodes there will be very few system options: | On PCN-interior-nodes there will be very few system options: | |||
| o Whether two PCN-markings (based on the PCN-lower-rate and PCN- | o Whether two PCN-markings (based on the PCN-lower-rate and PCN- | |||
| upper-rate) are enabled or only one (see Section 4.3). Typically | upper-rate) are enabled or only one (see Section 4.3). Typically | |||
| all nodes throughout a PCN-domain will be configured the same in | all nodes throughout a PCN-domain will be configured the same in | |||
| this respect. However, exceptions could be made. For example, if | this respect. However, exceptions could be made. For example, if | |||
| most PCN-nodes used both markings, but some legacy hardware was | most PCN-nodes used both markings, but some legacy hardware was | |||
| incapable of running two algorithms, an operator might be willing | incapable of running two algorithms, an operator might be willing | |||
| skipping to change at page 32, line 5 | skipping to change at page 32, line 20 | |||
| their network so that it can cope with a failure of any single PCN- | their network so that it can cope with a failure of any single PCN- | |||
| node without terminating any flows. | node without terminating any flows. | |||
| Setting these rates on first deployment of PCN will be very similar | Setting these rates on first deployment of PCN will be very similar | |||
| to the traditional process for sizing an admission controlled | to the traditional process for sizing an admission controlled | |||
| network, depending on: the operator's requirements for minimising | network, depending on: the operator's requirements for minimising | |||
| flow blocking (grade of service), the expected PCN traffic load on | flow blocking (grade of service), the expected PCN traffic load on | |||
| each link and its statistical characteristics (the traffic matrix), | each link and its statistical characteristics (the traffic matrix), | |||
| contingency for re-routing the PCN traffic matrix in the event of | contingency for re-routing the PCN traffic matrix in the event of | |||
| single or multiple failures and the expected load from other classes | single or multiple failures and the expected load from other classes | |||
| relative to link capacities. But once a domain is up and running, a | relative to link capacities [Menth]. But once a domain is up and | |||
| PCN design goal is to be able to determine growth in these configured | running, a PCN design goal is to be able to determine growth in these | |||
| rates much more simply, by monitoring PCN-marking rates from actual | configured rates much more simply, by monitoring PCN-marking rates | |||
| rather than expected traffic (see Section 8.2 on Performance & | from actual rather than expected traffic (see Section 8.2 on | |||
| Provisioning). | Performance & Provisioning). | |||
| Operators may also wish to configure a rate greater than the PCN- | Operators may also wish to configure a rate greater than the PCN- | |||
| upper-rate that is the absolute maximum rate that a link allows for | upper-rate that is the absolute maximum rate that a link allows for | |||
| PCN-traffic. This may simply be the physical link rate, but some | PCN-traffic. This may simply be the physical link rate, but some | |||
| operators may wish to configure a logical limit to prevent starvation | operators may wish to configure a logical limit to prevent starvation | |||
| of other traffic classes during any brief period after PCN-traffic | of other traffic classes during any brief period after PCN-traffic | |||
| exceeds the PCN-upper-rate but before flow termination brings it back | exceeds the PCN-upper-rate but before flow termination brings it back | |||
| below this rate. | below this rate. | |||
| Specific marking algorithms will also depend on further configuration | Specific marking algorithms will also depend on further configuration | |||
| skipping to change at page 34, line 37 | skipping to change at page 35, line 7 | |||
| Section 5.9 describes how the PCN architecture has been designed to | Section 5.9 describes how the PCN architecture has been designed to | |||
| ensure admitted flows continue gracefully after recovering | ensure admitted flows continue gracefully after recovering | |||
| automatically from link or node failures. The need to record and | automatically from link or node failures. The need to record and | |||
| monitor re-routing events affecting signalling is unchanged by the | monitor re-routing events affecting signalling is unchanged by the | |||
| addition of PCN to a DiffServ domain. Similarly, re-routing events | addition of PCN to a DiffServ domain. Similarly, re-routing events | |||
| within the PCN-domain will be recorded and monitored just as they | within the PCN-domain will be recorded and monitored just as they | |||
| would be without PCN. | would be without PCN. | |||
| PCN-marking does make it possible to record 'near-misses'. For | PCN-marking does make it possible to record 'near-misses'. For | |||
| instance, at the PCN-egress-node a 'reporting threshold' could be set | instance, at the PCN-egress-node a 'reporting threshold' could be set | |||
| to monitor how often the system comes close to triggering flow | to monitor how often - and for how long - the system comes close to | |||
| blocking without actually doing so. Similarly, bursts of flow | triggering flow blocking without actually doing so. Similarly, | |||
| termination marking could be recorded even if they are not | bursts of flow termination marking could be recorded even if they are | |||
| sufficiently sustained to trigger flow termination. Such statistics | not sufficiently sustained to trigger flow termination. Such | |||
| could be correlated with per-queue counts of marking volume (Section | statistics could be correlated with per-queue counts of marking | |||
| 8.2) to upgrade resources in danger of causing service degradation, | volume (Section 8.2) to upgrade resources in danger of causing | |||
| or to trigger manual tracing of intermittent incipient errors that | service degradation, or to trigger manual tracing of intermittent | |||
| would otherwise have gone unnoticed. | incipient errors that would otherwise have gone unnoticed. | |||
| Finally, of course, many faults are caused by failings in the | Finally, of course, many faults are caused by failings in the | |||
| management process ('human error'): a wrongly configured address in a | management process ('human error'): a wrongly configured address in a | |||
| node, a wrong address given in a signalling protocol, a wrongly | node, a wrong address given in a signalling protocol, a wrongly | |||
| configured parameter in a queueing algorithm, a node set into a | configured parameter in a queueing algorithm, a node set into a | |||
| different mode from other nodes, and so on. Generally, a clean | different mode from other nodes, and so on. Generally, a clean | |||
| design with few configurable options ensures this class of faults can | design with few configurable options ensures this class of faults can | |||
| be traced more easily and prevented more often. Sound management | be traced more easily and prevented more often. Sound management | |||
| practice at run-time also helps. For instance: a management system | practice at run-time also helps. For instance: a management system | |||
| should be used that constrains configuration changes within system | should be used that constrains configuration changes within system | |||
| skipping to change at page 36, line 24 | skipping to change at page 36, line 42 | |||
| functionality between PCN-interior-nodes and PCN-boundary-nodes, and | functionality between PCN-interior-nodes and PCN-boundary-nodes, and | |||
| the security considerations are somewhat different for each, mainly | the security considerations are somewhat different for each, mainly | |||
| because PCN-boundary-nodes are flow-aware and PCN-interior-nodes are | because PCN-boundary-nodes are flow-aware and PCN-interior-nodes are | |||
| not. | not. | |||
| o because the PCN-boundary-nodes are flow-aware, they are trusted to | o because the PCN-boundary-nodes are flow-aware, they are trusted to | |||
| use that awareness correctly. The degree of trust required | use that awareness correctly. The degree of trust required | |||
| depends on the kinds of decisions they have to make and the kinds | depends on the kinds of decisions they have to make and the kinds | |||
| of information they need to make them. For example when the PCN- | of information they need to make them. For example when the PCN- | |||
| boundary-node needs to know the contents of the sessions for | boundary-node needs to know the contents of the sessions for | |||
| making the admission and termination decisions (perhaps based on | making the admission and termination decisions, or when the | |||
| the MLPP precedence), or when the contents are highly classified, | contents are highly classified, then the security requirements for | |||
| then the security requirements for the PCN-boundary-nodes involved | the PCN-boundary-nodes involved will also need to be high. | |||
| will also need to be high. | ||||
| o the PCN-ingress-nodes police packets to ensure a flow sticks | o the PCN-ingress-nodes police packets to ensure a PCN-flow sticks | |||
| within its agreed limit, and to ensure that only flows which have | within its agreed limit, and to ensure that only PCN-flows which | |||
| been admitted contribute PCN-traffic into the PCN-domain. The | have been admitted contribute PCN-traffic into the PCN-domain. | |||
| policer must drop (or perhaps re-mark to a different DSCP) any | The policer must drop (or perhaps re-mark to a different DSCP) any | |||
| PCN-packets received that are outside this remit. This is similar | PCN-packets received that are outside this remit. This is similar | |||
| to the existing IntServ behaviour. Between them the PCN-boundary- | to the existing IntServ behaviour. Between them the PCN-boundary- | |||
| nodes must encircle the PCN-domain, otherwise PCN-packets could | nodes must encircle the PCN-domain, otherwise PCN-packets could | |||
| enter the PCN-domain without being subject to admission control, | enter the PCN-domain without being subject to admission control, | |||
| which would potentially destroy the QoS of existing flows. | which would potentially destroy the QoS of existing flows. | |||
| o PCN-interior-nodes aren't flow-aware. This prevents some security | o PCN-interior-nodes aren't flow-aware. This prevents some security | |||
| attacks where an attacker targets specific flows in the data plane | attacks where an attacker targets specific flows in the data plane | |||
| - for instance for DoS or eavesdropping. | - for instance for DoS or eavesdropping. | |||
| skipping to change at page 37, line 26 | skipping to change at page 37, line 44 | |||
| [I-D.behringer-tsvwg-rsvp-security-groupkeying] may also be | [I-D.behringer-tsvwg-rsvp-security-groupkeying] may also be | |||
| useful; for a generic signalling protocol the PCN WG document on | useful; for a generic signalling protocol the PCN WG document on | |||
| "Requirements for signalling" will describe the requirements in | "Requirements for signalling" will describe the requirements in | |||
| more detail. | more detail. | |||
| Operational security advice is given in Section 8.5. | Operational security advice is given in Section 8.5. | |||
| 11. Conclusions | 11. Conclusions | |||
| The document describes a general architecture for flow admission and | The document describes a general architecture for flow admission and | |||
| termination based on aggregated pre-congestion information in order | termination based on pre-congestion information in order to protect | |||
| to protect the quality of service of established inelastic flows | the quality of service of established inelastic flows within a single | |||
| within a single DiffServ domain. The main topic is the functional | DiffServ domain. The main topic is the functional architecture | |||
| architecture (first covered at a high level and then at a greater | (first covered at a high level and then at a greater level of | |||
| level of detail). It also mentions other topics like the assumptions | detail). It also mentions other topics like the assumptions and open | |||
| and open issues. | issues. | |||
| 12. Acknowledgements | 12. Acknowledgements | |||
| This document is a revised version of [I-D.eardley-pcn-architecture]. | This document is a revised version of [I-D.eardley-pcn-architecture]. | |||
| Its authors were: P. Eardley, J. Babiarz, K. Chan, A. Charny, R. | Its authors were: P. Eardley, J. Babiarz, K. Chan, A. Charny, R. | |||
| Geib, G. Karagiannis, M. Menth, T. Tsou. They are therefore | Geib, G. Karagiannis, M. Menth, T. Tsou. They are therefore | |||
| contributors to this document. | contributors to this document. | |||
| Thanks to those who've made comments on | Thanks to those who've made comments on | |||
| [I-D.eardley-pcn-architecture] and on earlier versions of this draft: | [I-D.eardley-pcn-architecture] and on earlier versions of this draft: | |||
| Lachlan Andrew, Joe Babiarz, Fred Baker, David Black, Steven Blake, | Lachlan Andrew, Joe Babiarz, Fred Baker, David Black, Steven Blake, | |||
| Bob Briscoe, Ken Carlberg, Anna Charny, Joachim Charzinski, Andras | Bob Briscoe, Ken Carlberg, Anna Charny, Joachim Charzinski, Andras | |||
| Csaszar, Lars Eggert, Ruediger Geib, Robert Hancock, Georgios | Csaszar, Lars Eggert, Ruediger Geib, Robert Hancock, Ingemar | |||
| Karagiannis, Michael Menth, Tom Taylor, Tina Tsou, Delei Yu. Thanks | Johansson, Georgios Karagiannis, Michael Menth, Tom Taylor, Hannes | |||
| to Bob Briscoe who extensively revised the Operations and Management | Tschofenig, Tina Tsou, Magnus Westerlund, Delei Yu. Thanks to Bob | |||
| Briscoe who extensively revised the Operations and Management | ||||
| section. | section. | |||
| This document is the result of discussions in the PCN WG and | This document is the result of discussions in the PCN WG and | |||
| forerunner activity in the TSVWG. A number of previous drafts were | forerunner activity in the TSVWG. A number of previous drafts were | |||
| presented to TSVWG: [I-D.chan-pcn-problem-statement], | presented to TSVWG: [I-D.chan-pcn-problem-statement], | |||
| [I-D.briscoe-tsvwg-cl-architecture], [I-D.briscoe-tsvwg-cl-phb], | [I-D.briscoe-tsvwg-cl-architecture], [I-D.briscoe-tsvwg-cl-phb], | |||
| [I-D.charny-pcn-single-marking], [I-D.babiarz-pcn-sip-cap], | [I-D.charny-pcn-single-marking], [I-D.babiarz-pcn-sip-cap], | |||
| [I-D.lefaucheur-rsvp-ecn], [I-D.westberg-pcn-load-control]. The | [I-D.lefaucheur-rsvp-ecn], [I-D.westberg-pcn-load-control]. The | |||
| authors of them were: B, Briscoe, P. Eardley, D. Songhurst, F. Le | authors of them were: B, Briscoe, P. Eardley, D. Songhurst, F. Le | |||
| Faucheur, A. Charny, J. Babiarz, K. Chan, S. Dudley, G. Karagiannis, | Faucheur, A. Charny, J. Babiarz, K. Chan, S. Dudley, G. Karagiannis, | |||
| A. Bader, L. Westberg, J. Zhang, V. Liatsos, X-G. Liu, A. Bhargava. | A. Bader, L. Westberg, J. Zhang, V. Liatsos, X-G. Liu, A. Bhargava. | |||
| 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 PCN working group mailing list <pcn@ietf.org>. | addressed to the IETF PCN working group mailing list <pcn@ietf.org>. | |||
| 14. Changes | 14. Changes | |||
| Changes from -01 to -02: | 14.1. Changes from -02 to -03 | |||
| o Abstract: Clarified by removing the term 'aggregated'. Follow-up | ||||
| clarifications later in draft: S1: expanded PCN-egress-nodes | ||||
| bullet to mention case where the PCN-feedback-information is about | ||||
| one (or a few) PCN-marks, rather than aggregated information; S3 | ||||
| clarified PCN-meter; S5 minor changes; conclusion. | ||||
| o S1: added a paragraph about how the PCN-domain looks to the | ||||
| outside world (essentially it looks like a DiffServ domain). | ||||
| o S2: tweaked the PCN-traffic terminology bullet: changed PCN | ||||
| traffic classes to PCN behaviour aggregates, to be more in line | ||||
| with traditional DiffServ jargon (-> follow-up changes later in | ||||
| draft); included a definition of PCN-flows (and corrected a couple | ||||
| of 'PCN microflows' to 'PCN-flows' later in draft) | ||||
| o S3.5: added possibility of downgrading to best effort, where PCN- | ||||
| packets arrive at PCN-ingress-node already ECN marked (CE or ECN | ||||
| nonce) | ||||
| o S4: added note about whether talk about PCN operating on an | ||||
| interface or on a link. In S8.1 (OAM) mentioned that PCN | ||||
| functionality needs to be configured consistently on either the | ||||
| ingress or the egress interface of PCN-nodes in a PCN-domain. | ||||
| o S5.2: clarified that signalling protocol installs flow filter spec | ||||
| at PCN-ingress-node (& updates after possible re-route) | ||||
| o S5.6: addressing: clarified | ||||
| o S5.7: added tunnelling issue of N^2 scaling if you set up a mesh | ||||
| of tunnels between PCN-boundary-nodes | ||||
| o S7.3: Clarified the "third viewpoint" of probing (always probe). | ||||
| o S8.1: clarified that SNMP is only an example; added note that an | ||||
| operator may be able to not run PCN on some PCN-interior-nodes, if | ||||
| it knows that these links will never become (pre-)congested; added | ||||
| note that it may be possible to have different PCN-boundary-node | ||||
| behaviours for different ingress-egress-aggregates within the same | ||||
| PCN-domain. | ||||
| o Appendix: Created an Appendix about "Possible work items beyond | ||||
| the scope of the current PCN WG Charter". Material moved from | ||||
| near start of S3 and elsewhere throughout draft. Moved text about | ||||
| centralised decision node to Appendix. | ||||
| o Other minor clarifications. | ||||
| 14.2. Changes from -01 to -02 | ||||
| o S1: Benefits: provisioning bullet extended to stress that PCN does | o S1: Benefits: provisioning bullet extended to stress that PCN does | |||
| not use RFC2475-style traffic conditioning. | not use RFC2475-style traffic conditioning. | |||
| o S1: Deployment models: mentioned, as variant of PCN-domain | o S1: Deployment models: mentioned, as variant of PCN-domain | |||
| extending to end nodes, that may extend to LAN edge switch. | extending to end nodes, that may extend to LAN edge switch. | |||
| o S3.1: Trust Assumption: added note about not needing PCN-marking | o S3.1: Trust Assumption: added note about not needing PCN-marking | |||
| capability if known that an interface cannot become pre-congested. | capability if known that an interface cannot become pre-congested. | |||
| skipping to change at page 39, line 9 | skipping to change at page 40, line 31 | |||
| o S5.8: Tunnelling: added case of "partially PCN-capable tunnel" and | o S5.8: Tunnelling: added case of "partially PCN-capable tunnel" and | |||
| degraded bullet on this in S6 (Open Issues) | degraded bullet on this in S6 (Open Issues) | |||
| o S7: Probing: new section. Much more comprehensive than old S5.5. | o S7: Probing: new section. Much more comprehensive than old S5.5. | |||
| o S8: Operations and Management: substantially revised. | o S8: Operations and Management: substantially revised. | |||
| o other minor changes not affecting semantics | o other minor changes not affecting semantics | |||
| Changes from -00 to -01: | 14.3. Changes from -00 to -01 | |||
| In addition to clarifications and nit squashing, the main changes | In addition to clarifications and nit squashing, the main changes | |||
| are: | are: | |||
| o S1: Benefits: added one about provisioning (and contrast with | o S1: Benefits: added one about provisioning (and contrast with | |||
| DiffServ SLAs) | DiffServ SLAs) | |||
| o S1: Benefits: clarified that the objective is also to stop PCN- | o S1: Benefits: clarified that the objective is also to stop PCN- | |||
| packets being significantly delayed (previously only mentioned not | packets being significantly delayed (previously only mentioned not | |||
| dropping packets) | dropping packets) | |||
| skipping to change at page 40, line 28 | skipping to change at page 42, line 4 | |||
| of scope for this document" and edited a couple of sentences that | of scope for this document" and edited a couple of sentences that | |||
| were close to solution space. | were close to solution space. | |||
| o S6: Open issues: added one about scenarios with only one tunnel | o S6: Open issues: added one about scenarios with only one tunnel | |||
| endpoint in the PCN domain . | endpoint in the PCN domain . | |||
| o S6: Open issues: ECMP: added under-admission as another potential | o S6: Open issues: ECMP: added under-admission as another potential | |||
| risk | risk | |||
| o S6: Open issues: added one about "Silent at start" | o S6: Open issues: added one about "Silent at start" | |||
| o S10: Conclusions: a small conclusions section added | ||||
| o S10: Conclusions: a small conclusions section added. | 15. Appendix A: Possible work items beyond the scope of the current PCN | |||
| WG Charter | ||||
| 15. Informative References | This section mentions some topics that are outside the PCN WG's | |||
| current Charter, but which have been mentioned as areas of interest. | ||||
| They might be work items for: the PCN WG after a future re- | ||||
| chartering; some other IETF WG; another standards body; an operator- | ||||
| specific usage that's not standardised. | ||||
| NOTE: it should be crystal clear that this section discusses | ||||
| possibilities only. | ||||
| The first set of possibilities relate to the restrictions on scope | ||||
| imposed by the PCN WG Charter (see Section 3): | ||||
| o a single PCN-domain encompasses several autonomous systems that | ||||
| don't trust each other (perhaps by using a mechanism like re-ECN, | ||||
| [I-D.briscoe-re-pcn-border-cheat]. | ||||
| o not all the nodes run PCN. For example, the PCN-domain is a | ||||
| multi-site enterprise network. The sites are connected by a VPN | ||||
| tunnel; although PCN doesn't operate inside the tunnel, the PCN | ||||
| mechanisms still work properly because the of the good QoS on the | ||||
| virtual link (the tunnel). Another example is that PCN is | ||||
| deployed on the general Internet (ie widely but not universally | ||||
| deployed). | ||||
| o applying the PCN mechanisms to other types of traffic, ie beyond | ||||
| inelastic traffic. For instance, applying the PCN mechanisms to | ||||
| traffic scheduled with the Assured Forwarding per-hop behaviour. | ||||
| One example could be flow-rate adaptation by elastic applications, | ||||
| that adapts according to the pre-congestion information. | ||||
| o the aggregation assumption doesn't hold, because the link capacity | ||||
| is too low. Measurement-based admission control is then risky. | ||||
| o the applicability of PCN mechanisms for emergency use (911, GETS, | ||||
| WPS, MLPP, etc.) | ||||
| Other possibilities include: | ||||
| o indicating pre-congestion through signalling messages rather than | ||||
| in-band (in the form of PCN-marked packets) | ||||
| o the decision-making functionality is at a centralised node rather | ||||
| than at the PCN-boundary-nodes. This requires that the PCN- | ||||
| egress-node signals PCN-feedback-information to the centralised | ||||
| node, and that the centralised node signals to the PCN-ingress- | ||||
| node about the decision about admission (or termination). It may | ||||
| also need the centralised node and the PCN-boundary-nodes to know | ||||
| each others addresses. It would be possible for the centralised | ||||
| node to be one of the PCN-boundary-nodes, when clearly the | ||||
| signalling would sometimes be replaced by a message internal to | ||||
| the node. | ||||
| o It would be possible for the centralised node to be one of the | ||||
| PCN-boundary-nodes, when clearly the signalling would sometimes be | ||||
| replaced by a message internal to the node. | ||||
| o signalling extensions for specific protocols (eg RSVP, NSIS). For | ||||
| example: the details of how the signalling protocol installs the | ||||
| flowspec at the PCN-ingress-node for an admitted PCN-flow; and how | ||||
| the signalling protocol carries the PCN-feedback-information. | ||||
| Perhaps also for other functions such as: coping with failure of a | ||||
| PCN-boundary-node ([I-D.briscoe-tsvwg-cl-architecture] considers | ||||
| what happens if RSVP is the QoS signalling protocol); establishing | ||||
| a tunnel across the PCN-domain if it is necessary to carry ECN | ||||
| marks transparently. Note: There is a PCN WG Milestone on | ||||
| "Requirements for signalling", which is potential input for the | ||||
| appropriate WGs. | ||||
| o policing by the PCN-ingress-node may not be needed if the PCN- | ||||
| domain can trust that the upstream network has already policed the | ||||
| traffic on its behalf. | ||||
| o PCN for Pseudowire: PCN may be used as a congestion avoidance | ||||
| mechanism for edge to edge pseudowire emulations | ||||
| [I-D.ietf-pwe3-congestion-frmwk]. | ||||
| o PCN for MPLS: [RFC3270] defines how to support the DiffServ | ||||
| architecture in MPLS networks. [RFC5129] describes how to add PCN | ||||
| for admission control of microflows into a set of MPLS aggregates | ||||
| (Multi-protocol label switching). PCN-marking is done in MPLS's | ||||
| EXP field. | ||||
| o PCN for Ethernet: Similarly, it may be possible to extend PCN into | ||||
| Ethernet networks, where PCN-marking is done in the Ethernet | ||||
| header. | ||||
| . | ||||
| 16. Informative References | ||||
| [I-D.briscoe-tsvwg-cl-architecture] | [I-D.briscoe-tsvwg-cl-architecture] | |||
| Briscoe, B., "An edge-to-edge Deployment Model for Pre- | Briscoe, B., "An edge-to-edge Deployment Model for Pre- | |||
| Congestion Notification: Admission Control over a | Congestion Notification: Admission Control over a | |||
| DiffServ Region", draft-briscoe-tsvwg-cl-architecture-04 | DiffServ Region", draft-briscoe-tsvwg-cl-architecture-04 | |||
| (work in progress), October 2006. | (work in progress), October 2006. | |||
| [I-D.briscoe-tsvwg-cl-phb] | [I-D.briscoe-tsvwg-cl-phb] | |||
| Briscoe, B., "Pre-Congestion Notification marking", | Briscoe, B., "Pre-Congestion Notification marking", | |||
| draft-briscoe-tsvwg-cl-phb-03 (work in progress), | draft-briscoe-tsvwg-cl-phb-03 (work in progress), | |||
| skipping to change at page 41, line 27 | skipping to change at page 44, line 49 | |||
| [I-D.ietf-tsvwg-admitted-realtime-dscp] | [I-D.ietf-tsvwg-admitted-realtime-dscp] | |||
| "DSCPs for Capacity-Admitted Traffic", November 2006, <htt | "DSCPs for Capacity-Admitted Traffic", November 2006, <htt | |||
| p://www.ietf.org/internet-drafts/ | p://www.ietf.org/internet-drafts/ | |||
| ietf-tsvwg-admitted-realtime-dscp-02.txt>. | ietf-tsvwg-admitted-realtime-dscp-02.txt>. | |||
| [I-D.briscoe-tsvwg-ecn-tunnel] | [I-D.briscoe-tsvwg-ecn-tunnel] | |||
| "Layered Encapsulation of Congestion Notification", | "Layered Encapsulation of Congestion Notification", | |||
| June 2007, <http://www.ietf.org/internet-drafts/ | June 2007, <http://www.ietf.org/internet-drafts/ | |||
| briscoe-tsvwg-ecn-tunnel-00.txt>. | briscoe-tsvwg-ecn-tunnel-00.txt>. | |||
| [I-D.ietf-tsvwg-ecn-mpls] | ||||
| "Explicit Congestion Marking in MPLS", October 2007, <http | ||||
| ://www.ietf.org/internet-drafts/ | ||||
| draft-ietf-tsvwg-ecn-mpls-02.txt>. | ||||
| [I-D.charny-pcn-single-marking] | [I-D.charny-pcn-single-marking] | |||
| "Pre-Congestion Notification Using Single Marking for | "Pre-Congestion Notification Using Single Marking for | |||
| Admission and Termination", November 2007, <http:// | Admission and Termination", November 2007, <http:// | |||
| www.ietf.org/internet-drafts/ | www.ietf.org/internet-drafts/ | |||
| draft-charny-pcn-single-marking-03.txt>. | draft-charny-pcn-single-marking-03.txt>. | |||
| [I-D.eardley-pcn-architecture] | [I-D.eardley-pcn-architecture] | |||
| "Pre-Congestion Notification Architecture", June 2007, <ht | "Pre-Congestion Notification Architecture", June 2007, <ht | |||
| tp://www.ietf.org/internet-drafts/ | tp://www.ietf.org/internet-drafts/ | |||
| draft-eardley-pcn-architecture-00.txt>. | draft-eardley-pcn-architecture-00.txt>. | |||
| [I-D.westberg-pcn-load-control] | [I-D.westberg-pcn-load-control] | |||
| "LC-PCN: The Load Control PCN Solution", November 2007, <h | "LC-PCN: The Load Control PCN Solution", November 2007, <h | |||
| ttp://www.ietf.org/internet-drafts/ | ttp://www.ietf.org/internet-drafts/ | |||
| draft-westberg-pcn-load-control-02.txt>. | draft-westberg-pcn-load-control-02.txt>. | |||
| [I-D.behringer-tsvwg-rsvp-security-groupkeying] | [I-D.behringer-tsvwg-rsvp-security-groupkeying] | |||
| "A Framework for RSVP Security Using Dynamic Group | "Applicability of Keying Methods for RSVP Security", | |||
| Keying", June 2007, <http://www.watersprings.org/pub/id/ | November 2007, <http://www.watersprings.org/pub/id/ | |||
| draft-behringer-tsvwg-rsvp-security-groupkeying-00.txt>. | draft-behringer-tsvwg-rsvp-security-groupkeying-01.txt>. | |||
| [I-D.briscoe-re-pcn-border-cheat] | [I-D.briscoe-re-pcn-border-cheat] | |||
| "Emulating Border Flow Policing using Re-ECN on Bulk | "Emulating Border Flow Policing using Re-ECN on Bulk | |||
| Data", June 2006, <http://www.watersprings.org/pub/id/ | Data", June 2006, <http://www.watersprings.org/pub/id/ | |||
| briscoe-re-pcn-border-cheat-01.txt>. | briscoe-re-pcn-border-cheat-01.txt>. | |||
| [I-D.draft-babiarz-pcn-3sm] | ||||
| "Three State PCN Marking", November 2007, <http:// | ||||
| www.watersprings.org/pub/id/draft-babiarz-pcn-3sm-01.txt>. | ||||
| [RFC5129] "Explicit Congestion Marking in MPLS", RFC 5129, | ||||
| January 2008. | ||||
| [RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)", | [RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)", | |||
| RFC 4303, December 2005. | RFC 4303, December 2005. | |||
| [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., | [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., | |||
| and W. Weiss, "An Architecture for Differentiated | and W. Weiss, "An Architecture for Differentiated | |||
| Services", RFC 2475, December 1998. | Services", RFC 2475, December 1998. | |||
| [RFC3246] Davie, B., Charny, A., Bennet, J., Benson, K., Le Boudec, | [RFC3246] Davie, B., Charny, A., Bennet, J., Benson, K., Le Boudec, | |||
| J., Courtney, W., Davari, S., Firoiu, V., and D. | J., Courtney, W., Davari, S., Firoiu, V., and D. | |||
| Stiliadis, "An Expedited Forwarding PHB (Per-Hop | Stiliadis, "An Expedited Forwarding PHB (Per-Hop | |||
| skipping to change at page 42, line 47 | skipping to change at page 46, line 22 | |||
| [RFC3270] Le Faucheur, F., Wu, L., Davie, B., Davari, S., Vaananen, | [RFC3270] Le Faucheur, F., Wu, L., Davie, B., Davari, S., Vaananen, | |||
| P., Krishnan, R., Cheval, P., and J. Heinanen, "Multi- | P., Krishnan, R., Cheval, P., and J. Heinanen, "Multi- | |||
| Protocol Label Switching (MPLS) Support of Differentiated | Protocol Label Switching (MPLS) Support of Differentiated | |||
| Services", RFC 3270, May 2002. | Services", RFC 3270, May 2002. | |||
| [RFC1633] Braden, B., Clark, D., and S. Shenker, "Integrated | [RFC1633] Braden, B., Clark, D., and S. Shenker, "Integrated | |||
| Services in the Internet Architecture: an Overview", | Services in the Internet Architecture: an Overview", | |||
| RFC 1633, June 1994. | RFC 1633, June 1994. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | ||||
| Requirement Levels", BCP 14, RFC 2119, March 1997. | ||||
| [RFC2983] Black, D., "Differentiated Services and Tunnels", | [RFC2983] Black, D., "Differentiated Services and Tunnels", | |||
| RFC 2983, October 2000. | RFC 2983, October 2000. | |||
| [RFC2747] Baker, F., Lindell, B., and M. Talwar, "RSVP Cryptographic | [RFC2747] Baker, F., Lindell, B., and M. Talwar, "RSVP Cryptographic | |||
| Authentication", RFC 2747, January 2000. | Authentication", RFC 2747, January 2000. | |||
| [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An | [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An | |||
| Architecture for Describing Simple Network Management | Architecture for Describing Simple Network Management | |||
| Protocol (SNMP) Management Frameworks", STD 62, RFC 3411, | Protocol (SNMP) Management Frameworks", STD 62, RFC 3411, | |||
| December 2002. | December 2002. | |||
| skipping to change at page 43, line 49 | skipping to change at page 47, line 21 | |||
| [P.800] "Methods for subjective determination of transmission | [P.800] "Methods for subjective determination of transmission | |||
| quality", ITU-T Recommendation P.800, August 1996. | quality", ITU-T Recommendation P.800, August 1996. | |||
| [Songhurst] | [Songhurst] | |||
| "Guaranteed QoS Synthesis for Admission Control with | "Guaranteed QoS Synthesis for Admission Control with | |||
| Shared Capacity", BT Technical Report TR-CXR9-2006-001, | Shared Capacity", BT Technical Report TR-CXR9-2006-001, | |||
| Feburary 2006, <http://www.cs.ucl.ac.uk/staff/B.Briscoe/ | Feburary 2006, <http://www.cs.ucl.ac.uk/staff/B.Briscoe/ | |||
| projects/ipe2eqos/gqs/papers/GQS_shared_tr.pdf>. | projects/ipe2eqos/gqs/papers/GQS_shared_tr.pdf>. | |||
| [Menth] "PCN-Based Resilient Network Admission Control: The Impact | ||||
| of a Single Bit"", Technical Report , 2007, <http:// | ||||
| www3.informatik.uni-wuerzburg.de/staff/menth/Publications/ | ||||
| Menth07-PCN-Config.pdf>. | ||||
| [PCN-email-ECMP] | [PCN-email-ECMP] | |||
| "Email to PCN WG mailing list", November 2007, <http:// | "Email to PCN WG mailing list", November 2007, <http:// | |||
| www1.ietf.org/mail-archive/web/pcn/current/msg00871.html>. | www1.ietf.org/mail-archive/web/pcn/current/msg00871.html>. | |||
| [PCN-email-traffic-empty-aggregates] | [PCN-email-traffic-empty-aggregates] | |||
| "Email to PCN WG mailing list", October 2007, <http:// | "Email to PCN WG mailing list", October 2007, <http:// | |||
| www1.ietf.org/mail-archive/web/pcn/current/msg00831.html>. | www1.ietf.org/mail-archive/web/pcn/current/msg00831.html>. | |||
| Author's Address | Author's Address | |||
| Philip Eardley | Philip Eardley | |||
| BT | BT | |||
| B54/77, Sirius House Adastral Park Martlesham Heath | B54/77, Sirius House Adastral Park Martlesham Heath | |||
| Ipswich, Suffolk IP5 3RE | Ipswich, Suffolk IP5 3RE | |||
| United Kingdom | United Kingdom | |||
| Email: philip.eardley@bt.com | Email: philip.eardley@bt.com | |||
| Full Copyright Statement | Full Copyright Statement | |||
| Copyright (C) The IETF Trust (2007). | Copyright (C) The IETF Trust (2008). | |||
| This document is subject to the rights, licenses and restrictions | This document is subject to the rights, licenses and restrictions | |||
| contained in BCP 78, and except as set forth therein, the authors | contained in BCP 78, and except as set forth therein, the authors | |||
| retain all their rights. | retain all their rights. | |||
| This document and the information contained herein are provided on an | This document and the information contained herein are provided on an | |||
| "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | |||
| OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND | OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND | |||
| THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS | THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS | |||
| OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF | OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF | |||
| End of changes. 103 change blocks. | ||||
| 313 lines changed or deleted | 479 lines changed or added | |||
This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||