THE ATM PROTOCOL STACK

56 ATM NETWORKS Cell switching Switching of cells in an ATM network is done at the ATM layer. For an example of the ATM stacks that are used when two end devices communicate with each other, see Figure 3.7. Both end devices run the complete ATM stack: the physical layer, the ATM layer, the AAL, and the application layer. The ATM switches only need the physical layer and the ATM layer in order to switch cells. No error and flow control In the OSI model, the data link layer provides error and flow control on each hop using the ARQ mechanism. In ATM networks, there is neither error control nor flow control between two adjacent ATM switches that are connected with a point-to-point link. If a cell arrives at an ATM switch when the switch is experiencing congestion, then the cell is simply lost, or perhaps is delivered to a destination end device with an erro- neous payload. Because of the high reliability of fiber-based transmission links, the probability that a cell is delivered to the destination end device with an erroneous payload is extremely small. Typically, the probability that a bit will be received wrongly is less than 10 − 8 . So, if we assume that bit errors occur independently of each other, then the probability that the payload of an ATM cell which consists of 48 bytes or 384 bits will not contain errors is 1 − 10 − 8 384 . Therefore, the probability that it will contain one or more erroneous bits is 1 - 1 − 10 − 8 384 , which is very low. The cell loss rate is a QoS parameter that can be negotiated between the end device and the ATM network at setup time. Different applications tolerate different cell loss rates. For instance, video and voice are less sensitive to cell loss than is a file transfer. Cell loss rates typically vary from 10 − 3 to 10 − 6 . The ATM network guarantees the negotiated cell loss rate for each connection. In the ATM standards, there is a mechanism for recovering lost cells or cells delivered with erroneous payload. However, it is only used to support the ATM signaling protocols see SSCOP in Chapter 5. The recovery of the data carried by lost or corrupted cells is expected to be carried out by a higher-level protocol, such as TCP. Depending upon the application that created the data, there might not be enough time to recover lost cells. Also, it might be deemed unnecessary to recover lost cells, such as when transmitting video over ATM. When TCPIP runs over ATM, the loss or corruption of the payload of a single cell results in the retransmission of an entire TCP PDU. In order to clarify this point, let us Application AAL ATM Physical End device Application AAL ATM Physical End device ATM Physical ATM switch ATM Physical ATM switch Figure 3.7 Cell switching in an ATM network. THE ATM LAYER 57 assume that we want to send a single TCP PDU over an ATM network. This PDU will be encapsulated by IP and it will be passed on to the ATM network. For simplicity, we assume no fragmentation of the IP PDU. As will be seen in Section 3.7, the ATM adaptation layer will break the IP PDU into small segments, and each segment will be placed in the payload of an ATM cell. Let us assume that the IP PDU will be carried in n ATM cells. When these n cells arrive at the destination, their payloads will be extracted and the original IP PDU will be reconstructed, from which the TCP PDU will be extracted. Assume that one of these n cells is either lost or its payload is corrupted. If this causes the IP header to get corrupted, then IP will drop the PDU. TCP will eventually detect that the PDU is missing and it will request its retransmission. On the other hand, if the cell in question causes the TCP PDU to get corrupted, then TCP will again detect it and it will request its retransmission. In either case, the loss of a cell or the corruption of the payload of a cell will cause the entire PDU to be retransmitted. Since this is not expected to happen very often, it should not affect the performance of the network. Addressing Each ATM end device and ATM switch has a unique ATM address. Private and public networks use different ATM addresses; public networks use E.164 addresses and private networks use the OSI NSAP format. Details on ATM addresses are given in Section 5.5. ATM addresses are different from IP addresses. Therefore, when running IP over ATM, IP addresses must be translated into ATM addresses, and vice versa see Section 3.8 below. Quality of service QoS Each ATM connection is associated with a QoS category. Six different categories are provided by the ATM layer: constant bit rate CBR, real-time variable bit rate RT-VBR, non-real-time variable bit rate NRT-VBR, available bit rate ABR, unspecified bit rate UBR , and guaranteed frame rate GFR. The CBR category is intended for real-time applications that transmit at a constant rate, such as circuit emulation. The RT-VBR category is intended for real-time applications that transmit at a variable rate, such as encoded video and voice. The NRT-VBR category is for delay-sensitive applications that transmit at a variable rate but that do not have real-time constraints. For example, when frame relay is carried over an ATM network, it can use this category. The UBR category is intended for delay-tolerant applications, such as those running on top of TCPIP. The ABR category is intended for applications that can vary their transmission rate according to how much slack capacity there is in the network. Finally, the GFR category is intended to support non-real-time applications that might require a minimum guaranteed rate. Each QoS category is associated with a set of traffic parameters and a set of QoS parameters. The traffic parameters are used to characterize the traffic transmitted over a connection, and the QoS parameters are used to specify the cell loss rate and the end- to-end delay required by a connection. The ATM network guarantees the negotiated QoS for each connection. QoS for ATM networks is discussed more in Chapter 4. Congestion control In ATM networks, congestion control permits the network operator to carry as much traffic as possible without affecting the QoS requested by the users. Congestion control can be