You are on page 1of 37

Makidis Michael

mmakidis05@aueb.gr

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

The RLC protocol RLC/AM Functions Frame types SUFIs for the Status PDU Windows Protocol States

mmakidis05@aueb.gr

Radio Link Control protocol: link layer protocol for the UMTS
e.g. voice calls

Transparent Mode: No services provided by the RLC Unacknowledged Mode: Duplicate avoidance & reordering only Acknowledged Mode: Reliable data transfer (mostly)
e.g. web browsing, file transfer, Sliding window protocol (like Selective Repeat, GBN) Uses sequence numbers, performs retransmissions
Low delay and higher reliability than the raw link e.g. video streaming using UDP

All logos and trademarks are property of their respective owners. mmakidis05@aueb.gr 4

Transfer of user data

Error correction Sequence number check, duplicate detection, in-sequence delivery Protocol error detection & recovery Flow control Segmentation & reassembly, concatenation, padding Not implemented Ciphering
mmakidis05@aueb.gr 5

Mostly reliable data transfer Discards data after time period or number of (re)transmissions

D/C

Sequence number Sequence number Length Indicator (LI)

Byte 1

HE E E

Byte 2 Byte 3 (opt)

Data PDU

Data (AMD) PDU

Length Indicator (LI)

Transfers the users 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 Has one or more SUFIs (Super Fields) Used for reporting ACKs/NACKs Used by the SDU Discard function Used by the Flow Control function

DATA Padding or Piggybacked Status PDU

Byte N

D/C

PDU type SUFI 1

SUFI 1

Byte 1

Status PDU

Byte 2

Status PDU

SUFI k

Padding

Byte N

D/C

PDU type

RSN

R1

Byte 1

Reset & Reset ACK PDU

RESET & RESET ACK PDU

HFNI HFNI HFNI

Used by the RLC Reset procedure

Padding
Byte N

mmakidis05@aueb.gr

ACK/NACK SUFIs

ACK: Acknowledges all PDUs up to the ACKed SN BITMAP: Contains bitmap indicating ACKed/NACKed PDUs of the Receivers 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. MRW: Request from the Sender to discard SDUs and Move the Receivers Window MRW_ACK: ACK of an MRW; indicates the Receivers new window position WINDOW: Request from the Receiver to change the Senders window size (used for Flow Control) NO_MORE: Indicates the end of the Status PDU

Move Receiving Window SUFIs

Other SUFIs

mmakidis05@aueb.gr

Transmission window [VT(WS)]

Receive window

VT(A)

VT(S)

VT(MS)

VR(R)

VR(H)

VR(MR)

Acknowledged PDU

Usable slot, PDU not sent

Received PDU (in-sequence)

Acceptable (not received) PDU

Send but unacknowledged PDU

PDU outside the window (will be rejected)

Received PDU (out-of-sequence)

PDU outside the window (will be rejected)

Sender

Receiver

Flow Control: The Receiver can change the Senders window size (by using the WINDOW SUFI). The Flow Control algorithm is not specified.

mmakidis05@aueb.gr

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
NULL
Rq. from upper layers Reset trigger RESET Rq. from upper layers RESET RESET ACK RESET ACK Rq. from upper layers Conf. to upper layers Rq. from upper layers Conf. to upper layers

Rq. from upper layers

DATA_ TRANSFER_ READY

LOCAL_ SUSPEND

RESET ACK Rq. from upper layers Conf. to upper layers RESET RESET ACK

Rq. from upper layers

RESET_ PENDING
RESET RESET ACK

Rq. from upper layers

Rq. from upper layers Conf. to upper layers

RESET_AND_ SUSPEND

mmakidis05@aueb.gr

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 its within window) Start discard timer/Count (re)transmission Set polling bit, if poll triggered Attach piggybacked Status PDU (optional) Advance window Reassembly, Deliver SDUs in sequence Send a Status report, if polled Receive PDUs outside the reception window Duplicate PDUs Invalid PDU format/size Full buffer (for the UE)

Sender

Receiver

Receiver

AMD PDU

Abnormal cases

mmakidis05@aueb.gr

11

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 Senders window is used) Timer Based (periodic polling) After the transmission of a Poll, a timer is started Polling is prohibited (delayed) while the timer is active

Sender
AMD PDU

Receiver

with polling bit set

with ACKs/NACKs

Status PDU

Poll Prohibit (optional)

mmakidis05@aueb.gr

12

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

Sender
AMD PDU

Receiver

Status Report triggers

Polling Detection of missing PDU(s) (optional) Timer based (periodic transmission) (optional) Request from lower layers (not impl.)
After the transmission of a Status Report, a timer is started Status Report transmission is prohibited (delayed) while the timer is active

with polling bit set

with ACKs/NACKs

Status PDU

Status Prohibit (optional)

mmakidis05@aueb.gr

13

The Sender discards PDUs if they have not been successfully sent
Within a certain time period, or Within a number of (re)transmissions

Sender

Receiver
Status PDU

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
with MRW SUFI

Status PDU with


MRW_ACK SUFI

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

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

Sender
RESET PDU

Receiver

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

RESET ACK PDU

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

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

ns-2 simulator with extra link layer protocols, wireless links & error models
TCP/UDP

Simulation topology
TCP/UDP IP LL TCP/UDP IP LL

Web Browsing

IP LL

File transfer (FTP)

Metric: Server-to-client data throughput Measured completed transactions only Transfer of a 10 MB file (unidirectional) Metric: Application data throughput 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)

PHY

PHY

PHY

Wired server

Wired host

Wireless client

CBR Media Distribution

LAN: 10 Mb data rate, 1 ms delay WAN: 2 Mb data rate, 50 ms delay 64 Kbps data rate, 50 ms delay, 250 bytes frame payload, Uniform or Two State error model

Uniform error model

Each test performed 30 times Tested frame loss at rates 0%, 1.5%, 2.5%, 5.4% and 9.8%

Two state error model


Loss probability same for each pkt Good state of the channel (10-6 error rate) Bad state of the channel (10-2 error rate)

mmakidis05@aueb.gr

18

Selective Repeat

RLC/AM parameters
Parameter Window size (Sender & Receiver) Poll triggers Uniform model (Cellular link) 128 frames Timer_Poll, Window Based Two State model (PCS link) 128 frames Timer_Poll, Window Based, Every last PDU in retransmission buffer Detection of missing PDU, Periodic status reporting Yes Yes No 80%

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

Status report triggers (other than polling) Poll Prohibit enabled Status Prohibit enabled RESET enabled Poll Window SDU Discard Mode MaxDAT Timer_Status_Prohibit timeout Timer_Status_Periodic timeout Timer_Poll timeout Timer_Poll_Prohibit timeout Timer_MRW timeout Status report piggybacking enabled

Detection of missing PDU, Periodic status reporting Yes No No 70%

SDU discard after x number SDU discard after x number of transmissions of transmissions 3 400 ms 200 ms 100 ms 500 ms No 2 90 ms 500 ms 200 ms 100 ms 110 ms No

SR variants

Simple SR with fixed timeout value 1.1s Adaptive SR with dynamic timeout value (self-cloacking, like TCP)

Uniform model: 3srtt+2srttvar Two State model: 4srtt+0srttvar

mmakidis05@aueb.gr

19

Application impact (Uniform mdl.) Application impact (Two State mdl.) Topology impact

mmakidis05@aueb.gr

20

Web browsing
HTTP w/o contention, LAN/Cellular links 50 45 40 Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM

File transfer
FTP w/o contention, LAN/Cellular links 70 Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM

60

Throughput (Kbps)

30 25 20 15

Throughput (Kbps)

35

50

40

30

20
10 5 0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

10 0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

RLC/AM performance depends on application

Adaptive SR has high throughput Almost identical results for WAN topology
mmakidis05@aueb.gr 21

Poor performance for web browsing

Web browsing
HTTP w/o contention, LAN/PCS links 50 Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM 45
Throughput (Kbps)

File transfer
FTP w/o contention, LAN/PCS links 65 Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM

60

40

Throughput (Kbps)

55

50

35

45

30

40

25 0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

35 0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

Lower throughput in Two State model RLC/AM performance depends on application

Adaptive SR has high throughput Almost identical results for WAN topology It has been shown that TCP performs worse in the Two State model

Poor performance for web browsing, OK for FTP but not for high frame loss rates

mmakidis05@aueb.gr

22

Almost the same performance for both topologies


Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM

HTTP w/o contention, LAN/Cellular links 50 45 Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM 40

HTTP w/o contention, WAN/Cellular links

Web browsing

35

40 30
Throughput (Kbps) Throughput (Kbps)

35 30 25 20 15 10 5 0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9

25

20

Lower throughput in WAN topology due to higher delay in interactive application

LAN
10

15

10

WAN
0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

FTP w/o contention, LAN/Cellular links 70 Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM 70

FTP w/o contention, WAN/Cellular links Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM

60

60

File transfer

Throughput (Kbps)

40

Throughput (Kbps)

50

50

40

Similar results for the Two State model as well.

30

30

20

LAN
0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

20

WAN
0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

10

10

mmakidis05@aueb.gr

23

CBR CBR CBR CBR

cont. cont. cont. cont.

impact impact impact impact

(HTTP) (Un. mdl.) (HTTP) (TS mdl.) (FTP) (Un. mdl.) (FTP) (TS mdl.)

mmakidis05@aueb.gr

24

Without CBR contention


HTTP w/o contention, LAN/Cellular links 50 45 40 Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM

With CBR contention


HTTP with contention, LAN/Cellular links 35 Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM

30

Throughput (Kbps)

30 25 20 15

Throughput (Kbps)
0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

35

25

20

15

10
10 5

5 0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

Similar relative performance for all protocols Identical results for the WAN topology as well Adaptive SR has the highest throughput
mmakidis05@aueb.gr 25

Without CBR contention


HTTP w/o contention, LAN/PCS links 50 Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM 45

With CBR contention


HTTP with contention, LAN/PCS links 34 32 30 Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM

Throughput (Kbps)

Throughput (Kbps)
0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

40

28 26 24 22

35

30

20
25

18 0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

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

Without CBR contention


FTP w/o contention, LAN/Cellular links 70 Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM 45

With CBR contention


FTP with contention, LAN/Cellular links Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM

60

40

35
Throughput (Kbps) Throughput (Kbps)

50

30

40

25

30

20 20

15

10 0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

10 0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

Similar relative performance for all protocols Identical results for the WAN topology as well
mmakidis05@aueb.gr 27

Without CBR contention


FTP w/o contention, LAN/PCS links 65 Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM 42 40 38 36
Throughput (Kbps) Throughput (Kbps)

With CBR contention


FTP with contention, LAN/PCS links Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM

60

55

34 32 30 28 26

50

45

40

24 22

35 0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

20 0 1 2 3

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

4 5 6 Frame loss rate (%)

10

CBR with HTTP contention CBR with FTP contention

mmakidis05@aueb.gr

29

Uniform error model


CBR with HTTP contention, LAN/Cellular links 3 Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM
4

Two State error model


CBR with HTTP contention, LAN/PCS links Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM

2.5
Packet delay (seconds)

3.5

Packet delay (seconds)

1.5

2.5

0.5

1.5

0 0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

1 0 1 2 3

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

4 5 6 Frame loss rate (%)

10

mmakidis05@aueb.gr

30

Uniform error model


CBR with FTP contention, LAN/Cellular links 3.5 Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM

Two State error model


CBR with FTP contention, LAN/PCS links 5.5 5 4.5 4 3.5 3 2.5 Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM

3
Packet delay (seconds)

2.5

1.5

0.5

Packet delay (seconds)


0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

2 1.5 0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

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

FTP throughput, Uniform model FTP throughput, Two State model Web Browsing throughput

mmakidis05@aueb.gr

32

Discard after x transmissions


FTP w/o contention, LAN/Cellular links 70 Raw Link RLC/AM MaxDAT=2 RLC/AM MaxDAT=3 RLC/AM MaxDAT=4 RLC/AM MaxDAT=5 RLC/AM MaxDAT=6 RLC/AM MaxDAT=7
Throughput (Kbps)
70

Discard after x time


FTP w/o contention, LAN/Cellular links Raw Link RLC/AM disc. to=0.1s RLC/AM disc. to=0.2s RLC/AM disc. to=0.3s RLC/AM disc. to=0.4s RLC/AM disc. to=0.5s RLC/AM disc. to=0.6s RLC/AM disc. to=0.7s

60

60

Throughput (Kbps)

50

50

40

40

30

30

20

20

10 0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

10 0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

Discard after x transm.: Higher throughput

Timer-based discard: Lower throughput


Highest throughput for MaxDAT=3 for the Uniform error model Higher than raw link only in high frame loss rates Timeout values 300-700 ms have almost the same throughput

mmakidis05@aueb.gr

33

Discard after x transmissions


FTP w/o contention, LAN/PCS links 65 Raw Link RLC/AM MaxDAT=2 RLC/AM MaxDAT=3 RLC/AM MaxDAT=4 RLC/AM MaxDAT=5 RLC/AM MaxDAT=6 RLC/AM MaxDAT=7
Throughput (Kbps)
65

Discard after x time


FTP w/o contention, LAN/PCS links Raw Link RLC/AM disc. to=0.1s RLC/AM disc. to=0.2s RLC/AM disc. to=0.3s RLC/AM disc. to=0.4s RLC/AM disc. to=0.5s RLC/AM disc. to=0.6s RLC/AM disc. to=0.7s

60

60

Throughput (Kbps)

55

55

50

50

45

45

40

40

35 0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

35 0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

Discard after x transm.: Higher throughput

Timer-based discard: Lower throughput


Highest throughput for MaxDAT=2 for the Two State error model Almost the same as the raw link Timeout values 300-700 ms have almost the same throughput

mmakidis05@aueb.gr

34

Discard after x transmissions


HTTP w/o contention, LAN/Cellular links 50 45 40 Raw Link RLC/AM MaxDAT=2 RLC/AM MaxDAT=3 RLC/AM MaxDAT=4 RLC/AM MaxDAT=5 RLC/AM MaxDAT=6 RLC/AM MaxDAT=7
Throughput (Kbps)

Discard after x time


HTTP w/o contention, LAN/Cellular links 50 45 40 35 30 25 20 15 10 5 0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10 Raw Link RLC/AM disc. to=0.1s RLC/AM disc. to=0.2s RLC/AM disc. to=0.3s RLC/AM disc. to=0.4s RLC/AM disc. to=0.5s RLC/AM disc. to=0.6s RLC/AM disc. to=0.7s

Throughput (Kbps)

35 30 25 20 15 10 5 0 1 2 3 4 5 6 Frame loss rate (%) 7 8 9 10

Discard after x transm.: Higher throughput Timer-based discard: Lower throughput Similar results for the Two State model

Higher than raw link only in high frame loss rates Timeout values 300-700 ms have almost the same throughput

mmakidis05@aueb.gr

35

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

Makidis Michael
mmakidis05@aueb.gr

You might also like