Académique Documents
Professionnel Documents
Culture Documents
• Homework 1 graded
• Homework 2 out
– Due in a week, 1/30
• Project 2 problems
– Minet can only compile w/ old version of gcc
(2.96).
– Only tlab-login has that version
– Statically compile it and run on other Tlab
machines to avoid overload
Review of Previous Lecture
• Reliable transfer protocols
– rdt2.1: sender, handles garbled ACK/NAKs
– rdt2.2: a NAK-free protocol
– rdt3.0: channels with errors and loss
– Pipelined protocols
• Go-back-N
• sender window
– N consecutive seq #’s
– again limits seq #s of sent, unACKed pkts
Selective repeat: sender, receiver windows
Selective repeat
sender receiver
data from above : pkt n in [rcvbase, rcvbase+N-1]
• if next available seq # in • send ACK(n)
window, send pkt
• out-of-order: buffer
timeout(n): • in-order: deliver (also
• resend pkt n, restart timer deliver buffered, in-order
pkts), advance window to
ACK(n) in [sendbase,sendbase+N]: next not-yet-received pkt
350
300
250
RTT (milliseconds)
200
150
100
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
(typically, = 0.25)
Seq=92 timeout
timeout
X
loss
Sendbase
= 100
Seq=92 timeout
SendBase
= 120
SendBase
= 100 SendBase
= 120 premature timeout
time time
lost ACK scenario
TCP retransmission scenarios (more)
Host A Host B
timeout
X
loss
SendBase
= 120
time
Cumulative ACK scenario
TCP ACK generation [RFC 1122, RFC 2581]