| draft-eardley-pcn-marking-behaviour-00.txt | draft-eardley-pcn-marking-behaviour-01.txt | |||
|---|---|---|---|---|
| PCN Working Group (Editor) | PCN Working Group P. Eardley (Editor) | |||
| Internet-Draft BT | Internet-Draft BT | |||
| Intended status: Standards Track April 29, 2008 | Intended status: Standards Track June 25, 2008 | |||
| Expires: October 31, 2008 | Expires: December 27, 2008 | |||
| Marking behaviour of PCN-nodes | Marking behaviour of PCN-nodes | |||
| draft-eardley-pcn-marking-behaviour-00 | draft-eardley-pcn-marking-behaviour-01 | |||
| 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 34 | skipping to change at page 1, line 34 | |||
| 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 October 31, 2008. | This Internet-Draft will expire on December 27, 2008. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (C) The IETF Trust (2008). | Copyright (C) The IETF Trust (2008). | |||
| Abstract | Abstract | |||
| This document standardises the two marking behaviours of PCN-nodes: | This document standardises the two marking behaviours of PCN-nodes: | |||
| threshold marking and excess traffic marking. Threshold marking | threshold marking and excess traffic marking. Threshold marking | |||
| marks all PCN-packets if the PCN traffic rate is greater than a first | marks all PCN-packets if the PCN traffic rate is greater than a first | |||
| skipping to change at page 2, line 14 | skipping to change at page 2, line 14 | |||
| Requirements Language | Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in RFC 2119 [RFC2119]. | document are to be interpreted as described in RFC 2119 [RFC2119]. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Specified PCN-marking behaviour . . . . . . . . . . . . . . . 4 | 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 2.1. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2. Specified PCN-marking behaviour . . . . . . . . . . . . . . . 6 | |||
| 2.2. Classify and condition function . . . . . . . . . . . . . 5 | 2.1. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 2.3. Threshold meter function . . . . . . . . . . . . . . . . . 6 | 2.2. Classify function . . . . . . . . . . . . . . . . . . . . 7 | |||
| 2.4. Excess traffic meter function . . . . . . . . . . . . . . 6 | 2.3. Traffic conditioning function . . . . . . . . . . . . . . 7 | |||
| 2.5. Marking function . . . . . . . . . . . . . . . . . . . . . 7 | 2.4. Threshold meter function . . . . . . . . . . . . . . . . . 8 | |||
| 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | 2.5. Excess traffic meter function . . . . . . . . . . . . . . 8 | |||
| 4. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 2.6. Marking function . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8 | 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 6. Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 10 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . . 8 | 6. Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . . 8 | 6.1. Changes from -00 to -01 . . . . . . . . . . . . . . . . . 11 | |||
| Appendix A. Example algorithms . . . . . . . . . . . . . . . . . 9 | 7. Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| A.1. Threshold metering and marking . . . . . . . . . . . . . . 9 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| A.2. Excess traffic metering and marking . . . . . . . . . . . 10 | 8.1. Normative References . . . . . . . . . . . . . . . . . . . 11 | |||
| Appendix B. Implementation notes . . . . . . . . . . . . . . . . 11 | 8.2. Informative References . . . . . . . . . . . . . . . . . . 12 | |||
| B.1. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | Appendix A. Example algorithms . . . . . . . . . . . . . . . . . 12 | |||
| B.2. Classify and condition . . . . . . . . . . . . . . . . . . 11 | A.1. Threshold metering and marking . . . . . . . . . . . . . . 13 | |||
| B.3. Threshold metering . . . . . . . . . . . . . . . . . . . . 12 | A.2. Excess traffic metering and marking . . . . . . . . . . . 13 | |||
| B.4. Excess traffic metering . . . . . . . . . . . . . . . . . 13 | Appendix B. Implementation notes . . . . . . . . . . . . . . . . 14 | |||
| B.5. Marking . . . . . . . . . . . . . . . . . . . . . . . . . 14 | B.1. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 14 | B.2. Classify . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| Intellectual Property and Copyright Statements . . . . . . . . . . 15 | B.3. Traffic conditioning . . . . . . . . . . . . . . . . . . . 15 | |||
| B.4. Threshold metering . . . . . . . . . . . . . . . . . . . . 16 | ||||
| B.5. Excess traffic metering . . . . . . . . . . . . . . . . . 17 | ||||
| B.6. Marking . . . . . . . . . . . . . . . . . . . . . . . . . 18 | ||||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 19 | ||||
| Intellectual Property and Copyright Statements . . . . . . . . . . 20 | ||||
| 1. Introduction | 1. Introduction | |||
| [draft-pcn-architecture] describes a general architecture for flow | [I-D.ietf-pcn-architecture] describes a general architecture for flow | |||
| admission and termination based on pre-congestion information in | admission and termination based on pre-congestion information in | |||
| order to protect the quality of service of established inelastic | order to protect the quality of service of established inelastic | |||
| flows within a single DiffServ domain. The pre-congestion | flows within a single DiffServ domain. The pre-congestion | |||
| information consists of specific markings of PCN-packets. The edge | information consists of specific markings of PCN-packets. The edge | |||
| nodes of the DiffServ domain read these markings and convert them | nodes of the DiffServ domain read these markings and convert them | |||
| into flow admission and termination decisions. Overall the aim is to | into flow admission and termination decisions. Overall the aim is to | |||
| enable PCN-nodes to give an "early warning" of potential congestion | enable PCN-nodes to give an "early warning" of potential congestion | |||
| before there is any significant build-up of PCN-packets in their | before there is any significant build-up of PCN-packets in their | |||
| queues. | queues. | |||
| skipping to change at page 3, line 31 | skipping to change at page 3, line 31 | |||
| o threshold marking: its objective is to mark all PCN-packets (with | o threshold marking: its objective is to mark all PCN-packets (with | |||
| a "threshold-mark") whenever the rate of PCN-packets is greater | a "threshold-mark") whenever the rate of PCN-packets is greater | |||
| than some configured rate ("PCN-threshold-rate"); | than some configured rate ("PCN-threshold-rate"); | |||
| o excess traffic marking: whenever the rate of PCN-packets is | o excess traffic marking: whenever the rate of PCN-packets is | |||
| greater than some configured rate ("PCN-excess-rate"), its | greater than some configured rate ("PCN-excess-rate"), its | |||
| objective is to mark PCN-packets (with an "excess-traffic-mark") | objective is to mark PCN-packets (with an "excess-traffic-mark") | |||
| at a rate equal to the difference between the bit rate of PCN- | at a rate equal to the difference between the bit rate of PCN- | |||
| packets and the PCN-excess-rate. | packets and the PCN-excess-rate. | |||
| [draft-pcn-architecture] describes how the admission control | [I-D.ietf-pcn-architecture] describes how the admission control | |||
| mechanism limits the PCN-traffic on each link to *roughly* its PCN- | mechanism limits the PCN-traffic on each link to *roughly* its PCN- | |||
| threshold-rate and how the flow termination mechanism limits the PCN- | threshold-rate and how the flow termination mechanism limits the PCN- | |||
| traffic on each link to *roughly* its PCN-excess-rate. | traffic on each link to *roughly* its PCN-excess-rate. | |||
| Section 2 specifies the functions involved, which in outline are: | Section 2 specifies the functions involved, which in outline (see | |||
| Figure 1) are: | ||||
| o Packet classify and condition - decide whether an incoming packet | o Packet classify and condition - decide whether an incoming packet | |||
| belongs to a PCN-flow or not; drop (or downgrade) packets if the | belongs to a PCN-flow or not; | |||
| link is overloaded; | ||||
| o Condition: drop or downgrade packets if the link is overloaded; | ||||
| o Threshold meter - determine whether the rate of PCN-packets is | o Threshold meter - determine whether the rate of PCN-packets is | |||
| greater than the configured PCN-threshold-rate; | greater than the configured PCN-threshold-rate; | |||
| o Excess traffic meter - measure by how much the rate of PCN-packets | o Excess traffic meter - measure by how much the rate of PCN-packets | |||
| is greater than the configured PCN-excess-rate; | is greater than the configured PCN-excess-rate; | |||
| o Mark - actually mark the PCN-packets, if the meter functions | o Mark - actually mark the PCN-packets, if the meter functions | |||
| indicate to do so; | indicate to do so; | |||
| PCN encoding uses a combination of the DSCP field and ECN field in | ||||
| [pcn-encoding] specifies the actual encoding, which uses the DSCP and | the IP header to indicate that a packet is a PCN-packet and whether | |||
| ECN fields. In a particular deployment the operator may have three | it is PCN-marked. [I-D.moncaster-pcn-baseline-encoding] defines two | |||
| encoding states available (so allowing both threshold marking and | encoding states (PCN-marked and not PCN-marked), whilst | |||
| excess traffic marking) or may have only two encoding state, which it | [I-D.draft-moncaster-pcn-3-state-encoding] defines an extended scheme | |||
| may use for either threshold marking or excess traffic marking. This | with three encoding states. So in a particular deployment the | |||
| leads to the following four use cases: | operator may have three encoding states available (so allowing both | |||
| threshold marking and excess traffic marking) or may have only two | ||||
| encoding states (so allowing either threshold marking and excess | ||||
| traffic marking). As described in [I-D.ietf-pcn-architecture], flow | ||||
| termination is based on excess traffic marked packets, whilst | ||||
| admission control can be based on either threshold marked or excess | ||||
| traffic marked packets (the former is more accurate, | ||||
| [I-D.draft-charny-pcn-comparison]). This leads to the following four | ||||
| use cases: | ||||
| 1. an operator requires both admission control and flow termination, | 1. an operator requires both admission control and flow termination, | |||
| and has three encoding states available. Then admission control | and has three encoding states available. Then admission control | |||
| is triggered from PCN-packets that are threshold-marked, and flow | is triggered from PCN-packets that are threshold-marked, and flow | |||
| termination from PCN-packets that are excess-traffic-marked | termination from PCN-packets that are excess-traffic-marked. | |||
| [ref]. | ||||
| 2. an operator requires both admission control and flow termination, | 2. an operator requires both admission control and flow termination, | |||
| and has only two encoding states available. Then both admission | and has only two encoding states available. Then both admission | |||
| control and flow termination are triggered from PCN-packets that | control and flow termination are triggered from PCN-packets that | |||
| are excess-traffic-marked [ref]. | are excess-traffic-marked. | |||
| 3. an operator requires only admission control. Then admission | 3. an operator requires only admission control. Then admission | |||
| control is triggered from PCN-packets that are threshold-marked | control is triggered from PCN-packets that are threshold-marked | |||
| and only two encoding states are needed. | and only two encoding states are needed. (Flow termination may | |||
| be provided by a non PCN mechanism; this is out of scope.) | ||||
| 4. an operator requires only flow termination. Then flow | 4. an operator requires only flow termination. Then flow | |||
| termination is triggered from PCN-packets that are excess- | termination is triggered from PCN-packets that are excess- | |||
| traffic-marked and only one encoding states are needed. | traffic-marked and only two encoding states are needed. | |||
| (Admission control may be provided by a non PCN mechanism; this | ||||
| is out of scope.) | ||||
| +---------+ Result | +---------+ Result | |||
| +->|Threshold|-------+ | +->|Threshold|-------+ | |||
| | | Meter | | | | | Meter | | | |||
| | +---------+ V | | +---------+ V | |||
| +---------+ | +--------+ | +---------+ +---------+ | +------+ | |||
| |Classify | | | | Marked | | | | | | | | Marked | |||
| Packet ===>| & |==?================>| Marker |===> Packet | Packet =>|Classify |==>|Condition|==?================>|Marker|==> Packet | |||
| Stream |Condition| | | | Stream | Stream | | | | | | | Stream | |||
| +---------+ | +--------+ | +---------+ +---------+ | +------+ | |||
| | +---------+ ^ | | +---------+ ^ | |||
| | | Excess | | | | | Excess | | | |||
| +->| Traffic |-------+ | +->| Traffic |-------+ | |||
| | Meter | Result | | Meter | Result | |||
| +---------+ | +---------+ | |||
| Figure 1: Schematic of functions for PCN-marking | Figure 1: Schematic of functions for PCN-marking | |||
| 1.1. Terminology | ||||
| In addition to the terminology defined in [I-D.ietf-pcn-architecture] | ||||
| and RFC 2474 [RFC2474], the following terms are defined: | ||||
| o PCN-traffic: (defined in [draft-pcn-architecture] but need to | ||||
| clarify that PCN-BA is idenitfied by combination of DSCP & ECN | ||||
| fields) | ||||
| o Other-traffic: traffic that uses the same DS codepoint as PCN- | ||||
| traffic, but a different value in the ECN field; has the same | ||||
| priority as PCN-traffic (in terms of scheduling at PCN-nodes); but | ||||
| is not subject to PCN-marking, nor PCN's admissin control and flow | ||||
| termination mechanisms. Thus PCN-traffic and other-traffic have | ||||
| different per-domain behaviours RFC 3086 [RFC3086]. Note: there | ||||
| may be no other-traffic in a PCN-domain. Note: the term PCN-BA | ||||
| does not include other-traffic (this is a clarification, as the | ||||
| definition of behaviour aggregate in RFC 2474 [RFC2474], RFC 2475 | ||||
| [RFC2475] is somewhat ambiguous in the context of PCN. | ||||
| o Priority-traffic: traffic that is more important than PCN that | ||||
| shares the same capacity as PCN and is priority scheduled over PCN | ||||
| (perhaps an operator's control messages). Note: there may be no | ||||
| priority-traffic in a PCN-domain. | ||||
| o Metered-traffic: the collective term for PCN-traffic and (if any) | ||||
| priority-traffic and other-traffic. | ||||
| o Downgrade: Re-marking a packet, ie changing its DS codepoint, into | ||||
| a lower priority behaviour aggregate, such as best effort or | ||||
| assured forwarding; as a consequence perhaps dropping lower | ||||
| priority packets. | ||||
| o <these new terms are not great, but I couldn't find a way of | ||||
| writing the doc without them. I don't think they should be used | ||||
| outside this doc (so would be inclined to keep the terms here & | ||||
| not in [draft-pcn-architecture]). | ||||
| 2. Specified PCN-marking behaviour | 2. Specified PCN-marking behaviour | |||
| This section specifies the PCN-marking behaviour. The descriptions | ||||
| are functional and are not intended to restrict the implementation.. | ||||
| The Informative Appendixes supplement it. | ||||
| 2.1. Scope | 2.1. Scope | |||
| The functions defined in the following sub-sections SHOULD be | The functions defined in the following sub-sections SHOULD be | |||
| implemented on all links in the PCN-domain. | implemented on all links in the PCN-domain. | |||
| There are three possibilities regarding encoding states: | There are three possibilities regarding encoding states: | |||
| o three encoding states are available, | o three encoding states are available, | |||
| * one for threshold marks, | * one for threshold marks, | |||
| skipping to change at page 5, line 32 | skipping to change at page 6, line 44 | |||
| * one for threshold marks | * one for threshold marks | |||
| * one for "not PCN-marked"; | * one for "not PCN-marked"; | |||
| o two encoding states are available, | o two encoding states are available, | |||
| * one for excess rate marks | * one for excess rate marks | |||
| * one for "not PCN-marked". | * one for "not PCN-marked". | |||
| The same choice MUST be used throughout a PCN-domain. | The same choice of encoding states MUST be used throughout a PCN- | |||
| domain. | ||||
| The descriptions in the following sub-sections are functional and are | All metered-traffic MUST be metered by the metering functions | |||
| not intended to restrict the implementation. | specified in Sections 2.3, 2.4 and 2.5 (with the minor exception | |||
| noted below in Section 2.5). Priority-traffic and other-traffic MUST | ||||
| NOT be PCN-marked (ie only PCN-packets can be PCN-marked). | ||||
| 2.2. Classify and condition function | 2.2. Classify function | |||
| A packet MUST be classified as a PCN-packet if the value of its DSCP | A packet MUST be classified as a PCN-packet if the value of its DSCP | |||
| and ECN fields are as described in [draft-pcn-encoding]. | and ECN fields are as standardised in | |||
| [I-D.moncaster-pcn-baseline-encoding] or | ||||
| [I-D.draft-moncaster-pcn-3-state-encoding], as applicable to the PCN- | ||||
| domain. Otherwise the packet MUST NOT be classified as a PCN-packet. | ||||
| There may be traffic that is more important than PCN that shares the | A packet MUST be classified as an other-traffic packet if it uses the | |||
| same capacity as PCN and is priority scheduled over PCN (perhaps an | same DSCP as PCN-traffic, but a different value in the ECN field. | |||
| operator's control messages). Such traffic MUST be metered as though | ||||
| it were PCN-traffic, but MUST NOT be PCN-marked. Such packets, | ||||
| together with PCN-packets, are called "metered packets". | ||||
| Otherwise the packet MUST NOT be classified as a PCN-packet. | A packet MUST be classified as a priority-traffic packet if it shares | |||
| the same capacity as PCN-traffic and other-traffic and is priority | ||||
| scheduled over them. | ||||
| If the level of traffic is sufficiently high to overload the PCN | 2.3. Traffic conditioning function | |||
| behaviour aggregate(s), then traffic MUST be conditioned. The three | ||||
| possibilities are: | ||||
| o drop PCN-packets; | On all links in the PCN-domain, traffic conditioning MUST be done by: | |||
| o downgrade PCN-packets to a lower priority behaviour aggregate, | o metering all metered-traffic to determine if the level of metered- | |||
| such as best effort or assured forwarding, and perhaps drop lower | traffic is sufficiently high to overload the PCN behaviour | |||
| priority packets; | aggregate(s). (According to RFC 2475 [RFC2475] metering is "the | |||
| process of measuring the temporal properties (eg rate) of a | ||||
| traffic stream". | ||||
| o drop or downgrade other "metered packets". | o if the level of metered-traffic is sufficiently high, then do one | |||
| or more of the following: | ||||
| * drop PCN-packets; | ||||
| * downgrade PCN-packets; | ||||
| * drop other-packets; | ||||
| * downgrade other-packets. | ||||
| * <you might argue that other-packets should get harsher | ||||
| treatment since they're not subject to PCN's adm & termination | ||||
| control, only subject to the weaker DiffServ style static TCAs | ||||
| at the PCN-ingress-node> | ||||
| If PCN-packets are dropped (or downgraded) then: | If PCN-packets are dropped (or downgraded) then: | |||
| o excess-traffic-marked PCN-packets SHOULD be preferentially dropped | o excess-traffic-marked PCN-packets SHOULD be preferentially dropped | |||
| (downgraded); | (downgraded); | |||
| o PCN-packets that are dropped (downgraded) SHOULD NOT be metered by | o PCN-packets that are dropped (downgraded) SHOULD NOT be metered by | |||
| the Excess traffic Meter. | the Excess traffic Meter. | |||
| 2.3. Threshold meter function | In addition, PCN-ingress-nodes MUST police PCN-traffic by: | |||
| o metering PCN-packets that are part of a previously admitted PCN- | ||||
| flow, to check that it keeps to the agreed rate or flowspec (eg | ||||
| RFC 1633 [RFC1633] for a microflow, and its NSIS equivalent). | ||||
| o checking that any packets received that demand PCN treatment do | ||||
| indeed belong to a previously admitted flow. | ||||
| o dropping or downgrading packets that fail the above checks. | ||||
| In addition, PCN-ingress-nodes MUST police other-traffic by: | ||||
| o metering other-traffic to check that it meeds its traffic | ||||
| conditioning agreement, which is the parameters of the traffic | ||||
| that will be accepted from a customer. Typically it is statically | ||||
| defined as part of the subscription-time service level agreement, | ||||
| as in the DiffServ architecture RFC 2475 [RFC2475] | ||||
| o dropping or downgrading packets that fail the above check. | ||||
| In addition, an operator MAY measure the amount of traffic entering | ||||
| (or leaving) its network for accounting reasons. Consideration is | ||||
| out of scope of this document. | ||||
| 2.4. Threshold meter function | ||||
| The Threshold Meter MUST have behaviour that is functionally | The Threshold Meter MUST have behaviour that is functionally | |||
| equivalent to the following. | equivalent to the following. | |||
| The meter is a token bucket, which is sized in bits and has a | The meter acts like a token bucket, which is sized in bits and has a | |||
| configured bit rate, termed PCN-threshold-rate. The amount of tokens | configured bit rate, termed PCN-threshold-rate. The amount of tokens | |||
| in the token bucket is termed TB1.fill. Tokens are added at the PCN- | in the token bucket is termed TB1.fill. Tokens are added at the PCN- | |||
| threshold-rate, to a maximum value TB1.max. Tokens are removed equal | threshold-rate, to a maximum value TB1.max. Tokens are removed equal | |||
| to the size in bits of the metered-packet, to a minimum TB1.fill=0. | to the size in bits of the metered-packet, to a minimum TB1.fill=0. | |||
| The token bucket has a configured token bucket depth (between 0 and | The token bucket has a configured token bucket depth (between 0 and | |||
| TB1.max), termed TB1.threshold. If TB1.fill < TB1.threshold, then | TB1.max), termed TB1.threshold. If TB1.fill < TB1.threshold, then | |||
| the meter indicates to the Marking function that the packet is to be | the meter indicates to the Marking function that the packet is to be | |||
| threshold-marked; otherwise it does not. | threshold-marked; otherwise it does not. | |||
| 2.4. Excess traffic meter function | 2.5. Excess traffic meter function | |||
| A packet SHOULD NOT be metered (by this excess traffic meter | A packet SHOULD NOT be metered (by this excess traffic meter | |||
| function) in the following two cases: | function) in the following two cases: | |||
| o If the packet is already excess-traffic-marked; | o If the packet is already excess-traffic-marked; | |||
| o If this PCN-node drops (downgrades) the packet because the link is | o If this PCN-node drops (downgrades) the packet because the link is | |||
| overloaded. | overloaded. | |||
| Otherwise it is metered by the Excess traffic Meter. | Otherwise it is metered by the Excess traffic Meter. | |||
| The Excess traffic Meter MUST have behaviour that is functionally | The Excess traffic Meter MUST have behaviour that is functionally | |||
| equivalent to the following. | equivalent to the following. | |||
| The meter is a token bucket, which is sized in bits and has a | The meter acts like a token bucket, which is sized in bits and has a | |||
| configured bit rate, termed PCN-excess-rate. The amount of tokens in | configured bit rate, termed PCN-excess-rate. The amount of tokens in | |||
| the token bucket is termed TB2.fill. Tokens are added at the PCN- | the token bucket is termed TB2.fill. Tokens are added at the PCN- | |||
| excess-rate, to a maximum value TB2.max. Tokens are removed equal to | excess-rate, to a maximum value TB2.max. Tokens are removed equal to | |||
| the size in bits of the metered-packet, to a minimum value of 0. The | the size in bits of the metered-packet, to a minimum TB2-fill=0. The | |||
| PCN-excess-rate is greater than (or equal to) the PCN-threshold-rate. | PCN-excess-rate is greater than (or equal to) the PCN-threshold-rate. | |||
| If the token bucket is empty (TB2.fill = 0), then the meter indicates | If the token bucket is empty (TB2.fill = 0), then the meter indicates | |||
| to the Marking function that the packet is to be excess-traffic- | to the Marking function that the packet is to be excess-traffic- | |||
| marked. If the token bucket is within an MTU of being empty, then | marked. If the token bucket is within an MTU of being empty, then | |||
| the meter SHOULD indicate to the Marking function that the packet is | the meter SHOULD indicate to the Marking function that the packet is | |||
| to be excess-traffic-marked; MTU means the maximum size of PCN- | to be excess-traffic-marked; MTU means the maximum size of PCN- | |||
| packets on the link. Otherwise the meter does not indicate marking. | packets on the link. Otherwise the meter does not indicate marking. | |||
| 2.5. Marking function | 2.6. Marking function | |||
| If the packet is not a PCN-packet, then it MUST NOT be marked. A | If the packet is not a PCN-packet, then it MUST NOT be marked. A | |||
| PCN-packet MUST be marked to reflect the metering results by setting | PCN-packet MUST be marked to reflect the metering results by setting | |||
| its encoding state appropriately, as specified below. The encoding | its encoding state appropriately, as specified below. The encoding | |||
| states are defined values of the DSCP and ECN fields, as specified in | states are defined values of the DSCP and ECN fields, as specified in | |||
| [pcn-encoding]. | the appropriate encoding document, | |||
| [I-D.moncaster-pcn-baseline-encoding] or | ||||
| [I-D.draft-moncaster-pcn-3-state-encoding]. | ||||
| There are three possibilities, depending on how many encoding states | There are three possibilities, depending on how many encoding states | |||
| are available: | are available: | |||
| o if three encoding states are available (one for threshold-marked, | o if three encoding states are available (one for threshold-marked, | |||
| one for excess-traffic-marked and one for "not PCN-marked") then: | one for excess-traffic-marked and one for "not PCN-marked") then: | |||
| * the encoding state of a packet that has already been excess- | * the encoding state of a packet that has already been excess- | |||
| traffic-marked is not altered, whatever the meters indicate; | traffic-marked is not altered, whatever the meters indicate; | |||
| * Otherwise: | * Otherwise: | |||
| + if both meters indicate marking, then the packet is excess- | + if both meters indicate marking, then the packet is excess- | |||
| traffic-marked; | traffic-marked; | |||
| + if the threshold meter indicates marking and the excess | ||||
| traffic meter doesn't, then threshold-marking is applied; | ||||
| + if one meter indicates marking and the other doesn't, then | + if the excess traffic meter indicates marking and the | |||
| that marking is applied; | threshold traffic meter doesn't, then excess-traffic-marking | |||
| is applied; | ||||
| + if neither meter indicates marking, then the packet's | + if neither meter indicates marking, then the packet's | |||
| encoding state is not altered. | encoding state is not altered. | |||
| o if two encoding states are available (one for threshold-marked and | o if two encoding states are available (one for threshold-marked and | |||
| one for "not PCN-marked") then: | one for "not PCN-marked") then: | |||
| * if the Threshold Meter indicates marking, then the packet is | * if the Threshold Meter indicates marking, then the packet is | |||
| threshold-marked; | threshold-marked; | |||
| * otherwise the packet's encoding state is not altered. | * otherwise the packet's encoding state is not altered. | |||
| o if two encoding states are available (one for excess-traffic- | o if two encoding states are available (one for excess-traffic- | |||
| marked and one for "not PCN-marked") then: | marked and one for "not PCN-marked") then: | |||
| * if the Excess traffic Meter indicates marking, then the packet | * if the Excess traffic Meter indicates marking, then the packet | |||
| is excess-traffic-marked; | is excess-traffic-marked; | |||
| * otherwise the packet's encoding state is not altered. | * otherwise the packet's encoding state is not altered. | |||
| skipping to change at page 8, line 23 | skipping to change at page 10, line 39 | |||
| 3. IANA Considerations | 3. IANA Considerations | |||
| This document makes no request of IANA. | This document makes no request of IANA. | |||
| Note to RFC Editor: this section may be removed on publication as an | Note to RFC Editor: this section may be removed on publication as an | |||
| RFC. | RFC. | |||
| 4. Security Considerations | 4. Security Considerations | |||
| See [draft-pcn-architecture] | See [I-D.ietf-pcn-architecture] | |||
| 5. Acknowledgements | 5. Acknowledgements | |||
| Michael Menth, Joe Babiarz, Anna Charny reviewed this draft. | Michael Menth, Joe Babiarz, Anna Charny reviewed a preliminary | |||
| version of the -00 draft. | ||||
| Thanks to those who've made comments on this draft: Michael Menth, | ||||
| Joe Babiarz, Anna Charny, Ruediger Geib, Wei Gengyu, Fortune Huang. | ||||
| All the work by many people in the PCN WG. | All the work by many people in the PCN WG. | |||
| 6. Authors | 6. Changes | |||
| 6.1. Changes from -00 to -01 | ||||
| o Traffic conditioning extensively re-written. | ||||
| o New terms defined | ||||
| o Changes resulting from split of encoding into two drafts, baseline | ||||
| [I-D.moncaster-pcn-baseline-encoding] and extension | ||||
| [I-D.draft-moncaster-pcn-3-state-encoding]. | ||||
| o Minor changes to improve clarity. | ||||
| 7. Authors | ||||
| Many people need to be added. | Many people need to be added. | |||
| 7. References | 8. References | |||
| 7.1. Normative References | 8.1. Normative References | |||
| [RFC1633] Braden, B., Clark, D., and S. Shenker, "Integrated | ||||
| Services in the Internet Architecture: an Overview", | ||||
| RFC 1633, June 1994. | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
| 7.2. Informative References | [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, | |||
| "Definition of the Differentiated Services Field (DS | ||||
| Field) in the IPv4 and IPv6 Headers", RFC 2474, | ||||
| December 1998. | ||||
| [t] "", 2004. | [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., | |||
| and W. Weiss, "An Architecture for Differentiated | ||||
| Services", RFC 2475, December 1998. | ||||
| [RFC3086] Nichols, K. and B. Carpenter, "Definition of | ||||
| Differentiated Services Per Domain Behaviors and Rules for | ||||
| their Specification", RFC 3086, April 2001. | ||||
| 8.2. Informative References | ||||
| [I-D.draft-briscoe-tsvwg-byte-pkt-mark] | ||||
| "Baseline Encoding and Transport of Pre-Congestion | ||||
| Information", February 2008, <http://www.ietf.org/ | ||||
| internet-drafts/draft-briscoe-tsvwg-byte-pkt-mark-02.txt>. | ||||
| [I-D.draft-charny-pcn-comparison] | ||||
| "Pre-Congestion Notification Using Single Marking for | ||||
| Admission and Termination", November 2007, <http:// | ||||
| www.watersprings.org/pub/id/ | ||||
| draft-charny-pcn-comparison-00.txt>. | ||||
| [I-D.draft-moncaster-pcn-3-state-encoding] | ||||
| "Baseline Encoding and Transport of Pre-Congestion | ||||
| Information", June 2008, <http://www.ietf.org/ | ||||
| internet-drafts/ | ||||
| draft-moncaster-pcn-3-state-encoding-00.txt>. | ||||
| [I-D.ietf-pcn-architecture] | ||||
| "Pre-Congestion Notification Architecture", February 2008, | ||||
| <http://www.ietf.org/internet-drafts/ | ||||
| draft-ietf-pcn-architecture-03.txt>. | ||||
| [I-D.moncaster-pcn-baseline-encoding] | ||||
| "Baseline Encoding and Transport of Pre-Congestion | ||||
| Information", June 2008, <http://www.ietf.org/ | ||||
| internet-drafts/ | ||||
| draft-moncaster-pcn-baseline-encoding-01.txt>. | ||||
| [Menth] "Menth", 2008, <http://www3.informatik.uni-wuerzburg.de/ | ||||
| staff/menth/Publications/ Menth08-PCN-Comparison.pdf>. | ||||
| Appendix A. Example algorithms | Appendix A. Example algorithms | |||
| Note: This Appendix is informative, not normative. It is an example | Note: This Appendix is informative, not normative. It is an example | |||
| of algorithms that implement Section 2 and is based on | of algorithms that implement Section 2 and is based on | |||
| [draft-charny-pcn-comparison] and | [I-D.draft-charny-pcn-comparison] and [Menth]. | |||
| [http://www3.informatik.uni-wuerzburg.de/staff/menth/Publications/ | ||||
| Menth08-PCN-Comparison.pdf]. | ||||
| There is no attempt to optimise the algorithms. It implements the | There is no attempt to optimise the algorithms. It implements the | |||
| metering and marking functions together. It is assumed that three | metering and marking functions together. It is assumed that three | |||
| encoding states are available (one for threshold-marked, one for | encoding states are available (one for threshold-marked, one for | |||
| excess-traffic-marked and one for "not PCN-marked"). It is assumed | excess-traffic-marked and one for "not PCN-marked"). It is assumed | |||
| that all metered-packets are PCN-packets and that the link is never | that all metered-packets are PCN-packets and that the link is never | |||
| overloaded. <example should be added?> | overloaded. | |||
| A.1. Threshold metering and marking | A.1. Threshold metering and marking | |||
| A token bucket with the following parameters: | A token bucket with the following parameters: | |||
| o TB1.PCN-threshold-rate: token rate of token bucket (bits/second) | o TB1.PCN-threshold-rate: token rate of token bucket (bits/second) | |||
| o TB1.max: depth of token bucket (bits) | o TB1.max: depth of token bucket (bits) | |||
| o TB1.threshold: marking threshold of token bucket (bits) | o TB1.threshold: marking threshold of token bucket (bits) | |||
| skipping to change at page 11, line 27 | skipping to change at page 15, line 11 | |||
| The meter and marker can be implemented on the ingoing or outgoing | The meter and marker can be implemented on the ingoing or outgoing | |||
| interface of a PCN-node. It may be that existing hardware can | interface of a PCN-node. It may be that existing hardware can | |||
| support only one meter and marker per ingoing interface and one per | support only one meter and marker per ingoing interface and one per | |||
| outgoing interface. Then for instance threshold metering and marking | outgoing interface. Then for instance threshold metering and marking | |||
| could be run on all the ingoing interfaces and excess traffic | could be run on all the ingoing interfaces and excess traffic | |||
| metering and marking on all the outgoing interfaces; note that the | metering and marking on all the outgoing interfaces; note that the | |||
| same choice must be made for all the links in a PCN-domain to ensure | same choice must be made for all the links in a PCN-domain to ensure | |||
| that the two metering behaviours are applied exactly once for all the | that the two metering behaviours are applied exactly once for all the | |||
| links. | links. | |||
| Note that even if there is only one encoding state both the meters | Note that even if there are only two encoding states both the meters | |||
| are still implemented, in order to ease compatibility between | are still implemented, in order to ease compatibility between | |||
| equipment and remove a configuration option and associated | equipment and remove a configuration option and associated | |||
| complexity. Although this means that the Marking function ignores | complexity. Although this means that the Marking function ignores | |||
| indications from one of the meters, they might be logged or acted | indications from one of the meters, they might be logged or acted | |||
| upon in some other way, for example by the management system or an | upon in some other way, for example by the management system or an | |||
| explicit signalling protocol; such considerations are out of scope of | explicit signalling protocol; such considerations are out of scope of | |||
| PCN. | PCN. | |||
| B.2. Classify and condition | B.2. Classify | |||
| Traffic that has a higher DiffServ priority than PCN, but shares the | Traffic that has a higher DiffServ priority than PCN, but shares the | |||
| same capacity, is metered as though it were PCN-traffic but cannot be | same capacity, is metered as though it were PCN-traffic but cannot be | |||
| PCN-marked. This means that a meter may indicate a packet is to be | PCN-marked. This means that a meter may indicate a packet is to be | |||
| PCN-marked, but the Marking function knows it cannot be marked. It | PCN-marked, but the Marking function knows it cannot be marked. It | |||
| is left open to the implementation exactly what to do in this case; | is left open to the implementation exactly what to do in this case; | |||
| one simple possibility is to mark the next PCN-packet. Note that | one simple possibility is to mark the next PCN-packet. Note that | |||
| unless the PCN-packets are a large fraction of all the metered- | unless the PCN-packets are a large fraction of all the metered- | |||
| packets then the PCN mechanisms may not work well. | packets then the PCN mechanisms may not work well. | |||
| Similar remarks can be made with respect to other-traffic. | ||||
| B.3. Traffic conditioning | ||||
| The objective of traffic conditioning is to minimise the queueing | ||||
| delay suffered by metered-traffic at a PCN-node, since PCN-traffic | ||||
| (and other-traffic) is expected to be inelastic traffic generated by | ||||
| real time applications. "Overload" therefore means breaking this | ||||
| objective. In practice it would be defined as exceeding a specific | ||||
| traffic profile, typically based on a token bucket. If both PCN- | ||||
| traffic and other-traffic is present then the details will depend on | ||||
| how the router's implementation handles the two sorts of traffic, for | ||||
| example it could have: | ||||
| o a common traffic conditioner and a common queue for PCN-traffic | ||||
| and other-traffic; | ||||
| o separate traffic conditioners but a common queue; | ||||
| o separate traffic conditioners and separate queues. | ||||
| By conditioning traffic to a lower rate than the queue(s) can | ||||
| schedule traffic, the number of packets in the queue(s) can be | ||||
| minimised. | ||||
| The choice of whether to drop or downgrade packets is left to the | ||||
| operator. For example, if the traffic is expected to be voice then | ||||
| dropping is simple and a small amount of dropping doesn't have much | ||||
| audible effect. But the dropping of a video I-frame will lead to a | ||||
| significant impact. Downgrading needs to be done carefully to avoid | ||||
| re-ordering traffic. | ||||
| In [RFC2475] shaping is given as another possible action ("the | ||||
| process of delaying packets"). However, this is not suitable here as | ||||
| the traffic is expected to come from real time applications. | ||||
| Preferential dropping of excess-traffic-marked packets: Section 2.2 | Preferential dropping of excess-traffic-marked packets: Section 2.2 | |||
| specifies: "If the level of traffic is sufficiently high to overload | specifies: "If the level of metered-traffic is sufficiently high, | |||
| the PCN behaviour aggregate(s), then traffic MUST be conditioned ... | then ... if PCN-packets are dropped (or downgraded) then: excess- | |||
| excess-traffic-marked PCN-packets SHOULD be preferentially dropped | traffic-marked PCN-packets SHOULD be preferentially dropped | |||
| (downgraded)". This avoids over-termination, with the CL/SM edge | (downgraded)". This avoids over-termination, with the CL/SM edge | |||
| behaviour, in the event of multiple bottlenecks in the PCN-domain | behaviour, in the event of multiple bottlenecks in the PCN-domain | |||
| [ref]. | [I-D.draft-charny-pcn-comparison]. | |||
| Exactly what "preferentially dropped" means is left to the | Exactly what "preferentially dropped" means is left to the | |||
| implementation. It is also left to the implementation what to do if | implementation. It is also left to the implementation what to do if | |||
| there are no excess-traffic-marked PCN-packets available at a | there are no excess-traffic-marked PCN-packets available at a | |||
| particular instant. | particular instant. | |||
| <should we leave it this open or give some options, eg: definitely | <should we leave it this open or give some options, eg: definitely | |||
| drop an excess-traffic-marked packet or drop with a higher | drop an excess-traffic-marked packet or drop with a higher | |||
| probability; or, if there are no excess rate marked PCN-packets | probability; or, if there are no excess rate marked PCN-packets | |||
| available, drop any PCN-packet, drop the next excess-traffic-marked | available, drop any PCN-packet, drop the next excess-traffic-marked | |||
| PCN-packet> | PCN-packet> | |||
| Section 2.2 also specifies: "PCN-packets that are dropped | Section 2.2 also specifies: "PCN-packets that are dropped | |||
| (downgraded) SHOULD NOT be metered by the Excess traffic Meter." | (downgraded) SHOULD NOT be metered by the Excess traffic Meter." | |||
| This avoids over-termination, with the CL/SM edge behaviour, in the | This avoids over-termination, with the CL/SM edge behaviour, in the | |||
| event of multiple bottlenecks [ref]. | event of multiple bottlenecks [I-D.draft-charny-pcn-comparison]. | |||
| Effectively it means that traffic conditioning should be done before | ||||
| the meter functions - which is natural. | ||||
| B.3. Threshold metering | B.4. Threshold metering | |||
| The description is in terms of a 'token bucket with threshold', | The description is in terms of a 'token bucket with threshold', | |||
| however the implementation is not standardised. For example, it | however the implementation is not standardised. For example, it | |||
| could equally well be implemented as a virtual queue [ref]. | could equally well be implemented as a virtual queue | |||
| [I-D.ietf-pcn-architecture]. | ||||
| The behaviour must be functionally equivalent to the description | The behaviour must be functionally equivalent to the description | |||
| above. "Functionally equivalent" is intended to allow implementation | above. "Functionally equivalent" is intended to allow implementation | |||
| freedom over matters such as: | freedom over matters such as: | |||
| <is this list helpful? accurate? trying to clarify that there is some | <is this list helpful? accurate? trying to clarify that there is some | |||
| implementation freedom here> | implementation freedom here> | |||
| o whether tokens are added to the token bucket at regular time | o whether tokens are added to the token bucket at regular time | |||
| intervals or only when a packet is processed | intervals or only when a packet is processed | |||
| o whether the new token bucket depth is calculated before or after | o whether the new token bucket depth is calculated before or after | |||
| it is decided whether to mark the packet. The effect of this is | it is decided whether to mark the packet. The effect of this is | |||
| simply to shift the sequence of marks by one packet. | simply to shift the sequence of marks by one packet. | |||
| o when the token bucket is very nearly empty and a packet arrives | o when the token bucket is very nearly empty and a packet arrives | |||
| larger than TB1.fill, then the precise change in TB1.fill is up to | larger than TB1.fill, then the precise change in TB1.fill is up to | |||
| the implementation. Essentially any behaviour is functionally | the implementation. A behaviour is functionally equivalent if | |||
| equivalent if either precisely the same set of packets is marked, | either precisely the same set of packets is marked, or if the set | |||
| or if the set is shifted by one packet. For instance, the | is shifted by one packet. For instance, the following should all | |||
| following should all be considered as "functionally equivalent": | be considered as "functionally equivalent": | |||
| * set TB1.fill = 0 and indicate threshold-mark to the Marking | * set TB1.fill = 0 and indicate threshold-mark to the Marking | |||
| function. | function. | |||
| * check whether TB1.fill < TB1.threshold and if it is then | * check whether TB1.fill < TB1.threshold and if it is then | |||
| indicate threshold-mark to the Marking function; then set | indicate threshold-mark to the Marking function; then set | |||
| TB1.fill = 0. | TB1.fill = 0. | |||
| * leave TB1.fill unaltered and indicate threshold-mark to the | * leave TB1.fill unaltered and indicate threshold-mark to the | |||
| Marking function. | Marking function. | |||
| o similarly, when the token bucket is very nearly full and a packet | o similarly, when the token bucket is very nearly full and a packet | |||
| arrives large than (TB1.max - TB1.fill), then the precise change | arrives large than (TB1.max - TB1.fill), then the precise change | |||
| in TB1.fill is up to the implementation. | in TB1.fill is up to the implementation. | |||
| B.4. Excess traffic metering | o Note that all packets, even if already marked, are metered by the | |||
| threshold meter function (unlike the excess traffic meter function | ||||
| - see below) - because all packets should contribute to the | ||||
| decision whether there is room for a new flow. The threshold | ||||
| meter | ||||
| B.5. Excess traffic metering | ||||
| The description is in terms of a token bucket, however the | The description is in terms of a token bucket, however the | |||
| implementation is not standardised. | implementation is not standardised. | |||
| As in Section B.3, "functionally equivalent" allows some | As in Section B.3, "functionally equivalent" allows some | |||
| implementation flexibility when the token bucket is very nearly empty | implementation flexibility when the token bucket is very nearly empty | |||
| or very nearly full. | or very nearly full. | |||
| Packet size independent marking is specified as a SHOULD in Section | Packet size independent marking is specified as a SHOULD in Section | |||
| 2.4 ( "If the token bucket is within an MTU of being empty, then the | 2.4 ( "If the token bucket is within an MTU of being empty, then the | |||
| meter SHOULD indicate to the Marking function that the packet is to | meter SHOULD indicate to the Marking function that the packet is to | |||
| be excess-traffic-marked; MTU means the maximum size of PCN-packets | be excess-traffic-marked; MTU means the maximum size of PCN-packets | |||
| on the link.") Without it, large packets are more likely to be | on the link.") Without it, large packets are more likely to be | |||
| excess-traffic-marked than small packets and this means that, with | excess-traffic-marked than small packets and this means that, with | |||
| some edge behaviours, flows with large packets are more likely to be | some edge behaviours, flows with large packets are more likely to be | |||
| terminated than flows with small packets [refs: http:// | terminated than flows with small packets | |||
| www3.informatik.uni-wuerzburg.de/staff/menth/Publications/ | [I-D.draft-briscoe-tsvwg-byte-pkt-mark] [Menth]. | |||
| Menth08-PCN-MFT.pdf & http://www.ietf.org/internet-drafts/ | ||||
| draft-briscoe-tsvwg-byte-pkt-mark-02.txt]. | ||||
| Section 2.4 specifies: "A metered-packet SHOULD NOT be metered (by | Section 2.4 specifies: "A packet SHOULD NOT be metered (by this | |||
| this excess traffic meter function) ... If the packet is already | excess traffic meter function) ... If the packet is already excess- | |||
| excess-traffic-marked". This avoids over-termination (with some edge | traffic-marked". This avoids over-termination (with some edge | |||
| behaviours) in the event that the PCN-traffic passes through multiple | behaviours) in the event that the PCN-traffic passes through multiple | |||
| bottlenecks in the PCN-domain [ref]. Note that an implementation | bottlenecks in the PCN-domain [I-D.draft-charny-pcn-comparison]. | |||
| could determine whether the packet is already excess-traffic-marked | Note that an implementation could determine whether the packet is | |||
| as an integral part of its Classification function. | already excess-traffic-marked as an integral part of its | |||
| Classification function. | ||||
| Section 2.4 specifies: "A packet SHOULD NOT be metered (by this | ||||
| excess traffic meter function) ... If this PCN-node drops | ||||
| (downgrades) the packet because the link is overloaded." This avoids | ||||
| over-termination [Menth]. (A similar statement could also be made | ||||
| for the threshold meter function, but is irrelevant, as a link that | ||||
| is overloaded will already be substantially pre-congested and hence | ||||
| PCN-marking all packets.) | ||||
| Note that TB2.max is independent of TB1.max; TB2.fill is independent | Note that TB2.max is independent of TB1.max; TB2.fill is independent | |||
| of TB1.fill (except in that a packet changes both); and the two | of TB1.fill (except in that a packet changes both); and the two | |||
| configured rates, PCN-excess-rate and PCN-threshold-rate are | configured rates, PCN-excess-rate and PCN-threshold-rate are | |||
| independent (except that PCN-excess-rate >= PCN-threshold-rate). | independent (except that PCN-excess-rate >= PCN-threshold-rate). | |||
| B.5. Marking | B.6. Marking | |||
| Although the metering functions are described separately from the | Although the metering functions are described separately from the | |||
| Marking function, they can be implemented in an integrated fashion. | Marking function, they can be implemented in an integrated fashion. | |||
| [pcn-encoding] specifies the encoding states. In some environments | [I-D.moncaster-pcn-baseline-encoding] specifies two encoding states | |||
| encoding states may be scarce, for example MPLS, and then only one | and [I-D.draft-moncaster-pcn-3-state-encoding] specifies three | |||
| encoding state may be preferable. | encoding states. In some environments encoding states may be scarce, | |||
| for example MPLS, and then only two encoding states may be | ||||
| preferable. | ||||
| Section 2.5 states: "if three encoding states are available ... if | Section 2.6 states: "if three encoding states are available ... if | |||
| one meter indicates marking and the other doesn't, then that marking | the threshold meter indicates marking and the excess traffic meter | |||
| is applies". Normally this means that the Threshold Meter indicates | doesn't, then threshold-marking is applied; if the excess traffic | |||
| marking and the Excess traffic Meter doesn't. However, the reverse | meter indicates marking and the threshold traffic meter doesn't, then | |||
| is possible for a short time - because the meters react at different | excess-traffic-marking is applied". Normally this means that the | |||
| speeds when the traffic rate changes. | Threshold Meter indicates marking and the Excess traffic Meter | |||
| doesn't. However, the reverse is possible for a short time - because | ||||
| the meters react at different speeds when the traffic rate changes. | ||||
| Author's Address | Author's Address | |||
| Philip Eardley +++ | Philip Eardley +++ | |||
| BT | BT | |||
| Adastral Park, Martlesham Heath | Adastral Park, Martlesham Heath | |||
| Ipswich IP5 3RE | Ipswich IP5 3RE | |||
| UK | UK | |||
| Email: philip.eardley@bt.com | Email: philip.eardley@bt.com | |||
| End of changes. 62 change blocks. | ||||
| 125 lines changed or deleted | 351 lines changed or added | |||
This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||