106 CONGESTION CONTROL IN ATM NETWORKS
by discarding the subsequent cells that belong to the same user packet since the entire packet will have to be retransmitted anyway. For applications using AAL 5, it is possible
to identify the beginning and the end of each user packet, and consequently drop the subsequent cells that belong to the same packet. There are two such discard mechanisms:
partial packet discard PPD
and early packet discard EPD. Partial packet discard can be applied when the discarded cell is not the first cell of an AAL 5 frame. In this case,
all subsequent cells belonging to the same AAL 5 frame are discarded except the last cell. This cell has to be kept so that the destination can determine the end of the AAL 5
frame. Early packet discard can be applied when the discarded cell is the first cell of an AAL 5 frame. In this case, all cells belonging to the same frame, including the last one,
are discarded.
4.8 REACTIVE CONGESTION CONTROL
Reactive congestion control is based on a different philosophy to the one used in preven- tive congestion control. In preventive congestion control we attempt to prevent congestion
from occurring. This is done by first reserving bandwidth for a connection on each switch along the connection’s path, and subsequently policing the amount of traffic transmit-
ted on the connection. In reactive congestion control, at least in its ideal form, we let sources transmit without bandwidth reservation and policing, and we take action only
when congestion occurs. The network is continuously monitored for congestion. If con- gestion begins to build up, a feedback message is sent back to each source requesting
them to slow down or even stop. Subsequent feedback messages permit the sources to increase their transmission rates. Typically, congestion is measured by the occupancy level
of critical buffers within an ATM switch, such as the output port buffers in a non-blocking switch with output buffering.
The available bit rate ABR service, described below, is the only standardized ATM service category that uses a reactive congestion control scheme.
4.8.1 The Available Bit Rate ABR Service
This is a feedback-based mechanism whereby the sending end device is allowed to transmit more during the time that there is a slack in the network. At connection setup time, the
sending end device requests a minimum cell rate MCR. It also specifies a maximum cell rate
, which is its PCR. The network accepts the new connection if it can satisfy the requested MCR note that the MCR might be 0. If the network has a slack capacity, then
the source transmission rate might exceed the requested MCR. When congestion begins to build up in the network, the sending end device is requested to decrease its transmission
rate. However, its transmission rate will never drop below its MCR. The ABR service is not intended to support real-time applications.
It is expected that the sending end device is capable of increasing or decreasing its transmission rate according to the feedback messages it receives from the network. Also,
it is expected that the sending end device that conforms to the feedback messages received by the network, will experience a low cell loss rate and it will obtain a fair share of the
available bandwidth within the network.
The control mechanism through which the network can inform the source to change its transmission rate is implemented using resource management RM cells. These are ATM
REACTIVE CONGESTION CONTROL 107
RM RM
Switch Dest
RM RM
Nrm cells
Source
. . . RM
RM ---
--- RM
Switch
Figure 4.18 The ABR mechanism.
cells whose payload type indicator PTI is set to 110 see Table 3.2. The transmitting end device generates forward RM cells, which travel through the network to the receiver
following the same path as its data cells see Figure 4.18. The receiver turns around these RM cells and transmits them back to the sending end device as backward RM cells. These
backward RM cells follow the opposite path to the sending end device. Recall that point- to-point connections are bidirectional. ATM switches along the path of the connection
might insert feedback control information in the RM cells; the sending end device uses this information for managing i.e. increasing or decreasing its transmission rate. Thus,
a closed control loop is formed between the sending end device and its destination end device. This closed loop is used to regulate the transmission rate of the sending end device.
A similar loop can be set up to regulate the transmission rate of the destination end device.
Because a link might be used as temporary storage for a large number of cells, feedback messages might be ineffective when dealing with a link that has a long propagation delay.
For example, consider a link that is 125 miles long connecting an end device to a switch, and let us assume that the end device transmits at 622 Mbps. This transmission speed
translates to about 1462 cells per msec. Since light propagates through a fiber link at approximately 125 miles per msec, a maximum of 1462 cells can be propagated along
the link at any given time. Now assume that at time t, the switch sends a message to the end device requesting it to stop transmitting. By the time the end device receives the
message, the switch is likely to receive a maximum of 2 × 1462 cells. Of these cells, a maximum of 1462 cells can be already in flight at time t, and another maximum of 1462
cells can be transmitted by the time the end device receives the message. In order to account for large propagation delays, manufacturers have introduced large buffers in their
switch architectures. In addition, several feedback loops can be set up see Figure 4.19, to try reducing the length of the control loop.
The ABR service does not include a formal conformance definition. However, verifi- cation that the source complies can be done using a dynamic GCRA, where the monitored
transmission rate is modified based on the receipt of backwards RM cells.
RM cell structure The RM cell’s payload contains a number of different fields. Below, we describe some
of these fields. •
Message type field : This is a 1-byte field and it contains the following 1-bit subfields:
1. DIR: This bit indicates the direction of the RM cell i.e., whether it is a forward or a backward RM-cell.
108 CONGESTION CONTROL IN ATM NETWORKS
Source Source
Segmented control loops end-to-end feedback loop
Figure 4.19 Feedback loops.
2. BN: This bit indicates whether the RM cell is a backward explicit congestion notification BECN
cell. As will be seen later on, an ATM switch or the destination end device might independently generate a backward RM cell in order to notify
the sending end device, instead of having to wait for an RM cell generated by the sending end device to come by. This RM cell has its BN bit set to 1. RM cells
generated by the source have their BN field set to 0.
3. CI: This congestion indication bit is used to by an ATM switch or the destination end device, to indicate to the sending end device that congestion has occurred in
the network. 4. NI: A no increase indicator, used to prevent the sending end device from increasing
its allowed cell rate ACR, which is its current transmission rate. •
Explicit rate ER : This is a 2-byte field. It is used to carry the explicit rate that is
calculated by an ATM switch along the path. It is also used to limit the sending end device’s transmission rate. If another ATM switch calculates an ER that is lower than
the one indicated in the ER field of the RM cell, then it can reduce the ER variable. •
Current cell rate CCR : A 2-byte field used by the sending end device to indicate its
ACR i.e. its current transmission rate. •
Minimum cell rate MCR : This the minimum cell rate that the connection has requested
and the network has agreed to guarantee. The ABR mechanism
The source sends an RM cell every Nrm-1 data cells. The defaulted value for Nrm is 32. The RM cells and data cells might traverse a number of switches before they
reach their destination end device. The destination turns around the RM cells, making them into backward RM cells, and transmits them back to the sending end device. Each
switch writes information about its congestion status onto the backward RM cells, which eventually reach the sending end device. The feedback information send to the source
depends on the mode of the ABR scheme. There are two modes: the binary mode and the explicit rate mode.
In the binary mode, the switch marks the EFCN bit in the header of the data cells to indicate pending congestion. Recall that the EFCN bit is one of the three bits defined
in the payload type indicator of the cell header. The destination translates the EFCN information into bits such as the CI or NI, which are marked in the corresponding
backward RM cell. The source receives the backward RM cell and then determines what to do with the transmission rate: increase it, decrease it, or leave it as-is. This mode is used
to provide backward compatibility with ATM switches that conformed to earlier standards.
REACTIVE CONGESTION CONTROL 109
In the explicit rate mode, a switch computes a local fair share for the connection and marks the rate at which the source is allowed to transmit in the ER field of the backward
RM cell. The switch does that only if the bandwidth it can offer to the connection is lower than what it is already marked in the backwards RM cell. The source, upon receipt
of the backward RM cell, extracts the ER field and sets its transmission rate to the ER value. When detecting congestion, a switch can generate a backwards RM cell in
order to convey the congestion status, without having to wait for a backwards RM cell to arrive.
Source behavior The source is responsible for inserting an RM cell every Nrm-1 data cells. These RM
cells are part of the source’s allowed cell rate ACR. If the source does not have enough data cells to send, an RM cell is generated after a timer has expired and Mrm data cells
have been transmitted. Mrm is fixed to 2. The data cells are sent with EFCN = 0.
The source adjusts its ACR according to the information received in an RM cell. ACR is greater than or equal to MCR and less than or equal to PCR. The ACR is adjusted
as follows: a. If CI = 1, then the ACR is reduced by at least ACR × RDF , where RDF is a prespec-
ified rate decrease factor. If the reduction results to a value below the MCR, then the ACR is set equal to the MCR.
b. If the backward RM cell has both CI = 0 and NI = 0, then the ACR can be increased by no more than RIF × PCR, where RIF is a prespecified rate increase factor. The
resulting ACR should not exceed the source’s PCR. c. If the backward RM cell has NI = 1, then the ACR is not increased.
After ACR has been adjusted as above, it is set to at most the minimum of ACR as computed above and to the ER field, but no lower than MCR.
Destination behavior When a data cell is received, its EFCN is saved in the EFCN status of the connection.
Upon receiving a forward RM cell, the destination turns around the cell and transmits it back to the source. The DIR bit is changed from forward to backward; the BN = 0; and
the fields CCR, MCR, ER, CI, and NI in the RM cell remain unchanged, except in the following cases:
a. If the saved EFCN status of the connection is set, then the destination sets CI = 1 in the RM cell, and resets the EFCN state.
b. If the destination is experiencing internal congestion, then it can reduce the ER to whatever rate it can support and set it to either CI = 1 or NI = 1.
The destination can also generate a new backward RM cell, with CI = 1 or NI = 1, DIR = 1, and BN = 1. This permits the destination to send feedback information to the
source without having to wait for a source-generated RM cell to come by. The rate of these backwards RM cells is limited to 10 cellssec.