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/ |