ATM Adaptation Layer 5: Difference between revisions

Content deleted Content added
Undid revision 1230187928 by WOSlinker (talk): Only the first instance should be linked, per MOS:DUPLINK.
Tags: Undo nowiki added
 
(85 intermediate revisions by 39 users not shown)
Line 1:
{{No footnotes|date=July 2021}}
{{wikify}}
== '''ATM Adaptation Layer 5''' ==
Computers use ''ATM Adaptation Layer 5'' (AAL5) to send data across an ATM network. Interestingly, although ATM uses small fixed-size cells, at the lowest level, AAL5 presents an interface that accepts and delivers large, variable-length packets. Thus, the interface computers use to send data makes ATM appear much like a connectionless technology. In particular, AAL5 allows each packet to contain between 1 and 65,535 octets of data.
 
'''ATM Adaptation Layer 5''' ('''AAL5''') is an [[ATM adaptation layer]] used to send variable-length [[Packet (information technology)|packets]] up to 65,535 [[Octet (computing)|octets]] in size across an [[Asynchronous Transfer Mode]] (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)'' used as a frame checksum, and two 8-bit fields labeled ''UU'' and ''CPI'' that are currently unused.
 
Unlike most network frames, thatwhich place control information in the [[Header (computing)|header]], AAL5 places control information in an 8-octet [[Trailer (information technology)|trailer]] at the end of the packet. The AAL5 trailer contains a 16-bit length [[Field (computer science)|field]], a 32-bit [[cyclic redundancy check]] ''(CRC)'' used as a frame checksum, and two 8-bit fields labeled ''UU'' and ''CPI'' that are currently unused.
Each AAL5 packet must be divided into cells for transport across an ATM network, and then must be recombined to form a packet before being delivered to the receiving host. If the packet, including the 8-octet trailer, is an exact multiple of 48 octets, AAL5 allows the final cell to contain between 0 and 40 octets of data, followed by zero padding, followed by the 8-bit trailer. In other words, AAL5 places the trailer in the last 8 octets of the final cell, where it can be found and extracted without knowing the length of the packet.
 
Each AAL5 packet must beis divided into cellsan forintegral transportnumber across anof ATM network,cells and thenreassembled must be recombined to forminto a packet before being delivereddelivery to the receiving [[host (network)|host]]. This Ifprocess theis packet,known includingas [[Segmentation and Reassembly]] (see below). The last cell contains padding to ensure that the 8-octetentire trailer,packet is an exacta multiple of 48 octets, AAL5long. allows theThe final cell tocontains containup between 0 andto 40 octets of data, followed by zero padding, followedbytes byand the 8-bitoctet trailer. In other words, AAL5 places the trailer in the last 8 octets of the final cell, where it can be found and extracted 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.
 
== '''AAL5 Convergence, Segmentationsegmentation, and Reassembly''' reassembly==
When andan [[Application software|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 arrivesarrived 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 layteringlayering 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 doesThe AAL5 on the receiving side knowknows how many cells comprise a packet? because Thethe 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. This Onefinal cell header can thinkbe thought 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.
 
==Packet type and multiplexing==
To summarize:
The AAL5 trailer does not include a ''type'' field. Thus, an AAL5 frame does not identify its content. This means that either the two hosts at the ends of a virtual circuit must agree ''a priori'' that the circuit will be used for one specific [[protocol (computing)|protocol]] (e.g. the circuit will only be used to send IP datagrams), or the two hosts at the ends of a virtual circuit must 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.
''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.''
 
{{IETF RFC|2684}}, [[Multiprotocol Encapsulation over ATM]], describes two encapsulation mechanisms for network traffic, one of which implements the former scheme and one of which implements the latter scheme.
 
The former scheme, in which the computershosts agree on the high-level protocol for a given circuit, is referred to in RFC <nowiki /> 2684 as "[[Virtual Circuit Multiplexing|VC Multiplexing]]". It has the advantage of not requiring additional information in a packet, which minimises the overhead. For example, if the computershosts 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 computerhost 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 unncessaryunnecessary cost.
== '''Datagram Encapsulation and IP MTU size''' ==
We said that 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 of corrupted, extracts the datagram, and passes it to IP.
 
The latter scheme, in which twothe computershosts use a single virtual circuit for multiple protocols, is referred to in RFC <nowiki/> 2684 as "LLC Encapsulation". The standards suggest that hosts should use a standard [[IEEE 802.2]] ''[[Logical Link Control]]'' (LLC) header, followed by a ''[[Subnetwork Access Protocol]]'' (SNAP) header if necessary. This scheme 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.
In reality, AAL5 uses a 16-bit length field, making it possible to send 64K octets in a single packet. Despite the capabilities of AAL5, TCP/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:
 
RFC <nowiki/> 2684 specifies that hosts 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.
''When TCP/IP sends 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 TCP/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.''
 
== '''PacketDatagram Typeencapsulation and Multiplexing'''IP MTU size==
We[[Internet saidProtocol|Internet thatProtocol (IP)]] usescan use AAL5, combined with one of the encapsulation schemes described in RFC 2684, to transfer datagrams across an ATM network, as specified in {{IETF RFC|2225}}. Before data can be sent, a [[virtual circuit]] (PVC or SVC) must be in place to the destination computerhost 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 ofor corrupted, extracts the datagram, and passes it to the IP layer.
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 VC. (e.g., packets other then IP). Two possibilities exist:
 
== References ==
*The two computers at the ends of a virtual circuit agree ''a priori'' that the circuit will be used for a specific protocol (e.g., the circuit will only be used to send IP datagrams).
* {{cite tech report |title=B-ISDN ATM Adaptation Layer specification: Type 5 AAL |url=http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-I.363.5-199608-I!!PDF-E&type=items |format=PDF |institution=[[ITU-T]] |number=I.363.5 |date=August 1996 |access-date=2023-04-17 }}
 
*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.
 
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. 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. Because most carriers charge for each virtual circuit, customers try to avoid using multiple circuits because it adds unncessary 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. The scheme also has the disadvantage that packets from all protocols travel with the same delay and priority.
 
The TCP/IP stndards 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 Attachment Point (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 Identifer (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.
 
[[Category:Asynchronous Transfer Mode]]
[[Category:Network protocols]]