SUBJECT D3)

ATM traffic shaping

SUBJECT D3-1) Question: What do people mean by the term "traffic shaping"?

Answer: Here is an explicit definition of traffic shaping followed by brief tutorial. Note that a variety of techniques have been investigated to implement traffic shaping. Reference the literature for keywords such as "leaky bucket", "congestion", "rate control", and "policing".

Definition:
Traffic shaping is forcing your traffic to conform to a certain specified behavior. Usually the specified behavior is a worst case or a worst case plus average case (i.e., at worst, this application will generate 100 Mbits/s of data for a maximum burst of 2 seconds and its average over any 10 second interval will be no more than 50 Mbit/s).
Of course, understand that the specified behavior may closely match the way the traffic was going to behave anyway. But by knowing precisely how the traffic is going to behave, it is possible to allocate resources inside the network such that guarantees about availability of bandwidth and maximum delays can be given.

Brief Tutorial

Assume some switches connected together which are carrying traffic. The problem to actually deliver the grade of service that has been promised, and that people are paying good money for. This requires some kind of resource management strategy, since congestion will be by far the greatest factor in data loss. You also need to charge enough to cover you costs and make a profit, but in such a way that you attract customers. There are a number of parameters and functions that need to be considered:

PARAMETERS

There are lots of traffic parameters that have been proposed for resource management. The more important ones are:

These parameters exist in three forms:

FUNCTIONS
(a) Acceptance Function
Each switch has the option of accepting a virtual circuit request based on the declared traffic parameters as given by the customer. Acceptance is given if the resulting traffic mix will not cause the switch to not achieve its quality of service goals.

The acceptance process is gone through by every switch in a virtual circuit. If a downstream switch refuses to accept a connection, an alternate route might be tried.

(b) Policing Function
Given that a switch at the edge of the network has accepted a virtual circuit request, it has to make sure the customer equipment keeps its promises. The policing function in some way estimates the the parameters of the incoming traffic and takes some action if they measure traffic exceeding agreed parameters. This action could be to drop the cells, mark them as being low cell-loss priority, etc.

(c) Charging Function
The function most ignored by traffic researchers, but perhaps the most important for the success of any service! Basically, this function computes a charge from the estimated and agreed traffic parameters.

(d) Traffic Shaping Function
Traffic shaping is something that happens in the customer premise equipment. If the Policing function is the policeman, and the charging function is the judge, then the traffic shaper is the lawyer. The traffic shaper uses information about the policing and charging functions in order to change the traffic characteristics of the customer's stream to get the lowest charge or the smallest cell-loss, etc.

For example, an IP router attached to an ATM network might delay some cells slightly in order to reduce the peak rate and rate variance without affecting throughput. An MPEG codec that was operating in a situation where delay wasn't a problem might operate in a CBR mode.


SUBJECT D3-2) Question:What is CLP=0+1 all about?

Answer: The cell flow in a connection can be logically split into various cell flows depending on the CLP value of the cell, whether it is 0 or 1.

The following are the cell flows:

CLP=0+1 cell flow is for both CLP=0 cells and CLP=1 cells. So logically, a CLP=0 cell travels in 'CLP=0 cell flow' and 'CLP=0+1 cell flow' while a CLP=1 cell travels in 'CLP=1 cell flow' and 'CLP=0+1 cell flow'.

The connection and cell flows may be represented as follows:


        Connection
            |
            V

    ---------------------------
    ---------------     |
    CLP=0 Cell Flow     |
    ---------------     CLP=0+1 Cell Flow
    ---------------     |
    CLP=1 Cell Flow     |
    ---------------     |
    ---------------------------
To establish a connection we have to specify Peak Cell Rate(PCR), Sustained Cell Rate(SCR), Maximum Burst Size(MBS) in forward and backward directions, for each cell flow. So PCR, SCR, etc are not single values to a connection! We must specify these values for the cell flows CLP=0, CLP=1 and CLP=0+1. Usually CLP=0+1 values will be equal to or more than the sum of PCR, etc values of CLP=0 and CLP=1 cell flows.

Depending on the type of the connection we need to specify some (not all) values specific to some cell flows only. TM 4.0 clearly specifies which combinations are valid (in chapter 4). For eg. Tagging can be opted only in VBR.3 conformance defn. in which we specify values for CLP=0 and CLP=0+1 cell flows only.

Right now CDVT is not signalled even in UNI 4.0. Let us say it picks from a standard table for a PCR or SCR value. The cell conformance test will be done for every cell flow seperately. Consider a hypotheical type with tagging option in which we must specify values of CLP=0 and CLP=0+1 cell flows only and cell conformance has to be done for PCRs of these cell flows. A CLP=0 cell will be tested with GCRA(1/PCR0, CDVT0). If it is non-conforming, the cell is deprioritized by tagging it to CLP=1. Now the cell is tested with GCRA(1/PCR01, CDVT01) to check if it is conforming. Note that at any further check point this cell will be checked only with GCRA(1/PCR01, CDVT01) because it is no more in CLP=0 cell flow. A cell sent by source with CLP=1 is checked only with GCRA(1/PCR01, CDVT01) at any place.

Note: PCR0 and CDVT0 are PCR and CDVT of CLP=0 cell flow and PCR01 and CDVT01 are PCR and CDVT of CLP=0+1 cell flow.


[ Back to Index | FAQ Index | Cell Relay Retreat ]

Maintained by Cell Relay Retreat
Last Changed 24 November 2002