ATM Adaptation Layer 5

From Wikipedia, the free encyclopedia


Computers use ATM Adaptation Layer 5 (AAL5) to send variable-length packets up to 65,535 octets in size across an ATM network.

Unlike most network frames that place control information in the header, AAL5 places control information in an 8-octet trailer at the end of the packet. The AAL5 trailer contains a 16-bit length field, a 32-bit cyclic redundancy check (CRC) and two 8-bit fields labeled UU and CPI that are currently unused.

Each AAL5 packet is divided into an integral number of ATM cells and reassembled into a packet before delivery to the receiving host. The last cell contains padding to ensure that the entire packet is a multiple of 48 octets long. The final cell contains up to 40 octets of data, followed by padding bytes and the 8-octet trailer. In other words, AAL5 places the trailer in the last 8 octets of the final cell where it can be found without knowing the length of the packet; the final cell is identified by a bit in the ATM header (see below), and the trailer is always in the last 8 octets of that cell.

[edit] AAL5 Convergence, Segmentation, and Reassembly

When an application sends data over an ATM connection using AAL5, the host delivers a block of data to the AAL5 interface. AAL5 generates a trailer, divides the information into 48-octet pieces, and transfers each piece across the ATM network in a single cell. On the receiving end of the connection, AAL5 reassembles incoming cells into a packet, checks the CRC to ensure that all pieces arrived correctly, and passes the resulting block of data to the host software. The process of dividing a block of data into cells and regrouping them is known as ATM segmentation and reassembly (SAR).

By separating the functions of segmentation and reassembly from cell transport, AAL5 follows the layering principle. The ATM cell transfer layer is classified as machine-to-machine because the layering principle applies from one machine to the next (e.g., between a host and a switch or between two switches). The AAL5 layer is classified as end-to-end because the layering principle applies from the source to the destination - AAL5 presents the receiving software with data in exactly the same size blocks as the application passed to the AAL5 on the sending end.

How does AAL5 on the receiving side know how many cells comprise a packet? The sending AAL5 uses the low-order bit of the PAYLOAD TYPE field of the ATM cell header to mark the final cell in a packet. One can think of it as an end-to-end bit. Thus, the receiving AAL5 collects incoming cells until it finds one with an end-of-packet bit set. ATM standards use the term convergence to describe mechanisms that recognize the end of a packet. Although AAL5 uses a single bit in the cell header for convergence, other ATM adaptation layer protocols are free to use other convergence mechanisms.

To summarize: A computer uses ATM Adaptation Layer 5 to transfer a large block of data over an ATM virtual circuit. On the sending host, AAL5 generates a trailer, segments the block of data into cells, and transmits each cell over the virtual circuit. On the receiving host, AAL5 reassembles the cells to reproduce the original block of data, strips off the trailer, and delivers the block of data to the receiving host software. A single bit in the cell header marks the final cell of a given data block.

[edit] Datagram Encapsulation and IP MTU size

Internet Protocol (IP) uses AAL5 to transfer datagrams across an ATM network. Before data can be sent, a virtual circuit (PVC or SVC) must be in place to the destination computer and both ends must agree to use AAL5 on the circuit. To transfer a datagram, the sender passes it to AAL5 along with the VPI/VCI identifying the circuit. AAL5 generates a trailer, divides the datagram into cells, and transfers the cells across the network. At the receiving end, AAL5 reassembles the cells, checks the CRC to verify that no bits were lost or corrupted, extracts the datagram, and passes it to the IP layer.

In reality, AAL5 uses a 16-bit length field, making it possible to send 65,535 (2^16-1) octets in a single packet. Despite the capabilities of AAL5, IP restricts the size of the datagrams that can be sent over ATM. The standards impose a default of 9180 octets per datagram. Thus, AAL5 accepts, transfers, and delivers datagrams of 9180 octets or less. To summarize:

When IP is used to send data across an ATM network, it transfers an entire datagram using ATM Adaptation Layer 5. Although AAL5 can accept and transfer packets that contain up to 64K octets, the IP standards specify a default MTU of 9180 octets or less. IP must fragment any datagram larger than 9180 octets before passing it to AAL5.

[edit] Packet Type and Multiplexing

Observant readers will have noticed that the AAL5 trailer does not include a type field. Thus, an AAL5 frame is not self-identifying. As a result, the simplest form of encapsulation described above does not suffice if the two ends want to send more than one type of data across a single ATM connection (or virtual circuit). (e.g., packets defined by protocols other than IP, such as IPX, DECnet or Appletalk). Two possibilities exist:

  • The two computers at the ends of a virtual circuit agree a priori that the circuit will be used for one specific protocol (e.g., the circuit will only be used to send IP datagrams).
  • The two computers at the ends of a virtual circuit agree a priori that some octets of the data area will be reserved for use as a type field to distinguish packets containing one protocol's data from packets containing another protocol's data.

The former scheme, in which the computers agree on the high-level protocol for a given circuit, has the advantage of not requiring additional information in a packet, which minimises the overhead. For example, if the computers agree to transfer IP, a sender can pass each datagram directly to AAL5 to transfer, nothing needs to be sent besides the datagram and the AAL5 trailer. The chief disadvantage of such a scheme lies in duplication of virtual circuits: a computer must create a separate virtual circuit for each high-level protocol if more than one protocol is used. Because most carriers charge for each virtual circuit, customers try to avoid using multiple circuits because it adds unnecessary cost.

The latter scheme, in which two computers use a single virtual circuit for multiple protocols, has the advantage of allowing all traffic over the same circuit, but the disadvantage of requiring each packet to contain octets that identify the protocol type, which adds overhead. The scheme also has the disadvantage that packets from all protocols travel with the same delay and priority.

The IP standards specify that computers can choose between the two methods of using AAL5. Both the sender and receiver must agree on how the circuit will be used, the agreement may involve manual configuration. Furthermore, the standards suggest that when computers choose to include type information in the packet, they should use a standard IEEE 802.2 Logical Link Control (LLC) header followed by a Subnetwork Access Protocol (SNAP) header.

The LLC field consists of three octets that contain the hexadecimal values AA.AA.03. The SNAP header consists of five octets: three that contain an Organizationally Unique Identifier (OUI) and two for a type. Field OUI identifies the packet type. For an IP datagram, the OUI field contains 00.00.00 to identify the organization responsible for Ethernet standards, and the TYPE field contains 08.00, the value used when encapsulation IP in an Ethernet frame. Software on the sending host must prefix the LLC/SNAP header to each packet before sending it on to AAL5, and software on the receiving host must examine the header to determine how to handle the packet.

In other languages