The Single Rate Three Color Marker

The Single Rate Three Color Marker (srTCM) is a combined metering algorithm that is able to set multiple conformance levels (not only in or out of profile). It has been defined in RFC 2697.

The srTCM has two token buckets and one token accumulation rate. When the token bucket which has a token accumulation rate is full, further tokens ‘overspill’ into the excess token bucket.

The parameters of the srTCM are:

  • Committed Information Rate (CIR)
  • Committed Burst Size (CBS)
  • Excess Burst Size (EBS)
  • Color-mode flag (a boolean attribute)
  • Due to the two token buckets, the srTCM is able to declare three conformance levels:

  • Green - when sufficient tokens are present in bucket B1
  • Yellow - when B1 has insufficient tokens, but B2 has
  • Red - when neither B1 nor B2 have sufficient tokens
  • The srTCM has two operating modes: color aware and color-blind. In color blind mode all incoming packets are treated equal. In color-aware mode packets arrive pre-colored to the meter.

    The evaluation of conformance is a sequential process. In color blind mode first bucket B1 is checked for tokens. If there are sufficient tokens in B1 then the frame is declared ‘green’ and an equivalent amount of tokens are removed from B1. Tokens in B2 are not decremented. If there are insufficient tokens in B1, then the logical function looks for tokens in B2. Conformance is ‘yellow’ in case B2 had sufficient tokens, otherwise it is red, and no tokens are removed.

    In color aware mode the token removal logic is different:

  • if a packet arrives Red, it will remain red and no tokens will be removed
  • if packet allows Yellow, it will be checked only against the yellow bucket. In the absence of sufficient tokens in EBS, the packet color is downgraded to Red, else remains yellow and only EBS is decremented
  • if packet arrives as Green, it will be checked against B1 first. In case of sufficient tokens, the packet remains Green and only B1 is decremented. Otherwise, B2 is checked, and if there are sufficient tokens then the packet is downgraded to Yellow, and only B2 is decremented. If B2 does not have sufficient tokens neither then the packet is downgraded immediately to Red.
  • srTCM02

    The token replenishment logic follows a similar logic:

    • as long as B1 is not full, only B1 is incremented
    • when B1 is full, but B2 is not, only B2 is incremented (spillover case)
    • when both buckets are full then neither buckets are incremented and tokens generated during this period are irretrievably lost.

    The rationale of the srTCM is the following: if a traffic source is idle for a rather long period, bucket B1 overflows and credits to send traffic are lost. From the subscriber perspective this is lost opportunity to transmit. The second bucket collects these unused tokens for transmission (up to a limit equal to EBS) and allows the source to use this credit later, when it bursts beyond CBS.

     

    The message of the ISP is the following: look, since you were idle quite some time before, you may send now a burst beyond CBS, but I give you less guarantees for the traffic that is beyond the CBS. I’ll mark them ‘yellow’ and if deeper in the network there is congestion, then these packets will be the first to be discarded.

    ‘Red’ frames are even more out of profile. They have a higher discard eligibility. The ISP may choose to immediately discard such packets but does not have to. Red frames can also be let go, but will suffer the first in a WRED-enabled node or in a subsequent color-aware policer on a traffic aggregate. If Red frames are not discarded, then in a lightly loaded network the source may send at line rate indefinitely.

    The srTCM can emulate a Single Token Bucket meter by setting EBS to zero, or by configuring ‘Yellow’ action of the algorithmic dropper to discard.

    [QoS Guide] [Policing] [Token Bucket Policer] [Leaky Bucket] [Dual Token Bucket] [Single Rate Three Color Marker] [Two Rate Three Color Marker] [MEF Policer] [ATM  GCRA and F-GCRA] [A TCP-friendly policer] [Shaping] [Scheduling] [BAC] [Nomenclature] [About] [Sitemap]