2,571 views
4 4 votes
As a possible congestion control mechanism in a subnet using virtual circuits internally,
a router could refrain from acknowledging a received packet until (1) it knows its last
transmission along the virtual circuit was received successfully and (2) it has a free
buffer. For simplicity, assume that the routers use a stop-and-wait protocol and that
each virtual circuit has one buffer dedicated to it for each direction of traffic. If it takes
T sec to transmit a packet (data or acknowledgement) and there are n routers on the
path, what is the rate at which packets are delivered to the destination host? Assume
that transmission errors are rare and that the host-router connection is infinitely fast.

1 Answer

7 7 votes

There are n routers between the sender and the receiver. Now the question mentions T as the transmission time. The propagation time is zero ( router connections are infinitely fast )

The source transmits the first packet, time required = T seconds. 

The first router in the path receives the packet at time = T seconds ( Propagation time = 0 ).

It won't send any acknowledgment for the packet to the receiver, it will forward the packet to next router, time required = T seconds.

Thus total time = T + T = 2T seconds up to now. 

 

Similarly, the third router will receive the packet at 2T and finish transmitting it at 3T. There are n routers in between.

Thus the receiver will receive the packet at (n + 1)T  {Each router takes T time + sender takes T time to transmit) 

The receiver sends an acknowledgment to the nth router in the path, it takes T seconds to send the acknowledgment.

Thus the router receives the acknowledgment at (n + 1)T + T time. 

This router in turns sends an acknowledgment to the (n - 1)th router and so on until the acknowledgment reaches to the sender.

The time taken for the acknowledgment to reach the sender is same as the time taken by the packet to travel from the sender to the receiver. 

Thus acknowledgment reaches the sender at (n + 1)T + (n + 1)T = 2(n+1)T. 

 

The sender now sends another packet and the cycle repeats. 

The receiver gets the first packet at (n+1)T and consequent packets at 3(n + 1)T, 5(n + 1)T and so on. 

Thus a packet is delivered every 2(n + 1)T seconds

Thus the rate in terms of the number of packets = 1/(2(n + 1)T)  packets per second.

 

P.S. This is my first answer on Gate overflow. My explanation may not be very clear. Feedback and suggestions are appreciated.

Also, the answer is according to my best understanding, it might have flaws. Please comment if you find anything wrong. 

 

• reshown by
Position:
Show:

Related questions

4 4 votes
1 1 answer
4.1k
4.1k views
khushtak asked Nov 29, 2016
4,141 views
A large number of consecutive IP address are available at 198.16.0.0. Suppose that four organizations A, B, C and D request for 4000, 2000, 4000 and 8000 addresses respec...
1 1 vote
0 0 answers
906
906 views
atulcse asked Sep 16, 2021
906 views
The question states – An IP datagram using Strict source routing option has to be fragmented. Do you think the option is copied into each fragment, or is it sufficient to...
0 0 votes
1 1 answer
5.7k
5.7k views
Abhilash Mishra asked Jun 16, 2018
5,738 views
Looking at the network of Fig. 5-6, how many packets are generated by a broadcastfrom B, using(a) reverse path forwarding?(b) the sink tree?
0 0 votes
1 1 answer
2.7k
2.7k views
Abhilash Mishra asked Jun 14, 2018
2,729 views
Consider the following design problem concerning implementation of virtual- circut service. If virtual circuits are used internal to the subnet, each data packet must hav...