I found in some forum this formula for calculating the frame size in function of the propagation delay and the bandwidth : frame size >= 2*(propagation delay)*bandwidth, I could not however find any reliable reference either to a book or a paper that mention such a formula. Is this formula correct ? If yes could anyone please explain the logic behind? In fact, before that I always thought frame size = propagation delay*bandwidth.

  • 1
    Without context, nobody will be able to answer this question. – Zac67 Jul 31 '17 at 18:27

It seems to me that it is based on the conservation of packet principle (in quality of service - congestion avoidance) that states that:

no packet is inserted into the nework before one is pulled/removed

(sorry I did not found the original reference, but a look a google leads to several references).

As commented by @Zac67, it depends on the context. Your assumption frame size = propagation delay*bandwidth is right if you consider only sending data "blindly". I mean if you keep sending frames at the same rate without looking at loss/congestions (eg. with UDP).

The following is only the results of some thoughts. This is not intended to be the absolute truth. However when dealing with congestion, some mechanisms make use of congestion notification. The basis are: when you send a packet from A to B, B send a message to A (ie. the notification). The source do whatever he wants (adapt throughput, other parameters, ...). This was the case for TCP, when the destination acknowledges a packet at a time. In that case, and in order to follow the packet conservation principle, the source send a new packet when he receives the notification, that is after the sum of the propagation delays of A->B and B->A. Considering that both A->B and B->A delays are equals, a new packet enter the pipe after 2*propagation delay.

In that case, no to waste bandwidth, the frame size can be doubled.

| improve this answer | |
  • Thank you for your reply. I am wondering why the frame size should be greater or equal to RTT*bandwidth? Why not straight equal ? – sasuke_X220 Aug 6 '17 at 22:08
  • It seems that this is to allow collision detection on NIC (penchaljammula.blogspot.fr/2011/02/…) – vera Aug 7 '17 at 6:55

Not the answer you're looking for? Browse other questions tagged or ask your own question.