Professional Documents
Culture Documents
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
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
Byte 1
HE E E
Data PDU
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
Byte N
D/C
SUFI 1
Byte 1
Status PDU
Byte 2
Status PDU
SUFI k
Padding
Byte N
D/C
PDU type
RSN
R1
Byte 1
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
Other SUFIs
mmakidis05@aueb.gr
Receive window
VT(A)
VT(S)
VT(MS)
VR(R)
VR(H)
VR(MR)
Acknowledged PDU
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
LOCAL_ SUSPEND
RESET ACK Rq. from upper layers Conf. to upper layers RESET RESET ACK
RESET_ PENDING
RESET RESET ACK
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 ACKs/NACKs
Status PDU
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
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 ACKs/NACKs
Status PDU
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
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
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
The Sender allowed to send only N more PDUs PDUs after the Nth are delayed until the entity is resumed
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
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
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
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
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
Each test performed 30 times Tested frame loss at rates 0%, 1.5%, 2.5%, 5.4% and 9.8%
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
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)
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
Adaptive SR has high throughput Almost identical results for WAN topology
mmakidis05@aueb.gr 21
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
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
HTTP w/o contention, LAN/Cellular links 50 45 Raw Link Selective Repeat Adapt. Selective Repeat RLC/AM 40
Web browsing
35
40 30
Throughput (Kbps) Throughput (Kbps)
25
20
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
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
(HTTP) (Un. mdl.) (HTTP) (TS mdl.) (FTP) (Un. mdl.) (FTP) (TS mdl.)
mmakidis05@aueb.gr
24
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
Similar relative performance for all protocols Identical results for the WAN topology as well Adaptive SR has the highest throughput
mmakidis05@aueb.gr 25
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
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
60
40
35
Throughput (Kbps) Throughput (Kbps)
50
30
40
25
30
20 20
15
Similar relative performance for all protocols Identical results for the WAN topology as well
mmakidis05@aueb.gr 27
60
55
34 32 30 28 26
50
45
40
24 22
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
10
mmakidis05@aueb.gr
29
2.5
Packet delay (seconds)
3.5
1.5
2.5
0.5
1.5
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
10
mmakidis05@aueb.gr
30
3
Packet delay (seconds)
2.5
1.5
0.5
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
60
60
Throughput (Kbps)
50
50
40
40
30
30
20
20
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
60
60
Throughput (Kbps)
55
55
50
50
45
45
40
40
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
Throughput (Kbps)
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