RLC/MAC ARQ [Under GPRS >> RLC/MAC]
»
MS-BSS Interface; RLC/MAC - 04.60 «
RLC can work in both acknowledged and unacknowledged mode. MS sets the mode of uplink TBF in PACKET RESOURCE REQUEST or PACKET DOWNLINK ACK/NACK message. In a one phase access, the RLC mode is always acknowledged mode. Network sets the mode of downlink TBF in PACKET DOWNLINK ASSIGNMENT (or PACKET TIMESLOT RECONFIGURE) message
RLC working in acknowledged mode re-transmits the blocks for which Un-acknowledgement is received. (This type of error correction method is called as ARQ - Automatic Repeat reQuest and is normally used in Data Link layers.) In GPRS, this is known as ARQ type 1. ARQ Type 2 (Hybrid ARQ) is implemented in EGPRS.
To keep track of blocks which are sent and for which acknowledgement has been received, and to decide about which blocks to transmit, RLC uses "Sliding Window" principle.
Sliding Window
Consider following scenario from Sender side. First figure shows the blocks with window of size k, second figure shows acknowledgement bitmap - bit set mean acknowledgement for corresponding numbered block has been received.
Rules are: The blocks inside the window only can be transmitted or re-transmitted. The window will be advanced only when an acknowledgement is received for all transmitted blocks (which of course will lie within the window).
In above example, say all N to N+k blocks are sent but acknowledgement has not been received for few blocks within the window. Re-tranmission will be done for those blocks, but as per above rules, no further blocks (N+k+1 and onwards) can be transmitted till acknowledgement is received for unacknowledged blocks.
When window can not be advanced (due to unacknowledged blocks), window is said to be "Stalled".
Note that both sending and receiving side need to store the status of transmitted and received blocks; receiving side uses it to send acknowledgement/unacknowledgement whereas sending side uses it for retransmission. |
In GPRS, window size is pre-defined and set in specification as 64. RLC/MAC has header field called BSN (Block Sequence Number) to number the blocks. Packet Uplink/Downlink Ack messages are used for informing Ack/Nack. These messages have 64-bit bitmaps indicating status of received blocks (set if successfully received). In addition, network may sends uplink allocation for unacknowledged blocks in packet uplink ack/unack or in packet uplink assignment. For downlink blocks, RRBP field is used for MS to send packet downlink ack/unack. Network will not release TBFs before acknowledgement is received for all transmitted blocks. Stall bit in MAC header is used to indicate "Stall" situation. Error detection is done at Layer 1 level (during Decoding stage).
Note that Ack/Nack messages are sent irrespective of modes; sending side will not retransmit for Nack for Unacknowledged operation. BSN will be still be used for re-assembly of LLC PDU.
This complete the brief on RLC/MAC.
References: GPRS in Practice by McGuiggan
Copyright © Samir Amberkar 2010 | § § |
RLC/MAC - Two-phase access continued « | GPRS Index | » LLC |