ATM Adaptation Layers 3/4 and 5

IP Datagram with 40 byte header and 560
  byte payload

Suppose we have an IP datagram that we'd like to send across an ATM network. Suppose the size of the datagram is 600B. This won't fit in an ATM cell, so we'll need to find a way to split it across cells.



AAL 3/4 CS-PDU

The IP datagram in an AAL3/4 CS-PDU

AAL3/4 will place 44B of the datagram in each of a number of ATM cells, meaning that this 600B datagram will occupy 14 cells. First, the AAL places the datagram in AAL3/4 convergence sublayer protocol data units (CS-PDUs). The CS-PDU will contain 4B of CS-PDU header followed by 600B of user data, 0-24b (0-3B) of pad, and then another 4B of trailer (see figure 3.18, p. 201). How many bytes of pad? The Btag must start on a 4B boundary. User data ends at byte 604 and the zero byte brings us to 605. The next number divisible by 4 is 608, so we need 3B of pad in this example.

Thus the total length of the CS-PDU is 4B + 600B + 3B + 4B = 611B.



AAL 3/4 In ATM Cells

AAL3/4 CS-PDUs are inserted into ATM cells as shown in figure 3.19, p. 202. This means that most (usually) ATM cells will contain 44B each of the CS-PDU. 611 ÷ 44 = 13 with a remainder of 39. So, we'll have 13 full ATM cells, followed by one that has just 39B of the CS-PDU.

AAL3/4 in ATM Cell

The first cell has AAL3/4 type 10 (BOM), and as payload all 4B of the CS-PDU header followed by the first 40B of the IP datagram which, coincidentally is the IP header. The length field is 44.

The next 12 cells each are of type 00 (COM) and contain 44B of the IP payload. Each length field is 44.

The 14th and last cell is of type 01 (EOM) and has length 39. It contains the last 36B of IP data, the zero byte, and the CS-PDU trailer (length = 600B and CRC). Don't be confused be the mention of two length fields. One is in the AAL3/4 header contained in the ATM cell, and the other is in the AAL3/4 CS-PDU.



AAL 5 CS-PDU

AAL 5 CS-PDU

Overall, AAL5 isn't just more efficient than AAL5, it's simpler as well. The AAL 5 CS-PDU starts with the payload, which in this case is the 600B IP datagram. This is followed by padding, the size of which we'll figure out momentarily. After the pad comes the 8B trailer, which includes a length field and a CRC. See figure 3.21, p. 204 of the text for details.



AAL 5 in ATM Cells

AAL 5 CS-PDU

We pack each ATM cell with 48B from the AAL 5 CS-PDU. With a CS-PDU of length 608B plus padding, this will be 608 ÷ 48 = 12 2/3 cells, which is really 12 fully-utilized cells and then one that has CS-PDU data, padding, and trailer. The last cell has 600 - (12 × 48) = 24B of data from the layer above, padding, and trailer. How much padding? The cell size is fixed at 53B. So the 48B payload will contain 24B of data, 8B of trailer, and 48-(24+8) = 16B of padding.



Discussion

Both the text and the lecture notes claim that AAL5 is more efficient than AAL3/4. How much of a difference does that make in this example? The AAL3/4 example requires 14 cells, but the AAL5 example requires "only" 13. So, AAL3/4 uses 53B × 14 = 742B to transfer 600B of payload (ignoring the IP header and any other headers, trailers, etc. in the IP datagram's payload). This is 100 × 600 ÷ 742 = 80.1% efficiency. In this example AAL5 uses 53B × 13 = 689B to transfer 600B of payload, or 87.1% efficiency.


From here one can go

, Jeff Martens