ATM is an attractive packet-oriented switching and multiplexing technology using fixed length data cells for the transport of broadband digital data exhibiting a broad spectrum of traffic properties and quality of service requirements.
In an ATM network, a connection is normally set up each time a source node wishes to send data to a destination node. The connection setup includes the selection of a route or path through the network and the establishment of service parameters and QoS guarantees for the duration of the connection. Multiple connections between different source-destination pairs can concurrently use the same physical link in the network. To accommodate the different service requirements of different kinds of traffic in an ATM network, different classes of ATM traffic have been defined. The classes of interest here are CBR (Constant Bit Rate), VBR (Variable Bit Rate) and ABR (Available Bit Rate).
CBR traffic is traffic that needs to be transmitted at a specified, substantially constant bit rate. Examples of CBR traffic include real-time audio or video traffic or an ATM network emulating a standard (1.544 Mbit/s) T-1 trunk. CBR traffic is characterized as being delay and jitter intolerant. During setup of a CBR connection, a Peak Cell Rate (PCR) parameter must be negotiated to define the maximum rate at which data can be transported over the connection without creating a significant risk of cell loss. Data is typically transmitted at the full CBR rate over a CBR connection.
VBR or Variable Bit Rate traffic can be real-time (RT) or non-real-time (NRT) in nature. For each VBR connection to be set up, a Peak Cell Rate, a Sustained Cell Rate (SCR) and a jitter tolerance must be negotiated. The negotiated SCR represents the average throughput to be allowed on the connection. While traffic from a VBR source may be accepted at a greater-than-SCR rate for a limited period of time, traffic from the same source must then be throttled back to a less-than-SCR rate for a long enough time to re-establish the SCR over the longer period of time. A negotiated burst tolerance parameter defines how long traffic can be accepted at the greater-than-SCR rate before it must be throttled back.
During these periods of reduced traffic activity and perhaps at other times during network operation, a significant amount of network bandwidth may be unused or idle. The ABR traffic class has been defined in an effort to exploit the availability of idle network bandwidth. ABR traffic is intended to make optimum use of what might otherwise be unused bandwidth while utilizing traffic management techniques to monitor actual or incipient network congestion which might, if not taken into account, lead to unacceptable cell loss during transmission attempts.
The setup of an ABR connection requires negotiation of a PCR parameter that serves the same purpose as it does for the other classes of traffic; namely, to limit the maximum rate at which traffic will be accepted for transmission over the connection. No effort is made to negotiate jitter or burst tolerances for ABR traffic. Instead, the ABR source and the network negotiate a Minimum Cell Rate (MCR) parameter representing the minimum amount of connection bandwidth that will always be available to the ABR traffic source. Generally, the MCR parameter represents the minimum transmission rate which must be available if the ABR traffic source or application is to stay alive; i.e., continue to execute.
For CBR and VBR connections, no effort is made to dynamically control congestion (network traffic loads) from within the network. Where, however, the goal is to utilize idle network bandwidth, it makes sense to attempt to dynamically control congestion through the use of closed-loop management techniques. Such techniques monitor network traffic and provide feedback to a traffic source to permit that source to adjust the rate at which traffic enters the network to levels which assure that existing QoS requirements for existing connections can continue to be met. The traffic rate resulting from the adjustment is referred to as the Allowable Cell Rate or ACR.
In an ATM connection from a source to a destination, flow control can be performed using a single large flow control loop extending from the source to the destination and back to the source. Resource Management cells (RM cells), special purpose ATM cells, are used to carry information used in controlling the data cell flow between source and destination. Where the RM cell carries actual flow rate information, that information is carried in an ER (Explicit Rate) field in the RM cell.
If the path between the source and the destination is long and a single large flow control loop is implemented, it takes time for flow control information to be generated at the real destination and then propagated back to the real source. By the time the real source can act on the information, traffic conditions within the network may have already changed.
Further, a path between a source and a destination will typically traverse multiple links, each of which normally carries traffic from multiple sources. Traffic conditions on any one of these links at a given time can be quite different from traffic conditions on other of the links. Where a single large flow control loop is employed, the flow control decisions that are made will not necessarily take conditions on a particular link into proper account and may lead to inefficient utilization of one or more of the links on the path defined by the large loop.
For reasons such as those given above, it may be advantageous to perform flow control in something other than a single source/destination loop. An ATM ABR connection can be divided into several adjacent segments. Each segment includes a virtual source and a virtual destination and forms its own flow control loop. An ATM Forum Traffic Management Specification, ATM Forum/af-tm-0056.000, defines general behavior for switches that act as virtual sources (VS) and virtual destinations (VD) in order to provide segmentation of an ATM connection. Each adjacent segment can independently choose most flow parameters with no need to coordinate its values with those chosen by other segments along the path of the connection.
In the ATM Forum Traffic Management Specification, the VS/VD mode of operation is defined to provide intrasegment flow control and congestion control. However, the ATM Forum Traffic Management Specification does not define intersegment operations: that is, it leaves methods for coupling the adjustment actions for a particular segment to adjustment actions of an adjacent segment up to the system implementers.