The OSI data link layer deals with framing and transfer protocols between two machines on the same physical wire (or fiber). Data link protocols are single-hop protocols. They do not deal with end-to-end connections because switching and routing do not occur in the data link layer.
The lowest layer that goes from source to destination, and thus involves routing and switching (i.e., is multihop), is the network layer. The ATM layer deals with moving cells from source to destination and definitely involves routing algorithms and protocols within the ATM switches.
The ATM layer is connection oriented, both in terms of the service it offers and the way it operate internally. The basic element of the ATM layer is the virtual circuit(Officially called a virtual channel). A virtual circuit is normally a connection from one source to one destination. Virtual circuits are unidirectional, but a pair of circuits can be created at the same time. Both parts of the pair are addressed by the same identifier, so effectively a virtual circuit is FULL DUPLEX.
The ATM layer does not provide any acknowledgements, it leaves error control to higher layers. The reason for this design is that ATM was designed for use on fiber optics networks, which are highly reliable. furthermore, ATM networks are often used for real-time traffic, such as audio and video. Despite its lack of acknowledgement, the ATM layer does provide on hard guarantee: cells sent along a virtual circuit will never arrive out of order.
The ATM layer supports a two-level connection hierarchy that is visible to the transport layer. Along any transmission path from a given source to a given destination, a group of virtual circuits can be grouped together into what is called a virtual path (Fig. 5-61). Conceptually, a virtual path is like a bundle of twisted copper pairs: when it is rerouted, all the pairs (virtual circuits) are rerouted together.
Fig. 5-61. A transmission path can hold multiple virtual paths, each of which can hold multiple virtual circuits.
- UNI (User-Network Interface) - defines the boundary between a host and an ATM network.
- NNI (Network-Network Interface) - applies to the line between two ATM switches (ATM switch is the ATM term for router).
Fig. 5-62. (a) The ATM layer header at the UNI. (b) The ATM layer header at the NNI.
- VPI (Virtual Path Identifier) - occupies bits 0 - 11. This field contains an integer selecting a particular virtual path. In cells between a host and a network (UNI), VPI occupies in fact just bits 4 - 11, bits 0 - 3 are called GFC (General Flow Control) field. But this field has no significance and the network ignores it. It was originally conceived as perhaps having some utility for flow control or priority between hosts and networks.
- VCI (Virtual Channel Identification) - occupies bits 12 - 27. This field selects a particular virtual circuit within the chosen virtual path.
- PTI (Payload Type) - occupies bits 28 – 30 i.e., 3 bits, specifying different types of payload that is carried in the cell. See Figure 5-63 on page 452. First bit 0 indicates user information (from higher layer), first bit 1 means control information. In this case, the second bit indicates congestion, 0 no congestion, 1 congestion experienced. The third bit in user data cell is used to indicate whether or not this cell is the last of a sequence of cells that belong to the same packet. If it is 0, more cells of the same packet are coming. if it is 1, this cell is the last one in this packet.
Fig. 5-63. Values of the PTI field.
- CLP (Cell Loss Priority) - occupies bit 31. This bit is set by a host to differentiate between high-priority traffic and low-priority traffic. If congestion occurs and cells must be discarded, switches first attempt to discard cells with CLP set to 1 before throwing out any set to 0.
- HEC (Header Error Check) - occupies bits 32 - 39. This field is a checksum over the header. It does not check the payload. The chosen code can correct all single-bit errors and detect about 90% of all multibit errors. Various studies have shown that the vast majority of errors on optical links are single-bit errors.
So the NNI format is the same as the UNI format, except that the GFC field is not present and those 4 bits are used to make VPI field 12 bits instead of 8.
We will describe how switched virtual circuits are established.
Technically, connection setup is not part of the ATM layer but is handled by the control plane.
several ways are provided for setting up a connection. The normal way is to first acquire a virtual circuit for signaling and use it.
Virtual circuit establishment uses the six message types (Fig. 5-64). Each message occupies one or more cells and contains the message type, length, and parameters. The messages can be sent by a host to the network or by the network to a host. Various other status and reporting messages also exist but are not mentioned here.
Fig. 5-64. Messages used for connection establishment and release.
The normal procedure for establishing a call is for a host to send a SETUP message on a special virtual circuit. The network then responds with CALL PROCEEDING to acknowledge receipt of the request. As the SETUP message propagates toward the destination, it is acknowledged at each hop by CALL PROCEEDING.
When the SETUP message finally arrives, the destination host can respond with CONNECT to accept the call. The network then sends a CONNECT ACK message to indicate that it has received the CONNECT message. As the CONNECT message propagates back toward the originator, each switch receiving it acknowledges it with a CONNECT ACK message (Fig. 5-65).
When a host wants to terminate a virtual circuit, it just sends a RELEASE message that propagates to the other end and causes the circuit to be released. Each hop along the way, the message is acknowledged (Fig. 5-65).
Fig. 5-65. (a) Connection setup in an ATM network. (b) Connection release.
ATM networks allow multicast channels to be set up. A multicast channel has one sender and more than one receiver. These are constructed by setting up a connection to one of the destinations in the usual way. Then ADD PARTY message is sent to attach a second destination to the virtual circuit returned by the previous call. Additional ADD PARTY messages can be sent afterwards to increase the size of the multicast group.
Each SETUP message must specify an address of the destination. ATM addresses come in three forms.
The first is 20 bytes long and is based on OSI addresses. The first byte indicates which of the three formats the address is in. In the first format, bytes 2 and 3 specify a country, and byte 4 gives the format of the rest of the address, which contains a 3-byte authority, a 2-byte domain, a 2-byte area, and a 6-byte address, plus some other items. In the second format, bytes 2 and 3 designate an international organization instead of a country. The rest of the address is the same as in format 1. Alternatively, an older form of addressing using 15-digit decimal ISDN telephone number is also permitted.