Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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