Consider a sender A transmitting data packets, one at a time, to the receiver B
ID: 3886094 • Letter: C
Question
Consider a sender A transmitting data packets, one at a time, to the receiver B over a link in the Internet. Since Internet is full of 'errors', the sender A wants to get some sort of 'evidence' that the receiver B has received each packet correctly. The link between A and B is erroneous in that anything from A to B will be in error with probability p, while anything from B to A will be in error with probability q (0 S p, q<1). Assume that whenever B receives something from A, B can immediately figure out whether or not it's in error (with probability p or 1 - p) and sends out a positive (negative) acknowledgement packet back to A (which is subject to an error with probability q!). Assume that all error events are independent of each other. The sender A sends out one data packet at a time and waits for anything back from B, and retransmits the same data packet over and over again until A receives an error-free positive acknowledgement from B for the packet. Note that this happens only when there is no error in the packet from A to B and also no error in the corresponding positive acknowledgement from B to A. Assume that packet size is P = 9kbits (for data packet and also for the positive/negative acknowledgement packet). The link speed between A and B (either way) is R 3Mbps and the one-way propagation delay between A and B is 15ms. What is the average rate at which A can transmit data packets to B successfully (called 'throughput')? Show your step and express your answer in terms of p, q
Explanation / Answer
The sender A sends out one data packet at a time and waits for anything back from B, and retransmits the same data packet over and over again until A receives an error-free positive acknowledgement from B for the packet. Note that this happens only when there is no error in the packet from A to B and also no error in the corresponding positive acknowledgement from B to A.
Hence the delivery is succesful only when the package is successfuly delivered from A to B and then its confirmation package of same size is successfully delivered from B to A
The confirmation from B to reach A successfully is q.
This mean the average no of packets to be sent by B per successful transmission of one package from B to A will be 1/q.
The probability of a message to reach B from A is p.
We know for one successful transmission B needs to send and hence receive 1/q messages. But the probability of a message to reach B from A is p.
Therefore A need to send (1/q)/p= 1/p*q packages for single transmission of one package.
So 1/p*q packages need to be sent from A to B and then 1/q packages need to be sent from B to A.
Link speed is 3 Mbps
Hence Transmission Delay will be the delay for 1/pq packages from A to B and then 1/q packages from B to A.
1/q packages = 9/q bits, 1/p*q packages = 9/p*q bits
Transmission delay = (9/pq bits)/3Mbps+(9/q bits)/3Mbps= 3/pq ms +3/q ms =(3+3p)/pq ms
The one-way propagation delay between A and B is 15ms. Hence two way propogation delay will be 30 ms
Total delay = Propogation delay + Transmission delay= (3+3p)/pq ms + 30 ms= (3+3p+30pq)/pq ms
Hence 9 bits of data will be delivered in (3+3p+30pq)/pq ms
Throughput = 9 bits/(3+3p+30pq)/pq ms =9pq/(3+3p+30pq) bits per ms or 3pq/(1+p+10pq) kbps