ATM is designed for switching short fixed length packets in hardware over Gigabit/sec links across very large distances. Thus its place in the protocol stack concept is somewhere around the data link layer. However it does not cleanly fit in to the abstract layered model, because within the ATM network itself, end-to-end connection, flow control, and routing are all done at the ATM cell level. So there are a few aspects of traditional higher layer functions present in it. In the OSI reference model, it would be considered layer 2 (where layer 1 is the physical layer and layer 2 is the datalink layer in the internet protocol stack). But it is not very important to assign a clean layer name to ATM, so long as it is recognized that it is a hardware implemented packet switched protocol using 53 byte fixed length packets.
What is perhaps more relevant is how will all this interact with current TCP/IP and IP networks in general, and with applications which want to talk ATM directly in particular. A convenient model for an ATM interface is to consider it another communications port in the system. Thus from a system software point of view, it can be treated like any other data link layer port. Thus for instance, in IP networks connected via gateways to ATM backbones, the model would be no different then it presently is for a virtual circuit connection carried over an STM link except that an IP packet over an ATM network would get fragmented into cells at the transmitting UNI, and reassembled into the IP packet at the destination UNI. Thus a typical protocol stack might look like this:
--------------------
Data
--------------------
TCP
--------------------
IP
--------------------
ATM Adaptation Layer
--------------------
ATM Datalink layer
--------------------
Physical Layer (SONET STS-3c STS-12 STS-48)
--------------------
Thus, just like an ethernet port on a host is assigned an IP address, the ATM port may also be assigned an IP address. Thus the IP software in a router decides which port to send a packet to based on the IP address, and hands the packet to the port. The port then does the right thing with it. For an ethernet port, the ethernet header is tacked on and the Frame transmitted in ethernet style. Similarly, for an ATM port, the IP datagram is fragmented into cells for which an ATM adaptation layer is specified in the standards. The fragmentation and reassembly is done in hardware on the sending and receiving sides. A VCI label acquired via an initial one time connection establishment phase, is placed in the header of each cell, and the cells are drained down the fat ATM datalink layer pipe. On the receiving side, the cells are reassembled in hardware using the ATM adaptation layer, and the original datagram is restored.