MAC Layer Overview in LTE 4G
What the LTE MAC does: channel mapping, multiplexing, HARQ, scheduling info and random access.
The MAC (Medium Access Control) layer is the traffic cop of the LTE radio interface. Sitting between RLC and the physical layer, it decides what data goes out, when, and on which shared radio resources — packing several logical flows into one transport block every millisecond, retransmitting what the air corrupts, and telling the scheduler how much the UE has to send and how much power it has left. It is defined in TS 36.321.
Introduction
The LTE MAC is the lowest layer of Layer 2, sitting directly between RLC above and the physical layer below. It is the sublayer that turns "several kinds of data that want to send" into "one transport block on the shared radio, delivered reliably and on time," and it is specified in TS 36.321.
It is active whenever the UE is in RRC_CONNECTED and moving data, and its random-access machinery even runs from RRC_IDLE to bootstrap a connection. Every user-plane packet and every signalling message crosses the MAC on its way to and from the air: RLC hands it PDUs, the MAC multiplexes them into a transport block with any control elements, and the PHY carries it. Nothing reaches the radio without passing through here.
It matters because the air interface is a single shared, error-prone medium, and the MAC is where the hard real-time arbitration happens — which flow gets the grant, how corrupted blocks are retransmitted in milliseconds, how the uplink stays time-aligned, and how the UE sleeps to save battery. Understanding the MAC is understanding how LTE actually shares the radio.
On this page
- Why the MAC layer is needed
- What the LTE MAC layer actually does
- Logical and transport channels
- The MAC entity, transport blocks and RNTIs
- Where the MAC sits
- Multiplexing, the MAC PDU and HARQ
- Scheduling, random access, timing advance, DRX
- Carrier aggregation and SCell activation
- How LTE MAC differs from NR MAC
- Summary
Why the MAC Layer Is Needed
In plain words: the MAC is the dispatcher at a busy loading dock with a single truck leaving every minute. Many senders want their parcels on that truck; the dispatcher decides whose parcels go and in what order, labels each one, re-sends anything that arrives damaged, and tells senders to hold or hurry. LTE's single "truck per millisecond" is the transport block, and the MAC is that dispatcher.
The radio is one shared, error-prone medium and the physical layer sends exactly one transport block per direction each millisecond. That creates four problems that some layer must solve, and the MAC is the lowest layer that still reasons about which data goes out. It must decide how competing logical flows share that one block; it must correct air errors fast enough that TCP and voice do not stall; it must keep every UE's single-carrier uplink time-aligned at the eNB; and it must let an idle-ish UE stop listening to save battery. Everything below the MAC only knows how to code and modulate bits; everything above it thinks in streams and does not know or care about the shared radio. The MAC is the seam that reconciles the two.
What the LTE MAC layer actually does
Everything above the MAC thinks in terms of logical channels — streams of a particular kind of information (signalling on DCCH, user data on DTCH, paging on PCCH). Everything below the MAC thinks in terms of transport channels — chunks of bits the physical layer knows how to code and modulate (DL-SCH, UL-SCH, PCH, BCH, RACH). The MAC's core job is to bridge those two worlds and to arbitrate the one thing every UE in a cell must share: the radio.
A sublayer that maps logical channels to transport channels, multiplexes SDUs from several logical channels into one transport block, runs HARQ, and controls access to the shared channel via scheduling, BSR/PHR reporting, random access, timing-advance maintenance and DRX.
The air interface is one shared, error-prone medium. Something has to decide how competing flows share a transport block, retransmit corrupted data fast, keep the UE's uplink time-aligned, and let the UE sleep when idle. That "something" is the MAC — the lowest layer that still reasons about which data goes out.
A MAC entity receives grants from the eNB scheduler, runs LCP to fill the transport block, prepends MAC subheaders and any MAC CEs, hands the block to HARQ, and reports buffer/headroom status back up so the scheduler keeps feeding it.
The MAC offers data-transfer and radio-resource-allocation services to RLC above it, and uses the transport-channel services of the physical layer below. Its functions are best enumerated as a checklist, because in an LTE exam or design review you are expected to be able to name every one of them and say what it buys you.
| MAC function | What it means | Why it exists |
|---|---|---|
| Channel mapping | Maps logical channels onto transport channels (and back on receive). See Channel Mapping. | Bridges the "kind of data" view above with the "block of bits" view below. |
| Multiplexing / demultiplexing | Packs MAC SDUs from several logical channels into one transport block delivered to PHY each TTI; unpacks on receive. | Only one transport block goes out per TTI, so several flows must share it. |
Error correction — HARQ | Hybrid ARQ with soft-combining; parallel stop-and-wait processes per carrier. See HARQ. | Corrects air errors in a few ms, far faster than RLC ARQ. |
Priority handling — LCP | Logical Channel Prioritization: which logical channel's data fills the grant first, respecting PBR and priority. | Stops a greedy high-priority flow from starving a low-priority one. |
| Random access | Preamble transmission and the contention-resolution procedure. See Random Access. | The only way a UE with no grant and no timing alignment can reach the eNB. |
| Scheduling-information reporting | BSR (how much data is buffered), SR (a bare request for a grant) and PHR (power headroom). | The scheduler is blind without these; they close the uplink loop. |
| Timing-advance maintenance | Applies the Timing Advance Command and runs the timeAlignmentTimer to keep the uplink time-aligned. | Single-carrier uplink demands all UEs arrive time-aligned at the eNB. |
Discontinuous reception — DRX | Lets the UE stop monitoring PDCCH to save battery. See DRX. | Blind PDCCH monitoring every 1 ms would drain the battery. |
| SCell activation (LTE-A) | Activates/deactivates secondary carriers for carrier aggregation via a MAC CE. | Lets the network add bandwidth only when traffic warrants it. |
| Padding | Fills any leftover space in the transport block so it exactly matches the granted size. | The PHY needs an exact transport-block size, no more, no less. |
One-liner: the MAC turns "several logical streams that want to send" into "one transport block on shared radio, delivered reliably and on time." Mapping + multiplexing + HARQ + scheduling glue is the whole story.
Logical channels and transport channels
The two channel families are the vocabulary of the MAC, so it is worth pinning down exactly what each one is. A logical channel is defined by what it carries — the type of information — and lives at the RLC/MAC boundary. A transport channel is defined by how the information is carried over the air — the format, coding and delivery characteristics the physical layer applies — and lives at the MAC/PHY boundary. The MAC is precisely the layer where a logical channel is mapped onto a transport channel.
Logical channels split into control channels (carrying signalling from the control plane) and traffic channels (carrying user-plane data). The full LTE set, including the MBMS channels used for broadcast/multicast services, is below.
| Logical channel | Type | Direction | Carries |
|---|---|---|---|
BCCH (Broadcast Control Channel) | Control | DL | System information broadcast to all UEs in the cell (MIB via BCH, SIBs via DL-SCH). |
PCCH (Paging Control Channel) | Control | DL | Paging messages to reach idle UEs whose exact cell is unknown. |
CCCH (Common Control Channel) | Control | DL / UL | Signalling with UEs that have no RRC connection yet (e.g. during initial access). |
DCCH (Dedicated Control Channel) | Control | DL / UL | Point-to-point RRC and NAS signalling for a connected UE. |
DTCH (Dedicated Traffic Channel) | Traffic | DL / UL | Point-to-point user-plane data for one UE. |
MCCH (Multicast Control Channel) | Control | DL | MBMS control information (which services are on which resources). |
MTCH (Multicast Traffic Channel) | Traffic | DL | MBMS user data delivered point-to-multipoint over MBSFN. |
Transport channels describe the delivery service: whether the data is broadcast to everyone or addressed to one UE, whether it supports HARQ, dynamic link adaptation, beamforming and so on. LTE has a compact set.
| Transport channel | Direction | Key characteristics |
|---|---|---|
BCH (Broadcast Channel) | DL | Fixed, pre-defined transport format; carries the MIB; broadcast over the whole cell. |
DL-SCH (Downlink Shared Channel) | DL | The downlink workhorse: HARQ, dynamic link adaptation, dynamic and semi-persistent scheduling, DRX; carries user data, SIBs and paging content. |
PCH (Paging Channel) | DL | Carries paging; supports DRX so idle UEs can sleep; mapped onto physical resources shared with DL-SCH. |
MCH (Multicast Channel) | DL | MBMS transport; supports MBSFN combining across cells; semi-static scheduling, no HARQ. |
UL-SCH (Uplink Shared Channel) | UL | The uplink workhorse: HARQ, dynamic link adaptation, scheduled and semi-persistent transmission. |
RACH (Random Access Channel) | UL | Carries the random-access preamble only; no user data, no HARQ; the entry point when the UE is not yet uplink-synchronised. |
The MAC's mapping is largely fixed: BCCH maps to BCH (for the MIB) or DL-SCH (for SIBs); PCCH maps to PCH; CCCH, DCCH and DTCH map to DL-SCH downlink and UL-SCH uplink; MCCH and MTCH map to MCH. The RACH carries no logical channel — it is a pure physical-access resource. See Channel Mapping for the complete matrix and how it differs slightly between control and user plane.
Mental model: logical channel = what kind of information; transport channel = how it is delivered over the air. The MAC is the exact seam where one becomes the other.
The MAC entity, transport blocks and RNTIs
In basic LTE a UE has a single MAC entity; from Release 12 onward, when dual connectivity is configured, it has one MAC entity per cell group — one for the Master Cell Group (MCG) and one for the Secondary Cell Group (SCG). Each entity independently runs its own HARQ, DRX, BSR and random-access machinery for the cells it serves. With carrier aggregation the entity serves the PCell plus one or more SCells, each of which can be activated or deactivated by MAC signalling.
The rhythm of the LTE MAC is the TTI: every 1 ms subframe, the MAC delivers one transport block per TTI in each direction (a second block is added only for downlink spatial multiplexing with two codewords). The scheduler decides the transport block size, and the MAC's job is to fill exactly that many bits — no more, no less. This fixed 1 ms TTI is a defining LTE trait: the whole retransmission and scheduling timeline is clocked to it, unlike NR where the slot length shrinks with numerology.
On the shared channel there is no dedicated pipe per UE, so the network needs a way to say "this grant is for you." That is the job of the RNTI — a Radio Network Temporary Identifier that scrambles the CRC of the PDCCH carrying the grant. The UE's persistent identity in a cell is its C-RNTI (Cell RNTI, a 16-bit value in the range 0x003D–0xFFF3); a PDCCH whose CRC unmasks with the UE's C-RNTI is a grant addressed to that UE, and the UE finds it by blind-decoding its search spaces on PDCCH.
| RNTI | Used for |
|---|---|
C-RNTI | The UE's unique identity in the cell — addresses dynamic UL/DL grants on PDCCH. |
RA-RNTI | Addresses the Random Access Response (Msg2) during random access. |
Temporary C-RNTI | Assigned in Msg2; promoted to C-RNTI after contention resolution. |
SI-RNTI / P-RNTI | Address system information and paging respectively (common, not UE-specific). |
SPS-RNTI | Addresses semi-persistent scheduling activation/release. |
Where the MAC sits and what flows through it
The MAC lives directly below RLC and directly above the physical layer. RLC hands it PDUs (which become MAC SDUs); the MAC multiplexes them with any control elements into a transport block and passes it to PHY over a transport channel. Read the figure top to bottom: logical channels enter from RLC, the MAC's internal functions (LCP/mux, HARQ, random access, DRX/TA) act on them, and one transport block per TTI leaves on a transport channel to PHY.
Multiplexing, the MAC PDU and HARQ
When the scheduler grants the UE resources, the MAC must fill exactly the granted number of bits. It runs LCP to decide the order in which logical channels contribute their SDUs, then assembles a MAC PDU: a MAC header followed by MAC SDUs, MAC control elements and, if needed, padding. Each element is described by a subheader carrying an LCID in the header. MAC CEs carry in-band control and are placed before the MAC SDUs in the PDU. See MAC PDU & CEs for the byte-level layout.
Two things about LTE multiplexing matter when you compare it to NR. First, in LTE the RLC layer does concatenation: RLC can glue several higher-layer SDUs into one RLC PDU sized to fit the grant, so the MAC's multiplexing job is mostly about combining different logical channels and control elements, not sizing a single flow. Second, because RLC does that sizing, the LTE MAC learns the grant size and then instructs RLC how many bytes each logical channel may contribute this TTI — a tightly coupled MAC/RLC interaction each subframe.
LCP gives each logical channel a priority and a Prioritized Bit Rate (PBR). In the first round each channel is served up to its PBR in strict priority order, so a high-priority channel cannot completely starve a lower one; any grant left over is then filled by strict priority until the grant is exhausted or the buffers are empty. This is how the UE splits one grant fairly across, say, a signalling DCCH and a data DTCH.
LTE HARQ specifics: the downlink uses asynchronous, adaptive HARQ — retransmissions can happen at any later subframe, signalled explicitly — while the FDD uplink uses synchronous HARQ with a fixed 8 ms round-trip and typically 8 HARQ processes. Synchronous UL HARQ is the classic LTE trait: because the retransmission timing is fixed, the eNB need not signal when a UL retransmission occurs, saving control overhead. The receiver soft-combines each retransmission with the stored copy (chase combining or incremental redundancy) rather than discarding it, correcting most air errors in milliseconds — far faster than RLC ARQ. See HARQ.
The MAC also owns a small set of in-band MAC control elements, each identified by a reserved LCID so the receiver can tell control from data. They travel inside the same MAC PDU as the user data, with no separate signalling channel — the reason routine control never has to climb up to RRC.
| MAC CE | Direction | Carries |
|---|---|---|
BSR (Buffer Status Report) | UL | How much UL data is buffered, per logical channel group. |
PHR (Power Headroom Report) | UL | How much transmit power the UE has left beyond its current output. |
C-RNTI | UL | The UE's identity, used during contention-based random access (in Msg3). |
Timing Advance Command | DL | An adjustment to the UE's uplink transmit timing. |
DRX Command | DL | Tells the UE to stop the on-duration and go to sleep immediately. |
Contention Resolution Identity | DL | Echoes the UE's Msg3 so it knows it won contention (Msg4). |
Activation/Deactivation | DL | Turns SCells on or off for carrier aggregation. |
Scheduling reports, random access, timing advance and DRX
The eNB scheduler cannot allocate uplink well unless it knows two things: how much data is waiting, and how much transmit power is left. The MAC reports both as CEs — the BSR and the PHR. If the UE has data but no grant on which to send a BSR, it fires a Scheduling Request (SR) on PUCCH to ask for one; if it has no SR resource configured, it falls back to random access. This BSR/SR/PHR trio is the entire uplink feedback loop that keeps the scheduler fed.
Random access is the procedure a UE uses when it has no uplink grant and, often, no valid timing alignment — at initial access, after handover, when re-establishing after radio-link failure, or when uplink data arrives while unsynchronised. Contention-based access is the familiar four-step exchange: the UE sends a preamble on the RACH (Msg1); the eNB replies with a Random Access Response addressed by RA-RNTI, granting an uplink resource and an initial timing advance (Msg2); the UE sends Msg3 on UL-SCH carrying its identity (a C-RNTI MAC CE or CCCH message); and the eNB resolves contention with Msg4, echoing the UE's identity in a Contention Resolution Identity MAC CE. A contention-free variant (a dedicated preamble assigned by the network) skips the contention step for handover and re-synchronisation. See Random Access.
Because LTE is single-carrier on the uplink (SC-FDMA), every UE's signal must arrive at the eNB roughly time-aligned regardless of its distance. The MAC maintains this with timing advance (TA): it applies each Timing Advance Command to shift its transmit timing earlier and starts the timeAlignmentTimer; while that timer runs the uplink is considered synchronised, and if it expires the UE flushes its HARQ buffers, releases PUCCH/SRS resources, and must go back through random access to re-synchronise before it may transmit again.
Once connected, blindly monitoring PDCCH every subframe would drain the battery. DRX lets the MAC switch the receiver off on a schedule. During the On Duration the UE monitors PDCCH; if nothing is scheduled it may sleep until the next cycle, and any grant restarts the drx-InactivityTimer to keep it awake while traffic flows. LTE defines a long and an optional short DRX cycle, and a DRX Command MAC CE can send the UE to sleep early. See DRX for the timer details.
The uplink loop in one breath: SR asks for a grant → BSR says how much is buffered → the scheduler grants → PHR tells it how much power is left for next time. Lose timing alignment and the whole loop resets through random access.
Carrier aggregation and SCell activation (LTE-A)
LTE-Advanced lets a UE receive on several component carriers at once — carrier aggregation. One MAC entity serves the anchor PCell plus up to several SCells, each an additional carrier. The PCell is always active and carries the essential control (the PUCCH, security and mobility anchor); SCells are added by RRC but can be switched on and off dynamically without RRC signalling, because MAC does the switching.
The lever is the Activation/Deactivation MAC CE. A bitmap in that CE marks which configured SCells are active. Activation is fast — MAC-speed rather than RRC-speed — so the network can add bandwidth the moment a burst arrives and drop it (via deactivation or an sCellDeactivationTimer expiry) to save UE power when the burst ends. A deactivated SCell is still configured but the UE does not monitor its PDCCH, does not transmit SRS, and reports no CQI for it. Each active SCell has its own HARQ entity, so aggregation multiplies transport-block throughput while the single MAC entity keeps one scheduling, BSR and DRX view across all of them.
Why MAC, not RRC: SCell activation lives in MAC precisely because it must be fast and cheap. RRC configures the pool of possible carriers once; the Activation/Deactivation MAC CE toggles them per traffic burst.
How LTE MAC differs from NR MAC
If you already know NR, the LTE MAC will feel familiar but subtly different, and interviewers love the contrasts. The functions are broadly the same — mapping, multiplexing, HARQ, LCP, scheduling reports, random access, DRX — but several structural choices diverge.
LTE ↔ NR: the three contrasts to keep in your pocket are HARQ (LTE's synchronous UL HARQ vs NR's fully asynchronous scheme in both directions), RLC concatenation (present in LTE, removed in NR so the MAC/RLC split could be re-drawn for lower latency), and bandwidth parts (NR-only; an LTE UE always works across the full configured carrier). The table below unpacks these and a few more.
| Aspect | LTE MAC | NR MAC |
|---|---|---|
| TTI / slot | Fixed 1 ms subframe | Slot length shrinks with numerology (down to tens of μs); mini-slots possible |
| RLC concatenation | RLC concatenates SDUs, so MAC multiplexing mainly combines channels/CEs | No RLC concatenation; RLC pre-processes and MAC does the sizing, enabling faster PDU assembly |
| UL HARQ timing | Synchronous (fixed 8 ms RTT, FDD), retransmission timing implicit | Asynchronous UL HARQ, retransmissions explicitly scheduled |
| Bandwidth parts | No BWP concept; the whole carrier is used | BWPs let the UE operate on a sub-band; MAC/scheduling are BWP-aware |
| Header build | Some subheaders sit before payload; assembly is less pipelined | Interleaved subheader-before-SDU layout for low-latency, on-the-fly assembly |
| BSR/LCP | Logical channel groups, PBR-based LCP | Adds LCP restrictions (mapping LCHs to specific numerologies/cells) for mixed-service scheduling |
The single most quoted difference is HARQ: LTE's synchronous uplink HARQ versus NR's fully asynchronous scheme in both directions. The second is that LTE relies on RLC concatenation, which means the LTE MAC multiplexing story is genuinely different from NR's — in NR, RLC no longer concatenates, so the layers were re-split to shave latency. And NR's BWP machinery simply has no LTE equivalent: an LTE UE always works across the full configured carrier. Keep those three in your pocket and the rest of the comparison follows.
⚠ Common pitfalls / gotchas
- Confusing logical with transport channels.
DCCH/DTCHare logical (what);DL-SCH/UL-SCHare transport (how). The MAC is the mapping seam — mixing the two vocabularies is the most common exam slip. - Thinking RACH carries a logical channel. It does not —
RACHis a pure physical-access resource with no logical channel, no user data and no HARQ. - Forgetting timeAlignmentTimer consequences. When it expires the UE is not just "a bit late" — it flushes HARQ, drops
PUCCH/SRS, and cannot transmit at all until it redoes random access. - Assuming NR HARQ rules apply to LTE. LTE FDD uplink HARQ is synchronous with a fixed 8 ms RTT and 8 processes; carrying NR's asynchronous assumptions back to LTE breaks the retransmission timeline.
Summary
The LTE MAC (TS 36.321) is Layer 2's lowest sublayer, bridging the logical channels RLC hands down (BCCH, CCCH, DCCH, DTCH, PCCH, MCCH, MTCH) to the transport channels PHY carries (DL-SCH, UL-SCH, PCH, BCH, MCH, RACH). Its job is to arbitrate one shared, error-prone medium: it multiplexes several flows into one transport block per 1 ms TTI via LCP, corrects air errors with HARQ, keeps the uplink fed with BSR/SR/PHR, opens connections with random access, holds the single-carrier uplink time-aligned via timeAlignmentTimer, and saves battery with DRX.
Grants are addressed by RNTI (the persistent C-RNTI plus special ones for RA, SI, paging, SPS), and in-band MAC CEs carry routine control without troubling RRC. LTE-A adds fast SCell activation for carrier aggregation via a MAC CE. Against NR, the enduring contrasts are LTE's synchronous UL HARQ, its reliance on RLC concatenation, and its lack of bandwidth parts. Get the channel vocabulary and those three contrasts straight and the rest of the MAC follows.
Q. How many transport blocks does the LTE MAC deliver per TTI, and how long is a TTI?
A. One transport block per TTI per direction (a second is added only for downlink 2-codeword spatial multiplexing), and a TTI is one 1 ms subframe.
Q. Name the LTE logical channels and their transport-channel mappings.
A. BCCH (→ BCH for MIB, DL-SCH for SIBs), PCCH (→ PCH), CCCH/DCCH/DTCH (→ DL-SCH down, UL-SCH up), and MCCH/MTCH (→ MCH). The RACH carries no logical channel.
Q. What is the key HARQ difference between LTE and NR, and why does synchronous UL HARQ help?
A. LTE uses synchronous uplink HARQ (fixed 8 ms RTT) while NR is asynchronous in both directions. Because the retransmission timing is fixed, the eNB need not signal when a UL retransmission happens, cutting control overhead.
Q. What is the difference between HARQ and RLC ARQ in LTE?
A. HARQ is a fast, physical-layer-aware retransmission at the MAC with soft combining, correcting most air errors in a few milliseconds. RLC ARQ is a slower, reliable backstop above it for the residual errors HARQ misses (for example a HARQ feedback error).
Q. Which MAC CE keeps the uplink time-aligned, and what happens when alignment is lost?
A. The Timing Advance Command adjusts transmit timing and (re)starts the timeAlignmentTimer. If that timer expires the UE flushes HARQ buffers, releases PUCCH/SRS, and must perform random access before it can transmit again.
Q. How is an SCell activated for carrier aggregation, and why is it done in MAC?
A. Via the Activation/Deactivation MAC CE (a bitmap of configured SCells). It lives in MAC so it can toggle carriers per traffic burst at MAC speed, rather than paying RRC-signalling latency.
Where to go next
You now know what the LTE MAC does, the channels it bridges, and how it contrasts with NR. Drill into the pieces it touches: