ARQ: Loss Detection at Receiv er ARQ: Ackno wledgement … · - can not justify message j (i+1 < j...

4
Error Control Automatic Repeat Request (ARQ) - A lost message will be retransmitted by the sender - Error detection (redundancy) > handle as loss - Needs a return path (“acknowledgement”) - In the exercise: Ask the sender again if you don’t know the word, or if you feel unsure. Forward error control (FEC) - Redundancy to correct errors - Does not need return path - In the exercise: The sender spells a word, or point out difficulties. Repeat a word. ARQ: Loss Detection at Sender Problems: - appropriate values for the timers Timeout > RTT RTT not known a priori, not constant - control messages can get lost S R Timer=0 Timer=0 Timeout cause consequence fault ARQ: Loss Detection at Receiver Problems: - exchange of control information must be made reliable (loss detection for control information) - appropriate values for the timers Advantage: - no unnecessary retransmissions Alternatives: - checksum based - gap based (if messages arrive in order) gap in sequence numbers > NAK problem: last message S R cause consequence fault Timer=0 Info Timeout 1 2 3 3 4 5 NAK(3) ARQ: Acknowledgement Schemes sender based loss detection: ACK (+ev. NAK) receiver based loss detection: NAK Cumulative ACK ACK(x) = message i is received i<x (receiver expects message x) + redundancy (ACK(j) can get lost; j<x) + simplicity (one number) - can not justify message j (i+1 < j < i+k) if message i is lost until message i is received Selective ACK ACK(x1, x2, ...) = message i is received i {x1, x2, ...} - loss of redundancy (option: send each ACK sequence number in multiple ACK messages; combined with cumulative ACK) Negative ACK (NAK) + speed-up + reduce dependance on good timeout mechanisms

Transcript of ARQ: Loss Detection at Receiv er ARQ: Ackno wledgement … · - can not justify message j (i+1 < j...

Error Control

• Automatic Repeat Request (ARQ)- A lost message will be retransmitted by the sender

- Error detection (redundancy) > handle as loss

- Needs a return path (“acknowledgement”)

- In the exercise: Ask the sender again if you don’t know the word, or if you feel unsure.

• Forward error control (FEC)- Redundancy to correct errors

- Does not need return path

- In the exercise: The sender spells a word, or point out difficulties. Repeat a word.

ARQ: Loss Detection at Sender

Problems: - appropriate values for the timers

Timeout > RTT

RTT not known a priori, not constant

- control messages can get lost

S

R

Timer=0 Timer=0 Timeout

causeconsequencefault

ARQ: Loss Detection at Receiver

Problems: - exchange of control information must be made

reliable (loss detection for control information)

- appropriate values for the timers

Advantage: - no unnecessary retransmissions

Alternatives: - checksum based

- gap based (if messages arrive in order)

gap in sequence numbers > NAK

problem: last message

S

R

causeconsequencefault

Timer=0

Info

Timeout

1 2 3 34 5

NA

K(3

)

ARQ: Acknowledgement Schemessender based loss detection: ACK (+ev. NAK)

receiver based loss detection: NAK

• Cumulative ACKACK(x) = message i is received ∀ i<x (receiver expects message x)

+ redundancy (ACK(j) can get lost; j<x)

+ simplicity (one number)

- can not justify message j (i+1 < j < i+k) if message i is lost until message i is received

• Selective ACKACK(x1, x2, ...) = message i is received ∀ i ∈ {x1, x2, ...}

- loss of redundancy (option: send each ACK sequence number in multiple ACK

messages; combined with cumulative ACK)

• Negative ACK (NAK)+ speed-up

+ reduce dependance on good timeout mechanisms

ARQ: Retransmission Schemes 1

• Independent of strategies used for loss detection and acknowledgement generation!

• ARQ Protocols- Stop and Wait

- Go-Back-N

- Selective Retransmission

• Pipelining: sender allows multiple unacknowledged pkts

ARQ: Retransmission Schemes 2

Go-Back-N (w/o window)

S

R

1 2 3 3N 21

Sender Resend all sent but not ack:ed PDUs.Timeout: ! 1 single timer (oldest not ack:ed PDU)! ACK > reset timer

Reciever PDU in-order: send ACK, deliver to applicationPDU out-of-order: send ACK of last in-order PDU.! cumulative ACK natural! not buffered

ARQ: Retransmission Schemes 2

Go-Back-N (w/o window)

- no need for a queue at the receiver

- inefficient use of transmission capacity

S

R

1 2 3 3N 21

ARQ: Retransmission Schemes 3S

R

1 2 3 N+2N N+11Selective Repeat

(w/o window)

Sender Resend only oldest not ack:ed PDU.selective ACK > Timeout: Individual timerscumulative ACK > Timeout: one timer

Reciever PDU: individual ACK (in-order or not)Buffer out-of-order PDUs

ARQ: Retransmission Schemes 3

Selective Repeat (w/o window)- Selective ACK: Retransmission of message i if NAK(i) or TOi

- Cumulative ACK: • TOi > send message i ; TOj=0 ∀ i"j"k

• avoid unnecessary retransmissions

• burst errors > requires several RTT to retransmitt all lost messages

- messages in receiver buffer have to be reordered (high buffer storage)

S

R

1 2 3 N+2N N+11

4 Nyquist

Rmax = 2B log2 V bit/s

5 Shannon

Rmax = B log2(1 + S/N) bit/s

6 Fourier Series

f(t) =12a0 +

!!

n=1

an cos(n!

Tt) +

!!

n=1

bn sin(n!

Tt) (5)

7 Retransmission Schemes

Tput =(1! p)TT + 2P

=1! p

1 + 2A(6)

Tput =(1! p)T

T + p · 2P=

1! p

1 + p · 2A(7)

Tput =(1! p)T

T= 1! p (8)

2

ARQ: Efficiency

1!

3

2

3

1

2

1!

5

2

3

1

4

1!

1

Stop & Wait Go-Back-N Selective Repeat

4 Nyquist

Rmax = 2B log2 V bit/s

5 Shannon

Rmax = B log2(1 + S/N) bit/s

6 Fourier Series

f(t) =12a0 +

!!

n=1

an cos(n!

Tt) +

!!

n=1

bn sin(n!

Tt) (5)

7 Retransmission Schemes

Tput =(1! p)TT + 2P

=1! p

1 + 2A(6)

Tput =(1! p)T

T + 2P · p=

1! p

1 + 2A · p(7)

Tput =(1! p)T

T= 1! p (8)

2

4 Nyquist

Rmax = 2B log2 V bit/s

5 Shannon

Rmax = B log2(1 + S/N) bit/s

6 Fourier Series

f(t) =12a0 +

!!

n=1

an cos(n!

Tt) +

!!

n=1

bn sin(n!

Tt) (5)

7 Retransmission Schemes

Tput =(1! p)TT + 2P

=1! p

1 + 2A(6)

Tput =(1! p)T

T + p · 2P=

1! p

1 + p · 2A(7)

Tput =(1! p)T

T= 1! p (8)

2

efficiency = channel usage for successful transmissions

T: Transmission time (size/rate)! ! ! A = P/T: measure about un-ack:ed messages!P: Propagation time (distance/speed)## (Satellite: A>>1; LAN: A!0)

!

ARQ: Timeout

Tput

Timeoutunnecessaryretransmissions

unnecessarywaiting

schematic figure

Forward Error Correction (FEC)

• Transmit redundant information that can be used to reconstruct lost or erroneous packets at the receiver.

• Advantage: avoidance of retransmissions. This is meaningful for long communication delays (satellite link, compact disc).

• Problem: redundant information is not efficient.

• Example 1: Redundancy- Messages T1,T2,T3

- send T1,T2,T3,R1,R2 with R1=T1⊕T2, R2=T2⊕T3

• Example 2: Error correcting codes - e.g., Hamming code

Error Control in TCP

• Loss detection: sender based (Timer)- adaptive timeout calculation

- triple duplicate ACK

• Acknowledgement: cumulative ACK- sequence number: next octet that the receiver expects to get.

- variable message length; retransmitted messages can include more than the original.

• Retransmision: (no specification)- until 1987: GBN

- since 1987: Selective Retransmit

- proposed modification: selective ACK