2Two scenarios network End to End Hop by Hop (transport protocol issue) (datalink protocol issue)
3Coping with rx errors Forward Error Correction Retransmission Extra overhead capable of CORRECTING errorsLarge overhead depending on protection capabilityRetransmissionExtra overhead capable of DETECTING errorsSmall constant overhead (2-4 bytes)Called:Frame Check SequenceCyclic Redundance Check
4Retransmission scenarios referred to as ARQ schemes (Automatic Retransmission reQuest) COMPONENTS: a) error checking at receiver; b) feedback to sender; c) retxSRCDSTSRCDSTDATADATAErrorCheck:OKErrorCheck:corruptedACKNACKAutomaticretransmitDATABasic ACK ideaBasic NACK ideaSRCDSTSRCDSTSRCDSTDATADATADATARetxTimeout(RTO)ErrorCheck:corruptedACKDATADATADATABasic ACK/Timeout idea
5Sequence numbers – a must Sender side:Receiver side:DATADATARTOACKDATALINKorNETWORK(ACK lost)rtxDATADATANew data?Old data?Need to univocally “label” all packets circulating in the network between two end points.1 bit (0-1) enough for Stop-and-wait
6Link-level model C bits/sec In e2e scenario, C approximated by bottleneck link rateStop & Wait one frame/packet at a timePipelining (continuous ARQ) more than one frame/packet
8stop-and-wait sender receiver One way delay MSG/C RTT e ACK/C e For simplicity all MSG of same size; extension to != size use mean valueRTTeACK/CeREMARK: throughput always lower thanAvailable link rate!timetime
10stop-and-wait: upper bound /1 MSG = 1500 bytes Under-utilization with: 1) high capacity links, 2) large RTT links
11stop-and-wait: upper bound /2 MSG = 1500 bytes Under-utilization with: 1) high capacity links, 2) large RTT links
12Dealing with errors sender receiver IMPORTANT ISSUE: setting the Time Out right!Too short unnecessary rtxToo short inconsistent protocol operationToo long waste of timeIdeally: TO = RTT+ACK/C (+2 e)Easy to say, but harder to do if RTT is not known (e.g. in e2e scenario)eTOe
13Inconsistent protocol operation senderreceiverM=1M=2 will be NEVER received!Consequence: ACK MUST be also numberedTo always guarantee consistent operationTOM=1M=2M=3
14Performance with loss (upper bound) No processing time, negligible ACKPer packet loss probability PAssumed indipendentP(immediate success) = (1-P)P(success at second tx) = P(1-P)P(success at third tx) = P2(1-P)
16Pipelining idea Up to W>1 frames can be “in fly” In fly = frames transmitted but not yet ACKedSliding WindowSize W“Slides” forward at each received ACK
17Pipelining cases W=4 RTT (+1tx) ? W=10 time time WINDOW SIZING that allowsCONTINUOUS TRANSMISSIONUNDER-SIZEDWINDOW: THROUGHPUT INEFFICIENCY
18Esercizio (fatelo) MSG=500 bytes W=4 C= 2 Mbps Propagation = 16 ms How much time to transmit 6 messages?Which message size for continuous tx?
19Continuous transmission Condition in which link rate is fully utilizedTime to transmitW framesTime to receiveAck of first frameWe may elaborate:This means that full link utilization is possible when window size (in bits) isGreater than the bandwidth (C bit/s) delay (RTT s) product!
20Bandwidth-delay product Network: like a pipeC [bit/s] x D [s]number of bits “flying” in the networknumber of bits injected in the network by the tx, before that the first bit is rxed64KbpsA (64000x0.240) bits“worm” in the air!!bandwidth-delay product = no of bytes that saturate network pipe