Post on 27-Sep-2019
RLC protocol overview RLC/AM procedures Simulation setup Performance of applications without
contention Performance of applications with contention Performance of CBR Media Distribution
application SDU discard policy impact Conclusion
mmakidis05@aueb.gr 2
The RLC protocol
RLC/AM Functions
Frame types
SUFIs for the Status PDU
Windows
Protocol States
mmakidis05@aueb.gr 3
Radio Link Control protocol: link layer protocol for the UMTS◦ Transparent Mode: No services provided by the RLC e.g. voice calls
◦ Unacknowledged Mode: Duplicate avoidance & reordering only Low delay and higher reliability than the raw link
e.g. video streaming using UDP
◦ Acknowledged Mode: Reliable data transfer (mostly) e.g. web browsing, file transfer, …
Sliding window protocol (like Selective Repeat, GBN)
Uses sequence numbers, performs retransmissions
4mmakidis05@aueb.gr
All logos and trademarks are property of their respective owners.
Not implemented
Transfer of user data◦ Mostly reliable data transfer◦ Discards data after time period or number of
(re)transmissions
Error correction
Sequence number check, duplicate detection, in-sequence delivery
Protocol error detection & recovery
Flow control
Segmentation & reassembly, concatenation, padding
Ciphering
mmakidis05@aueb.gr 5
Reset &
Reset
AC
K P
DU
Sta
tus P
DU
Data
PD
U
Data (AMD) PDU◦ Transfers the user’s data◦ Has a sequence number
in [0, 4096)◦ Contains segments of SDUs from upper
layers◦ Has a polling bit◦ Can have a piggybacked Status PDU in the
padding space
Status PDU◦ Has one or more SUFIs (Super Fields)◦ Used for reporting ACKs/NACKs◦ Used by the SDU Discard function◦ Used by the Flow Control function
RESET & RESET ACK PDU◦ Used by the RLC Reset procedure
mmakidis05@aueb.gr 6
DATA
Sequence number
Length Indicator (LI) E
D/C
Length Indicator (LI) E
…
Padding orPiggybacked Status PDU
Byte 1
Byte 2
Byte 3 (opt)
Byte N
Sequence number P HE
SUFI 1D/C
Padding
Byte 1
Byte 2
Byte N
PDU type
…
SUFI k
SUFI 1
R1D/C
Padding
Byte 1
Byte N
PDU type RSN
HFNI
HFNI
HFNI
ACK/NACK SUFIs◦ ACK: Acknowledges all PDUs up to the ACKed SN◦ BITMAP: Contains bitmap indicating ACKed/NACKed PDUs of the
Receiver’s window◦ LIST: List of SN/length pairs indicating NACKed PDUs◦ RLIST: List of NACKed PDUs in encoded, relative form◦ The spec does not specify which SUFIs to use (other than ACK). We
used ACK & BITMAP.
Move Receiving Window SUFIs◦ MRW: Request from the Sender to discard SDUs and Move the
Receiver’s Window◦ MRW_ACK: ACK of an MRW; indicates the Receiver’s new window
position
Other SUFIs◦ WINDOW: Request from the Receiver to change the Sender’s
window size (used for Flow Control)◦ NO_MORE: Indicates the end of the Status PDU
mmakidis05@aueb.gr 7
ReceiverSender
Flow Control: The Receiver can change the Sender’s window size (by using the WINDOW SUFI). The Flow Control algorithm is not specified.
mmakidis05@aueb.gr 8
Acknowledged PDU
Send but unacknowledged PDU
Usable slot, PDU not sent
PDU outside the window (will be rejected)
VT(S)VT(A) VT(MS)
Transmission window [VT(WS)]
Received PDU(in-sequence)
Received PDU(out-of-sequence)
Acceptable (not received) PDU
PDU outside the window (will be rejected)
VR(H)VR(R) VR(MR)
Receive window
NULL: The RLC entity is not created (or is terminated)
DATA_TRANSFER_READY
RESET_PENDING: RLC Reset procedure initiated
LOCAL SUSPEND: RLC entity suspended (cannot send PDUs higher than a SN)
RESET_AND_SUSPEND: RLC entity suspended and RLC Reset procedure initiated
mmakidis05@aueb.gr 9
NULLDATA_
TRANSFER_READY
RESET_PENDING
LOCAL_SUSPEND
RESET_AND_SUSPEND
Rq. from upper layers
Rq. from upper layers
Rq. from upper layers
Reset triggerRESET
RESET ACK
RESET ACKRESETRESET ACK
Rq. from upper layersConf. to upper layers
RESET ACKRESET
Rq. from upper layersConf. to upper layers
Rq. from upper layersConf. to upper layers
Rq. from upper layersConf. to upper layersRq. from
upper layers
RESETRESET ACK
Rq. from upper layers
Data transfer
Polling
Status Report transmission
Limited reliability of the RLC/AM
RLC Reset procedure
Other procedures
mmakidis05@aueb.gr 10
Sender◦ Segmentation, Concatenation, Padding◦ Increase sequence number (ensure it’s within
window)◦ Start discard timer/Count (re)transmission◦ Set polling bit, if poll triggered◦ Attach piggybacked Status PDU (optional)
Receiver◦ Advance window◦ Reassembly, Deliver SDUs in sequence◦ Send a Status report, if polled
Abnormal cases◦ Receive PDUs outside the reception window◦ Duplicate PDUs◦ Invalid PDU format/size◦ Full buffer (for the UE)
mmakidis05@aueb.gr 11
Sender Receiver
AMD PDU
Poll: Request from the Sender to the Receiver for a Status Report (i.e. ACKs & NACKs)
Poll triggers (any combination may be used)◦ Every last PDU in buffer (not impl.)
◦ Every last PDU in Retransmission buffer◦ Poll Timer◦ Every x PDUs◦ Every x SDUs◦ Window Based (poll triggered if a percentage of
Sender’s window is used)◦ Timer Based (periodic polling)
Poll Prohibit (optional)◦ After the transmission of a Poll, a timer is
started◦ Polling is prohibited (delayed) while the timer is
active
mmakidis05@aueb.gr 12
Sender Receiver
AMD PDU with polling bit
set
Status PDU with ACKs/NACKs
Status Report: Status PDU from the Receiver to the Sender with ACKs/NACKs◦ Uses the ACK SUFI and one or more of the
BITMAP, LIST, RLIST SUFIs
Status Report triggers◦ Polling◦ Detection of missing PDU(s) (optional)◦ Timer based (periodic transmission)
(optional)◦ Request from lower layers (not impl.)
Status Prohibit (optional)◦ After the transmission of a Status Report, a
timer is started◦ Status Report transmission is prohibited
(delayed) while the timer is active
mmakidis05@aueb.gr 13
Sender Receiver
AMD PDU with polling bit
set
Status PDU with ACKs/NACKs
The Sender discards PDUs if they have not been successfully sent◦ Within a certain time period, or◦ Within a number of (re)transmissions
SDU Discard Function operation modes◦ Discard SDUs (and PDUs) after a period of
time, or◦ Discard PDUs (and SDUs) after x
transmissions, or◦ Reset the RLC entities after x transmissions
The Receiver is informed of the discarded SDUs in order to Move (advance) its Reception Window (MRW)◦ The MRW request is periodically send until it
is ACKed◦ If the MRW request is not ACKed within a
number of attempts, the RLC Reset procedure is initiated
mmakidis05@aueb.gr 14
Sender Receiver
Status PDU with MRW SUFI
Status PDU with MRW_ACK SUFI
Reset triggers◦ Erroneous sequence numbers in a Status PDU◦ Too many attempts to send a MRW command◦ Using the “Reset after x transmissions” SDU Discard
function and the limit is reached
RLC Reset: clear buffers, stop timers, reset variables
Procedure◦ Sender sends a RESET PDU (periodically)◦ Receiver gets the RESET PDU, resets itself, responds
with a RESET ACK◦ Sender receives RESET ACK, resets itself
Abnormal cases◦ RESET PDU sent too many times without ACK:
unrecoverable error signaled; protocol stalled◦ Duplicate RESET PDU is received: the Receiver
responds with a RESET ACK without resetting itself◦ RESET PDU received by the Sender: the Sender acts
as the Receiver
mmakidis05@aueb.gr 15
Sender Receiver
RESET PDU
RESET ACK PDU
Local Suspend & Resume◦ The Sender allowed to send only N more PDUs◦ PDUs after the Nth are delayed until the entity is resumed
Stop & Continue◦ All transmissions & receptions are delayed until the upper layers initiate the Continue
procedure◦ Timers are not affected
Re-establishment◦ The RLC entity is re-established by upper layers◦ All buffers cleared◦ All parameters & variables reset
Reconfiguration of RLC parameters by upper layers◦ The upper layers change one or more parameters of the RLC entity while it is active◦ Variable values may be changed because of the parameters◦ Window sizes can be changed as well◦ A number of buffered PDUs may be dropped as a result (especially in the UE).
mmakidis05@aueb.gr 16
Applications & topology
Selective Repeat variants & RLC parameters
mmakidis05@aueb.gr 17
64 Kbps data rate, 50 ms delay, 250 bytes frame payload, Uniform or Two State error model
LAN: 10 Mb data rate, 1 ms delayWAN: 2 Mb data rate, 50 ms delay
ns-2 simulator with extra link layer protocols, wireless links & error models
Web Browsing◦ Metric: Server-to-client data throughput◦ Measured completed transactions only
File transfer (FTP)◦ Transfer of a 10 MB file (unidirectional)◦ Metric: Application data throughput
CBR Media Distribution◦ Audio or Video distribution (56 kbps CBR)◦ Alternates between talking and silent state◦ Uses UDP (bypasses reliable LL protocol)◦ Metric: CBR stream delay◦ Contention with TCP application (CBR
stream consumes 37,5% of bandwidth)
Each test performed 30 times Tested frame loss at rates 0%, 1.5%,
2.5%, 5.4% and 9.8%
mmakidis05@aueb.gr 18
TCP/UDP
IP
LL
PHY
TCP/UDP
IP
LL
PHY
TCP/UDP
IP
LL
PHY
Wired server Wired host Wireless client
Simulation topology
Uniform error model Loss probability same for each pkt
Two state error model Good state of the channel
(10-6 error rate)
Bad state of the channel(10-2 error rate)
Selective Repeat◦ Sliding window protocol◦ Receiver uses ACK and NACK frames
to inform the Sender of its status◦ Sender retransmits NACKed frames◦ Delayed, piggybacked ACKs in data
frames◦ Timer for each not ACKed data frame
(in case its ACK/NACK gets lost)◦ Supports multireject (a frame can be
NACKed multiple times)◦ Offers good performance
SR variants◦ Simple SR with fixed timeout value
1.1s◦ Adaptive SR with dynamic timeout
value (self-cloacking, like TCP)
Uniform model: 3×srtt+2×srttvar Two State model: 4×srtt+0×srttvar
mmakidis05@aueb.gr 19
RLC/AM parametersParameter Uniform model
(“Cellular” link)
Two State model
(“PCS” link)
Window size
(Sender & Receiver)
128 frames 128 frames
Poll triggers Timer_Poll, Window Based Timer_Poll, Window Based,
Every last PDU in
retransmission buffer
Status report triggers
(other than polling)
Detection of missing PDU,
Periodic status reporting
Detection of missing PDU,
Periodic status reporting
Poll Prohibit enabled Yes Yes
Status Prohibit enabled No Yes
RESET enabled No No
Poll Window 70% 80%
SDU Discard Mode SDU discard after x number
of transmissions
SDU discard after x number
of transmissions
MaxDAT 3 2
Timer_Status_Prohibit
timeout
- 90 ms
Timer_Status_Periodic
timeout
400 ms 500 ms
Timer_Poll timeout 200 ms 200 ms
Timer_Poll_Prohibit timeout 100 ms 100 ms
Timer_MRW timeout 500 ms 110 ms
Status report piggybacking
enabled
No No
Application impact (Uniform mdl.)
Application impact (Two State mdl.)
Topology impact
mmakidis05@aueb.gr 20
RLC/AM performance depends on application◦ Poor performance for web browsing
Adaptive SR has high throughput Almost identical results for WAN topology
mmakidis05@aueb.gr 21
5
10
15
20
25
30
35
40
45
50
0 1 2 3 4 5 6 7 8 9 10
Th
rou
gh
pu
t (K
bp
s)
Frame loss rate (%)
HTTP w/o contention, LAN/Cellular links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
10
20
30
40
50
60
70
0 1 2 3 4 5 6 7 8 9 10
Th
rou
gh
pu
t (K
bp
s)
Frame loss rate (%)
FTP w/o contention, LAN/Cellular links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
Web browsing File transfer
Lower throughput in Two State model
RLC/AM performance depends on application◦ Poor performance for web browsing, OK for FTP but not for high frame loss rates
Adaptive SR has high throughput
Almost identical results for WAN topology
It has been shown that TCP performs worse in the Two State model
mmakidis05@aueb.gr 22
25
30
35
40
45
50
0 1 2 3 4 5 6 7 8 9 10
Th
rou
gh
pu
t (K
bp
s)
Frame loss rate (%)
HTTP w/o contention, LAN/PCS links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
35
40
45
50
55
60
65
0 1 2 3 4 5 6 7 8 9 10
Th
rou
gh
pu
t (K
bp
s)
Frame loss rate (%)
FTP w/o contention, LAN/PCS links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
Web browsing File transfer
Lower throughput in
WAN topology due
to higher delay in
interactive application
File t
ransfe
rW
eb b
row
sin
g Almost the same performance
for both topologies
mmakidis05@aueb.gr 23
5
10
15
20
25
30
35
40
45
50
0 1 2 3 4 5 6 7 8 9 10
Th
rou
gh
pu
t (K
bp
s)
Frame loss rate (%)
HTTP w/o contention, LAN/Cellular links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
5
10
15
20
25
30
35
40
0 1 2 3 4 5 6 7 8 9 10
Th
rou
gh
pu
t (K
bp
s)
Frame loss rate (%)
HTTP w/o contention, WAN/Cellular links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
10
20
30
40
50
60
70
0 1 2 3 4 5 6 7 8 9 10
Th
rou
gh
pu
t (K
bp
s)
Frame loss rate (%)
FTP w/o contention, LAN/Cellular links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
10
20
30
40
50
60
70
0 1 2 3 4 5 6 7 8 9 10
Th
rou
gh
pu
t (K
bp
s)
Frame loss rate (%)
FTP w/o contention, WAN/Cellular links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
Similar results for the Two
State model as well.
LAN
LAN
WAN
WAN
CBR cont. impact (HTTP) (Un. mdl.)
CBR cont. impact (HTTP) (TS mdl.)
CBR cont. impact (FTP) (Un. mdl.)
CBR cont. impact (FTP) (TS mdl.)
mmakidis05@aueb.gr 24
Similar relative performance for all protocols Identical results for the WAN topology as well Adaptive SR has the highest throughput
mmakidis05@aueb.gr 25
5
10
15
20
25
30
35
40
45
50
0 1 2 3 4 5 6 7 8 9 10
Th
rou
gh
pu
t (K
bp
s)
Frame loss rate (%)
HTTP w/o contention, LAN/Cellular links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
5
10
15
20
25
30
35
0 1 2 3 4 5 6 7 8 9 10T
hro
ug
hp
ut
(Kb
ps
)
Frame loss rate (%)
HTTP with contention, LAN/Cellular links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
Without CBR contention With CBR contention
Similar relative performance for RLC/AM and Adaptive SR Fixed SR performance drops slightly in the Two State model Similar results for the WAN topology Adaptive SR has the highest throughput
mmakidis05@aueb.gr 26
25
30
35
40
45
50
0 1 2 3 4 5 6 7 8 9 10
Th
rou
gh
pu
t (K
bp
s)
Frame loss rate (%)
HTTP w/o contention, LAN/PCS links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
18
20
22
24
26
28
30
32
34
0 1 2 3 4 5 6 7 8 9 10T
hro
ug
hp
ut
(Kb
ps
)Frame loss rate (%)
HTTP with contention, LAN/PCS links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
Without CBR contention With CBR contention
Similar relative performance for all protocols Identical results for the WAN topology as well
mmakidis05@aueb.gr 27
10
20
30
40
50
60
70
0 1 2 3 4 5 6 7 8 9 10
Th
rou
gh
pu
t (K
bp
s)
Frame loss rate (%)
FTP w/o contention, LAN/Cellular links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
10
15
20
25
30
35
40
45
0 1 2 3 4 5 6 7 8 9 10
Th
rou
gh
pu
t (K
bp
s)
Frame loss rate (%)
FTP with contention, LAN/Cellular links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
Without CBR contention With CBR contention
Similar relative performance for RLC/AM and Adaptive SR Fixed SR performance drops significantly in the Two State
model Similar results with the WAN topology
mmakidis05@aueb.gr 28
35
40
45
50
55
60
65
0 1 2 3 4 5 6 7 8 9 10
Th
rou
gh
pu
t (K
bp
s)
Frame loss rate (%)
FTP w/o contention, LAN/PCS links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
20
22
24
26
28
30
32
34
36
38
40
42
0 1 2 3 4 5 6 7 8 9 10T
hro
ug
hp
ut
(Kb
ps
)Frame loss rate (%)
FTP with contention, LAN/PCS links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
Without CBR contention With CBR contention
CBR with HTTP contention
CBR with FTP contention
mmakidis05@aueb.gr 29
RLC/AM causes the lowest delay (but has low throughput as well); fixed SR causes the highest (esp. in the Two State model)
Adaptive SR causes low delay SR variants perform more retransmissions as the frame loss rate increases, thus
causing more delay Similar results for WAN topology
mmakidis05@aueb.gr 30
0
0.5
1
1.5
2
2.5
3
0 1 2 3 4 5 6 7 8 9 10
Pa
ck
et
de
lay
(s
ec
on
ds
)
Frame loss rate (%)
CBR with HTTP contention, LAN/Cellular links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
1
1.5
2
2.5
3
3.5
4
0 1 2 3 4 5 6 7 8 9 10
Pa
ck
et
de
lay
(s
ec
on
ds
)
Frame loss rate (%)
CBR with HTTP contention, LAN/PCS links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
Uniform error model Two State error model
RLC/AM causes the lowest delay; fixed SR the highest (esp. in the Two State model)
Adaptive SR causes low delay, almost as low as RLC/AM Similar results for WAN topology
mmakidis05@aueb.gr 31
0
0.5
1
1.5
2
2.5
3
3.5
0 1 2 3 4 5 6 7 8 9 10
Pa
ck
et
de
lay
(s
ec
on
ds
)
Frame loss rate (%)
CBR with FTP contention, LAN/Cellular links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
1.5
2
2.5
3
3.5
4
4.5
5
5.5
0 1 2 3 4 5 6 7 8 9 10P
ac
ke
t d
ela
y (
se
co
nd
s)
Frame loss rate (%)
CBR with FTP contention, LAN/PCS links
Raw LinkSelective Repeat
Adapt. Selective RepeatRLC/AM
Uniform error model Two State error model
FTP throughput, Uniform model
FTP throughput, Two State model
Web Browsing throughput
mmakidis05@aueb.gr 32
Discard after x transm.: Higher throughput◦ Highest throughput for MaxDAT=3 for the Uniform error model
Timer-based discard: Lower throughput◦ Higher than raw link only in high frame loss rates◦ Timeout values 300-700 ms have almost the same throughput
mmakidis05@aueb.gr 33
10
20
30
40
50
60
70
0 1 2 3 4 5 6 7 8 9 10
Th
rou
gh
pu
t (K
bp
s)
Frame loss rate (%)
FTP w/o contention, LAN/Cellular links
Raw LinkRLC/AM MaxDAT=2RLC/AM MaxDAT=3RLC/AM MaxDAT=4RLC/AM MaxDAT=5RLC/AM MaxDAT=6RLC/AM MaxDAT=7
10
20
30
40
50
60
70
0 1 2 3 4 5 6 7 8 9 10
Th
rou
gh
pu
t (K
bp
s)
Frame loss rate (%)
FTP w/o contention, LAN/Cellular links
Raw LinkRLC/AM disc. to=0.1sRLC/AM disc. to=0.2sRLC/AM disc. to=0.3sRLC/AM disc. to=0.4sRLC/AM disc. to=0.5sRLC/AM disc. to=0.6sRLC/AM disc. to=0.7s
Discard after x transmissions Discard after x time
Discard after x transm.: Higher throughput◦ Highest throughput for MaxDAT=2 for the Two State error model
Timer-based discard: Lower throughput◦ Almost the same as the raw link◦ Timeout values 300-700 ms have almost the same throughput
mmakidis05@aueb.gr 34
35
40
45
50
55
60
65
0 1 2 3 4 5 6 7 8 9 10
Th
rou
gh
pu
t (K
bp
s)
Frame loss rate (%)
FTP w/o contention, LAN/PCS links
Raw LinkRLC/AM MaxDAT=2RLC/AM MaxDAT=3RLC/AM MaxDAT=4RLC/AM MaxDAT=5RLC/AM MaxDAT=6RLC/AM MaxDAT=7
35
40
45
50
55
60
65
0 1 2 3 4 5 6 7 8 9 10
Th
rou
gh
pu
t (K
bp
s)
Frame loss rate (%)
FTP w/o contention, LAN/PCS links
Raw LinkRLC/AM disc. to=0.1sRLC/AM disc. to=0.2sRLC/AM disc. to=0.3sRLC/AM disc. to=0.4sRLC/AM disc. to=0.5sRLC/AM disc. to=0.6sRLC/AM disc. to=0.7s
Discard after x transmissions Discard after x time
Discard after x transm.: Higher throughput Timer-based discard: Lower throughput
◦ Higher than raw link only in high frame loss rates◦ Timeout values 300-700 ms have almost the same throughput
Similar results for the Two State model
mmakidis05@aueb.gr 35
5
10
15
20
25
30
35
40
45
50
0 1 2 3 4 5 6 7 8 9 10
Th
rou
gh
pu
t (K
bp
s)
Frame loss rate (%)
HTTP w/o contention, LAN/Cellular links
Raw LinkRLC/AM MaxDAT=2RLC/AM MaxDAT=3RLC/AM MaxDAT=4RLC/AM MaxDAT=5RLC/AM MaxDAT=6RLC/AM MaxDAT=7
5
10
15
20
25
30
35
40
45
50
0 1 2 3 4 5 6 7 8 9 10T
hro
ug
hp
ut
(Kb
ps
)Frame loss rate (%)
HTTP w/o contention, LAN/Cellular links
Raw LinkRLC/AM disc. to=0.1sRLC/AM disc. to=0.2sRLC/AM disc. to=0.3sRLC/AM disc. to=0.4sRLC/AM disc. to=0.5sRLC/AM disc. to=0.6sRLC/AM disc. to=0.7s
Discard after x transmissions Discard after x time
RLC/AM throughput is dependent on the application RLC/AM offers better throughput than the raw link in all
cases Relative throughput is generally not affected by the
topology (LAN/WAN) Contention from the CBR stream has minimal impact on
relative RLC/AM and Adaptive SR throughput RLC/AM causes the lowest delay to the CBR stream Adaptive SR generally has the highest throughput in TCP
applications and causes low delay on the CBR stream Fixed SR has higher throughput in some apps/models and
lower throughput in others compared to the RLC/AM; it causes the highest delay on the CBR stream
In RLC/AM, “SDU Discard after x retransmissions” policy offers better performance than the timer-based one
mmakidis05@aueb.gr 36