UCB Error Control in TCP Jean Walrand U
UCB Error Control in TCP Jean Walrand U. C. Berkeley www. eecs. berkeley. edu/~wlr
UCB n n n Outline ARQ versus FEC Link vs. End-to-end ARQ TCP’s version of Go Back N
UCB n n ARQ versus FEC: Forward Error Correction ARQ: Automatic Repeat Request # | data | ED Network Seq # | ACK | ED data | EC Network
UCB n ARQ versus FEC (c’d) Comparison: ARQ Longer delays FEC More extra bits
ARQ versus FEC (c’d) UCB n Tradeoff: Efficiency vs. Delay n n n FEC requires more extra bits than ARQ FEC has smaller delays than ARQ Example n n PER = 1%, RTT = 40 ms, R = 100 Mbps FEC = 10% extra bits n n FEC = about 90% efficient, delay = 20 ms ARQ = 2% extra bits (e. g. ) n ARQ = about 99% efficient, delay = 20 ms (99%) or 60 ms (1%)
Link ARQ vs. End-to-End ARQ UCB n Question: Should every link perform ARQ? n Link ARQ:
Link ARQ vs. End-to-End ARQ (c’d) UCB n End-to-End ARQ:
UCB n Link ARQ vs. End-to-End ARQ (c’d) Two Extreme Cases. Case (1): Noisy Links Link ARQ is faster than E-2 -E ARQ when there are many errors
UCB n Link ARQ vs. End-to-End ARQ (c’d) Case (2): Reliable Links Link ARQ is slower than E-2 -E ARQ when there are few errors
UCB n n n TCP’s version of Go Back N End-to-End ARQ Uses Go Back N; N adjusted to control congestion Numbering scheme: ACK number = seq. number of next byte expected in correct order
UCB TCP’s version of Go Back N (c’d) Example # 2000 | LEN = 200 | P 1 n data ack P 1 # 2200 | LEN = 300 | P 2 # 2500 | LEN = 100 | P 3 # 2600 | LEN = 100 | P 4 # 2500 | LEN = 100 | P 3 # 2500 Store P 4 # 2700 P 3 P 4
UCB n TCP’s version of Go Back N (c’d) Buffers: Last ACK Last Sent SENDER RECEIVER MAX
- Slides: 12