Link Layer and App Layer Speeds


The throughput experienced at the application layer is always lower than the Link layer speed (which is in most cases advertised). The speeds published by the Network Service Providers is reduced because of number of factors.

For definition:

Link Layer Speed: is the throughput at the Link Layer. This is the rate with which a L2 packet is transferred between the corresponding L2 entities.
Application Layer Speed: is the speed experienced by the user. The rate at which the data useful to the application is transferred between the Application End points.

The extent of reduction in the Application layer speed depends upon:

  • IP and transport protocol overhead
  • UMTS Layer 2, Layer 3 Header overheads
  • Segmentation/Concatenation
  • Amount of Padding

The IP carries almost all of the data traffic and adds a IP header. The transport protocol adds another header and extra bytes to the data to be transmitted.

The UMTS architecture has multiple entities on the UE and network side interacting with each other. These require some control information in order to transfer data among each other.

The L2 (MAC) and L3(RLC) headers add to the over head. Next is the efficiency of the algorithm at MAC which packs the data in MAC PDUs. This algorithm should be smart enough to keep the amount of padding to a minimum.



The figure above shows the overhead added at each layer. Though not to scale, it highlights all the extra bytes that the MAC PDU is carrying for the Application data bytes that it is carrying.
Also, here it is assumed that the IP packet is transmitted as a whole, which is seldom the case. At most of the time, the IP packet might be segmented into RLC PDUs and then one RLC PDU segmented into MAC PDUs, depending on the TB size selected by MAC.

This overhead is even more pronounced when the MAC PDU size is small. Therefore it is important that RLC PDU size and the MAC PDU sizes be chosen in a way that the segmentation is minimized.

Lets take an example to see the magnitude of this overhead:
For a application using 384 kbps PS RAB


Higher layer
RAB/Signalling RB
RAB
RLC
Logical channel type
DTCH
RLC mode
AM
Payload sizes, bit
320
Max data rate, bps
384 000
AMD PDU header, bit
16
MAC
MAC header, bit
0
MAC multiplexing
N/A
Layer 1
TrCH type
DCH
TB sizes, bit
336
TFS
TF0, bits
0x336
TF1, bits
1x336
TF2, bits
2x336
TF3, bits
4x336
TF4, bits
8x336
TF5, bits
12x336
TF6, bits
N/A (alt. 16x336)
TF7, bits
N/A (alt. 20x336)
TF8, bits
N/A (alt. 24x336)
TTI, ms
10 (alt. 20)
Coding type
TC
CRC, bit
16
Max number of bits/TTI after channel coding
12 684 (alt. 25 368)
RM attribute
110 to 150


Lets assume for simplicity a 5 byte ping. Each ping packet will be carried in a IP packet with ICMP header and will be fit inside one Transport Block for carrying over the air. The application data transferred in each 336 bit of Transport Block is:

ping size = 5 * 8 = 40 bits

The header sizes are:

336 - 20*8(IP header) - 8*8(ICMP header) - 16 (MAC-header) - 16 (RLC AM header) - 40 (padding) = 40 bits.