Host $A$ is sending data to host $B$ over a full duplex link. $A$ and $B$ are using the sliding window protocol for flow control. The send and receive window sizes are $5$ packets each. Data packets (sent only from $A$ to $B$) are all $1000$ bytes long and the transmission time for such a packet is $50$ $μs$. Acknowledgment packets (sent only from $B$ to $A$) are very small and require negligible transmission time. The propagation delay over the link is $200$ $μs$. What is the maximum achievable throughput in this communication?

So that means though the connection is full duplex, next window will be sent only after acknowledgement will be received by sender because it is following Sliding Window protocol which has independent acknowledgements.

so you have to use RTT here and RTT = 2 * prop time + Transmission Time = 2 * 200 + 50 = 450

because after transmitting first packet when packet will travel from sender to receiver (Propagation time), other packets will transmit in that time gap. In other words, the sender will transmit rest of 4 packets when 1st packet will be travelling from sender to receiver. Means in overall 50+2*200 ms, sender will have transmitted all the 5 packets. Do you understand? if not let me know. And yes this is only my explanation so may be wrong.

That approach is not correct, in fact completely wrong. It is just assuming the time for the receiver to get the packets. But unless ACK is received back, sender can't resume sending. And that is why we need RTT.

In the best case we assume the receiver sends the request after receiving first packet??

Ack will be received at sender after 200 ms time. In mean time all remaining 4 packets are received at receiver that's why we take 5000 bytes in throughput??

If in Meantime only 2 packets are received at receiver and other 2 packets are still travelling over the link or out of remaining 2 packets only 1 packet is travelling and sender has 1 packet to send then what will be the throughput in both case??

My doubt is why ack is send after transmiiting the 5 packets , acc to me in sliding window protocol ack can be send after transmiting any number of packets , so why we are taking 5 packets ,,, plzzzzzzzzzzzzzzzz zz. Clear this

Even though the connection is full duplex, next window will be sent only after acknowledgement will be received by sender because it is following selective repeat protocol which has independent acknowledgements.

When the data is transmitted using a duplex link, Round Trip Time (RTT) do not include the time taken by ACK frame to reach sender from the receiver. This is because the ACK frames are piggybacked with the data frames that are coming from the receiver for the sender (maybe a bit later).

Aforementioned, we must now calculate the number of frames transmitted during propagation time (rather than round trip time)

i am quoting Arjun Suresh here " That approach is not correct, in fact completely wrong. It is just assuming the time for the receiver to get the packets. But unless ACK is received back, sender can't resume sending. And that is why we need RTT. "

When the data is transmitted using a duplex link, Round Trip Time (RTT) do not include the time taken by ACK frame to reach sender from the receiver. This is because the ACK frames are piggybacked with the data frames that are coming from the receiver for the sender

Even though the connection is full duplex, next window will be sent only after acknowledgement will be received by sender because it is following Sliding Window protocol which has independent acknowledgements.

what i think is RTT =Propagation time for frame + Transmission time for frame + Propagation time for ACK + Transmission time for ACK

as what Arjun said in that answer.. actually RTT means the time between a frame is sent and its ACK is received . Theoretically this is correct definition.

but see this question sys it is Full Duplex, which means the transmission of data in two directions simultaneously .

RTT is taken in this question as ( 2 * Prop time + Transmission time ) means Propagation time from sender to receiver + Propagation time from receiver to sender + Transmission time from any one direction

because propagation time always consider for each link and here Transmission time is overlapped hence consider only one time.

After sending 2I frames , what is the minimum time the sender will have to wait before starting transmission of the next frame?

-- means after the transmission time of those 2I frames , how much time it should wait to start transmitting again , which means we need that time until ACK arrives. So, we just have to find the time when ACK arrives and that's why RTT value counts Transmission time for ack here in this particular question.

Hope , somehow i clear your doubt ..this is good question from your side. And i only see in this 2009 question RTT is counted like this way ..almost everywhere we use RTT formula straightforward way like RTT = 2 * Tp + Tt ...

Although the link is full duplex, but we are utilizing it as half duplex beacuse data is sent from only A to B which is explicitly mentioned in question.thats why things will not change when the same case will be taken with half duplex.

if, in this question it is given that data is sending from both side A to B and also from B to A then it will differ from the half duplex link.

Now the maximum sender window size= (2*Bandwidth*Delay)+1. //or we can say that maximum sender window size is the number of frames it can send it in (TransmissionTime+round trip time),So as window is 5 ,it means entire 5 frames can be send in TT+RTT=50+400 =450.

Acknowledgement packets (sent only from B to A) are very small and require negligible transmission time.

thats why we are considering RTT as TT of data + PT of data (A to B) + PT of ack(B to A).

Secondly, We are getting 450 msec as RTT, I think it is because, it is given in the question that

The send and receive window sizes are 5 packets each

which shows that they are using Select and Repeat ARQ, and in This ARQ the receiver can send cumulative ack for all the data packets. i.e. I think sender is sending all five packets in one go itself and then waiting for ack to come in, That;s why it require TT of data, and in this TT it sends all 5 packets, and PT of ACk(B to A) in this time Sender is waiting for cumulative ack.

though the connection is full duplex, next window will be sent only after acknowledgement will be received by sender because it is following Sliding Window protocol which has independent acknowledgements.

Your identity must be verified before you can post a comment. Please wait if already uploaded identity proof or upload your proof here

+1 vote

In this question we need not to add acknowledgement time of last packet because here for throughput they are assuming that this tramsmission is continuous for indefinite time(It is a real system based question)