error control tanenbaum 3.1.3 other references 6/3/2015design and analysis of computer networks...
Post on 19-Dec-2015
218 views
TRANSCRIPT
![Page 1: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/1.jpg)
Error Control
Tanenbaum 3.1.3
Other references
![Page 2: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/2.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 2
Error Control
• What? Technique(s) used to enable reliable delivery of data to a destination.
• Why? Signal may get corrupted and packets may be disappear
• How?
![Page 3: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/3.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 3
Review of OSI Reference ModelApplication Application
Presentation Presentation
Interface Interface
Session Session
Interface Interface
Transport Transport
Interface Interface
Protocol
Protocol
Protocol
Protocol
Interface Interface
Interface Interface
Network Network
Link Link
Interface Interface
Phys. Phys
InterfaceInterfaceLink Link
InterfaceInterface
Phys. Phys
NetworkNetwork
User/Client User/Server
![Page 4: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/4.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 4
Types of Errors• Bit corruption: one or multiple bits in a frame are corrupted (0 flipped
to 1, or 1 flipped to 0) during transmission. Results in packet corruption. Bit error rate (BER) very low on terrestrial links. Derive relationship between BER and packet error rate PER (assuming a packet with n bits).
• Packet error: loss (due to congestion), duplication, or reordering
It is also the probability that no bit in a frame is corrupted (1-BER)N
What is the probability that a packet is not corrupted? 1-PER
Then 1-PER = (1-BER)N PER = 1-(1-BER)N
~~ N.BER if BER very small
![Page 5: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/5.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 5
Error Control (Where?)
• Link Layer (point-to-point)– Point-to-point protocol (PPP) (Detection only)
– High-level Data Link Control (HDLC) (AQM protocol)
• Transport Layer (end-to-end)– User Datagram Protocol (UDP) (Detection only)
– Transmission Control Protocol (TCP) (AQM)
![Page 6: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/6.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 6
Main Strategies
• Error Detection and retransmission: data is encoded such that errors can be detected. When an error occurs, sender must retransmit the packet
• Error Correction: data is encoded such that errors are detected and corrected with no retransmission.
![Page 7: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/7.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 7
Error Detection
• Consider a word w to be sent• To detect corrupted bits on w at receiver, we need to
add some check bits, forming a codeword cw• Example: let the word w=‘01100001’ to be sent, we could
add a check bit equal to 0 if the total number of bit in the word is even. Check bit is 1 otherwise.
• Such check bit is called a parity bit, codeword would be cw=‘011000011’
![Page 8: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/8.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 8
Error Detection (General)
• Consider an alphabet of words {wi}
w0 000a0 corrupted
w1 001
a2 corrupted
w4 100
a1 corrupted
w2 010
a2a1a0
w0 000w1 001w2 010w3 011w4 100w5 101w6 110w7 111
Words
![Page 9: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/9.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 9
Error Detection (General)
• Consider an alphabet of words {wi}
a2a1a0
w0 000w1 001w2 010w3 011w4 100w5 101w6 110w7 111
Codeword
c1c0
0001111010110100
Checkbits
Hamming Distance (wi,wj) is thethe number of bits by which wi and wj
differ.
Smallest Hamming distance for thisencoding scheme is 2
(c1=a2+a1 and c0=a1+a0)
![Page 10: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/10.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 10
Requirements for Detection or Correction
• To detect d corrupted bits, the encoding scheme needs to have a minimal hamming distance of d+1
• To correct d corrupted bits, the encoding scheme needs to have a minimal hamming distance of 2.d+1
![Page 11: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/11.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 11
Constraints on Generating Check bits
• We need to generate the smallest number of check bits and obtain the highest hamming distance between codewords.
• How to generate check bits under such constraints?
![Page 12: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/12.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 12
Examples
• Cyclic Redundancy Check (CRC)
• BCH (Bose-Chaudhury-Hocquenghem) codes
• Reed-Solomon code
• Turbo codes
• Convolutional codes
![Page 13: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/13.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 13
Error Correction or Error Detection?
• Consider a frame of n bits to be sent– To be able to detect up to k corrupted bits, we
need to add m bits.
– To be able to detect and correct up to k corrupted bits, we need m’ bits.
m’ > m
![Page 14: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/14.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 14
Error Correction or Error Detection? (Cont’d)
• Consider a channel on which packet error rate is p such that there are never more than k corrupted bits per frame sent.
• If we use error detection only, each frame has size n+m
• If we use error correction, each frame has size n+m’ m’ > m
![Page 15: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/15.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 15
Error Correction or Error Detection? (Cont’d)
• If we use error correction, a packet is always successfully received. So, the cost of sending each packet and is equal to the time it takes to send (n+m’) bits. Denote this time as T(n+m’).
• If we use error detection, the packet must be resent whenever the packet gets corrupted. Suppose that the penalty to resend a packet is equal to A. The penalty A includes the time to realize that the packet is lost. How much time does it take to send successfully a packet when using error detection?
![Page 16: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/16.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 16
Error Correction or Error Detection? (Cont’d)
• We are trying to answer the question: how much time does it take to send successfully a packet when using error detection?
• We can in fact derive the expected time it would take to send successfully a packet when using error detection.
The time is :1) T(n+m) if successful the first time with probability (1-p)2) 2.T(n+m)+A if successful the second time with probability p.(1-p)3) 3.T(n+m)+2.A) if successful the third time with probability p2.(1-p)4) …………………………….5) i.(T(n+m)+ (i-1).A) if successful the ith time with probability pi-1.(1-p)
• The expected time is (T(n+m)+ p.A)/(1-p)
![Page 17: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/17.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 17
Error Correction or Error Detection? (Cont’d)
• Recall that expected time is (T(n+m)+ p.A)/(1-p) with error detection and the time is T(n+m’) with error correction.
• If p is small, the expected cost becomes T(n+m) + p.A. The answer relies on whether p.A compensates the extra bits due to m’
• If p is not small, error correction becomes more interesting
• Sometimes, we just cannot afford to retransmit (for example real audio), then error correction is necessary!
![Page 18: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/18.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 18
Retransmission Protocols
• Stop and wait protocol (SWP)
• Alternating Bit Protocol (ABP)
• Selective repeat protocol (SRP)
• Go back n (GBN)
![Page 19: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/19.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 19
Characteristics of Retransmission Protocols
• Correctness: A retransmission protocol is correct if it delivers exactly one correct copy of each packet
• Efficiency: it is the largest fraction of the channel capacity that the retransmission protocol “consumes”. Called also “link utilization”.
![Page 20: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/20.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 20
Correctness of SWP
• Operation of SWP:– Whenever a receiver gets a correct packet, it sends
back an acknowledgment (without sequence #).– The sender resends a packet previously sent if it did
not get an acknowledgement from the receiver within a known bound To (Timeout value)
– Sender, alternately, numbers the packets with 0 or 1.
![Page 21: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/21.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 21
Correctness: Finite State Machine
• List all possible states of the system
• List all events leading to transitions from state to state
• Check the sequences of transitions
![Page 22: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/22.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 22
SWP Correctness
• We have a sender S and a receiver R• What are the possible states for such protocol?• A state can be summarized by a couple (x,y):
– X is the sequence number on the last packet sent
– Y is the sequence number that the receiver is waiting for (0 initially).
![Page 23: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/23.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 23
SWP Correctness (2)
Start S sends 0S(0) (S sends a new packet 0)
0,0
0 lostS sends copy of 0
R gets 0R(0) (R receives a new packet 0) 0,1
Ack 0 lost
S gets ACK 0S send 1
1,1
Last sequence number sent
Sequence number expected by receiver
R(1)R gets 1
S(1)
1,0
1 lostS sends copy of 1Ack 1 lost
S gets ACK 1S send 0 S(0)
![Page 24: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/24.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 24
SWP Efficiency
• Case 1: Analysis with loss error. No packet is lost
• Case 2: We assume a packet error rate PER
![Page 25: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/25.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 25
Simplified Model
Sender Receiver
Bandwidth
Propagation delay
Speed of beltSpeed of loading
![Page 26: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/26.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 26
Bandwidth vs Propagation Delay
• Bandwidth: the number of bits sent or received per unit time. This is a measure of the time it takes to put a given number on the wire.
• Propagation delay: time it takes the first bit to travel from the source to the destination. This parameter is related to and limited by the speed of light.
![Page 27: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/27.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 27
Examples
• Consider a T1 line from Seattle to Miami:– Bandwidth=1.5 Mbits/s– Propagation delay is about 70ms
• Consider Ethernet in CSSE department:– Bandwidth=?– Propagation delay=?
![Page 28: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/28.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 28
Analysis• What are the values we are interested in?
– 1) Throughput = Amount of data flowing from sender to receiver per unit time
– How to compute that?– Bw: bandwidth in bits/s (given), Tp=Propagation delay in s (given), – S= Size of frame in bits (given) Ct= Computing time negligible
– Tr = transmission time of a frame = S/Bw– Ta = transmission of an ack = Sa/Bw
timeSenderTr
Receiver TpCt
Ta
Tp
Time 0 T
Tr
TpCt
Ta
Tp
T
Tr
![Page 29: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/29.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 29
Analysis (cont’d)• Between the time the sender starts sending a
segment and the time the ack is received, a time T elapses.
• This time T= Tp + Tr + Ct + 1/B + Tp• If we neglect the processing time Ct and 1/B, the
time T becomesT = Tp + Tr + Tp = 2.Tp + Tr
timeSenderTr
Receiver TpCt
Ta
Tp
Tr
TpCt
Ta
Tp
T
![Page 30: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/30.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 30
Analysis (cont’d)• Conclusion: every cycle T, we send one segment.
Therefore we send one segment per T, then the throughput = 1/(2.Tp+Tr) (in frames per sec)
• Tr = Frame size / Bandwidth
timeSenderTr
Receiver TpCt
Ta
Tp
Tr
TpCt
Ta
Tp
T
![Page 31: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/31.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 31
Is Stop-And-Wait Efficient? Example
• Frame size = S = 100 bits, Bw = 1.5 Mbits/s• Tr = Frame size / Bandwidth = S/Bw = 100 / 1.5 Mbits/s= 66.67 s• Throughput=1/T = 1/(2.Tp+Tr) =1/(2*50ms + 66.67 s) which is about 1
frame per 100ms = 10 pkts/second• Line rate (bandwidth in frames per seconds) = 1/Tr• Efficiency is by definition equal to (Throughput)/(Line rate) = (1/T) / (1/Tr) • In this case, the efficiecy 10 / [1/66 10-6]• Therefore …Efficiency = 660 10-6 = 0.00066 = 0.066 %
Sender Receiver
Bandwidth = 1.5 Mbps
Propagation delay =50ms
![Page 32: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/32.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 32
Where Is the Problem?
• The throughput achieved uses 0.067% of the available bandwidth when there are no losses. Efficiency is here 0.067%
• What is the efficiency when there are losses?
![Page 33: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/33.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 33
Keys Facts about SWP
• Propagation delay in critical
• Even, if bandwidth is infinite
• i.e., Tr = 0
Throughput (in packets/second) = 1
2.Tp + Tr
![Page 34: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/34.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 34
Case 2: Efficiency in Presence of Errors
Sender
Receiver
T (if successful)
#n+1#n
• Let X = random variable representing the duration of a cycle (time between two different frames)
• We have to compute E(X): the expected value of X
#n
To (when unsuccessful)
![Page 35: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/35.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 35
Case 2: Efficiency in Presence of Errors (2)
• We can say:– 1) When successful, X = T
– 2) When unsucessful, X = To + Y, where Y is a random variable representing the time it would take before we send the (n+1)th frame
• Based on above, we can say:– X = T with probability (1-PER) (PER= Packet Error Rate)
– X = To + Y with probability PER
• What is E(X), the expected value of X?
Sender
Receiver
#n
T (if successful)
#n+1 #n
To (when unsuccessful)
![Page 36: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/36.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 36
Case 2: Efficiency in Presence of Errors (3)
• Recall that:– X = T with probability (1-PER) (PER= Packet Error Rate)
– X = To + Y with probability PER
• By definition of E(X):– E(X) = (1-PER).T + PER.(To + E(Y))
• But, what is E(Y)?
Sender
Receiver
#n
T (if successful)
#n+1 #n
To (when unsuccessful)
![Page 37: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/37.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 37
Case 2: Efficiency in Presence of Errors (4)
• Recall that by definition of E(X):– E(X) = (1-PER).T + PER.(To + E(Y))
• But, what is E(Y)? Recall that Y is the time until we send the next frame. Then E(Y) is also the expected length of the cycle.
• Then, E(Y) = E(X)• Then, E(X) = (1-PER).T + PER.(To + E(X))• We just have to solve for E(X)
Sender
Receiver
#n
T (if successful)
#n+1 #n
To (when unsuccessful)
![Page 38: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/38.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 38
Case 2: Efficiency in Presence of Errors (5)
• Recall, E(X) = (1-PER).T + PER.(To + E(X))
• Solving for E(X):
• E(X) = T + [To . PER/(1-PER)]
• In words, the average cycle is E(X).
• In other words, we send one frame per E(X)
Sender
Receiver
#n
T (if successful)
#n+1 #n
E(X) (on average)
![Page 39: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/39.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 39
Case 2: Efficiency in Presence of Errors (6)
• Recall, we send one frame every E(X) = T + [To . PER/(1-PER)]
• Throughput is then equal to 1/E(X) . (in frames per second)• The efficiency is by definition Throughput/ Line Rate.• The efficiency is then (1/E(X)) / (1/Tr) • The efficiency is then Tr/E(X) = Tr/(T + [To . PER/(1-PER)])• If we replace T with its value (slide # 29), I.e., T= 2. Tp + Tr
• The efficiency is Tr/E(X) = Tr/(2.Tp + Tr + [To . PER/(1-PER)])
Sender
Receiver
#n
T (if successful)
#n+1 #n
E(X) (on average)
Tr
![Page 40: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/40.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 40
Example: Efficiency in Presence of Errors (7)
• Frame size = S = 1500 bytes, Bw = 1.5 Mbits/s, Tp = 50ms
• What is Tr ?
• Let us discuss the value of the time out To
• Let PER = 10-2.
• What is the efficiency ?
• Recall that the efficiency is Tr/E(X) = Tr/(2.Tp + Tr + [To . PER/(1-PER)])
Sender
Receiver
#n
T (if successful)
#n+1 #n
E(X) (on average)
Tr
![Page 41: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/41.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 41
Impact of PER on SWP
• Frame size = S = 1500 bytes, Bw = 1.5 Mbits/s, Tp = 50ms
• Tr = S/Bw = 8 ms
• Let To = 2.T = 2. (2.Tp+Tr) = 216 ms
• Recall that the efficiency is Tr/E(X) = Tr/(2.Tp + Tr + [To . PER/(1-PER)])
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0 0.2 0.4 0.6 0.8 1 1.2
Series1
![Page 42: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/42.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 42
Impact of Frame Size on SWP
• Frame size = S = variable, Bw = 1.5 Mbits/s, Tp = 50ms, PER = 1% = 0.01
• Tr = S/Bw = 8 ms
• Let To = 2.T = 2. (2.Tp+Tr) = 216 ms
• Recall that the efficiency is Tr/E(X) = Tr/(2.Tp + Tr + [To . PER/(1-PER)])
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0 100000 200000 300000 400000 500000 600000
Packet Size (Bits)
Eff
icie
ncy
Series1
![Page 43: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/43.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 43
True Picture Impact of Frame Size on SWP
• PER depends on packet size for a given BER, as PER = 1-(1-BER)S
• Frame size = S = variable, Bw = 1.5 Mbits/s, Tp = 50ms,BER = 5.10-6
• Tr = S/Bw = 8 ms• Let To = 2.T = 2. (2.Tp+Tr) = 216 ms• Recall that the efficiency is Tr/E(X) = Tr/(2.Tp + Tr + [To . PER/(1-PER)])
0
0.05
0.1
0.15
0.2
0.25
0 100000 200000 300000 400000 500000 600000
Packet Size (Bits)
Eff
icie
ncy
Series1
![Page 44: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/44.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 44
Alternating Bit Protocol (ABP)
• We do not know the bound To (Timeout value).
• If the bound is not known, we may confuse acknowledgements (is ack for new packet, or for some OLD packet thought lost).
• What to do?
• Put sequence numbers on acks
![Page 45: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/45.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 45
Alternating Bit Protocol (ABP)
• Correctness: ABP can be shown to be correct is acks are numbered (0,1).
• Efficiency: same efficiency as SWP
![Page 46: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/46.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 46
Sliding Window Protocol
• Keep sending packets without waiting for acknowledgements.
• How many packets should be outstanding without ack?
• The number of oustanding frames is the window size W
timeSender
Receiver
0 1 2 3
S=0
ack=0
S=1 S=2 S=3 S=4 S=5 S=6
4 5 6 7
ack=1 ack=2 ack=3 ack=0 ack=0
![Page 47: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/47.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 47
Window Principle (Maintained by the Sender)
Sequencenumber
Sent andacked
34 35 36 37 38 39 40 45 46 47 48 49 50…...
Sent, notacked
May be sentif data available
Cannot besent
Window Size = W = 7 (advertised by receiver or limited by network conditions)
![Page 48: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/48.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 48
Go Back N
• If packet # i is not acked, the sender will resend all packets starting packet # i.
• We are using a window of W=4 frames
Sender
Receiver
0 1 2 3
To (Timeout)
1 2 30
Discarded
0
![Page 49: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/49.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 49
Speeding Up Go Back N
• Use negative acknowledgments
Sender
Receiver
0 1 2 3
To (Timeout)
1 2 30 0
NAK
![Page 50: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/50.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 50
Go Back N• Correctness: proof is made by induction starting
with ABP
• Efficiency:
• Without error E= min(1, W.Tr/T)
• Weakness: wasteful retransmissions
Sender
Receiver
0 1 2 3To (Timeout)
1 2 30 0
![Page 51: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/51.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 51
Selective Repeat Protocol• Only packets not acknowledged are resent.
• Efficiency:
• Without error E= min(1, W.Tr/T)
• Efficiency with errors will be studied later
![Page 52: Error Control Tanenbaum 3.1.3 Other references 6/3/2015Design and Analysis of Computer Networks Error Control 2 Error Control What? Technique(s) used](https://reader030.vdocuments.site/reader030/viewer/2022032800/56649d2b5503460f949ffce3/html5/thumbnails/52.jpg)
04/18/23 Design and Analysis of Computer Networks Error Control 52
Conclusion
• SWP is not efficient when propagation delay is high
• Sliding window protocols are needed on path with high propagation delat
• SRP is the best, but requires larger buffers than Go Back N.
• PER is critical to performance
• Frame size has an impact of performance