Following digram of E-UTRAN Protocol layers depicts data flow through various layers:
Packets received by a layer are called Service Data Unit (SDU) while the packet output of a layer is referred to by Protocol Data Unit (PDU). Let's see the flow of data from top to bottom:
IP Layer submits PDCP SDUs (IP Packets) to the PDCP layer. PDCP layer does header compression and adds PDCP header to these PDCP SDUs. PDCP Layer submits PDCP PDUs (RLC SDUs) to RLC layer.
PDCP Header Compression: PDCP removes IP header (Minimum 20 bytes) from PDU, and adds Token of 1-4 bytes. Which provides a tremendous savings in the amount of header that would otherwise have to go over the air.
RLC layer does segmentation of these SDUS to make the RLC PDUs. RLC adds header based on RLC mode of operation. RLC submits these RLC PDUs (MAC SDUs) to the MAC layer.
RLC Segmentation: If an RLC SDU is large, or the available radio data rate is low (resulting in small transport blocks), the RLC SDU may be split among several RLC PDUs. If the RLC SDU is small, or the available radio data rate is high, several RLC SDUs may be packed into a single PDU.
MAC layer adds header and does padding to fit this MAC SDU in TTI. MAC layer submits MAC PDU to physical layer for transmitting it onto physical channels.
Physical channel transmits this data into slots of sub frame.