title: How does sending tinygrams cause network congestion?
body: <p>I've read advice in many places to the effect that sending a lot of small packets will lead to network congestion.  I've even experienced this with a recent multi-threaded tcp app I wrote.  However, I don't know if I understand the exact mechanism by which this occurs.</p>
  
  <p>My initial guess is that if the MTU of the physical transmission media is fixed, and you send a bunch of small packets, then each packet may potential take up an entire transmission frame on the physical media.</p>
  
  <p>For example, my understanding is that even though Ethernet supports variable frames most equipment uses a fixed Ethernet frame of 1500 bytes.  At 100 Mbit, a 1500 byte frame "goes by" on the wire every 0.12 milliseconds.  If I transmit a 1 byte message ( plus tcp &amp; ip headers ) every 0.12 milliseconds I will effectively saturate the 100Mb Ethernet connection with 8333 bytes of user data.</p>
  
  <p>Is this a correct understanding of how tinygrams cause network congestion?</p>
  
  <p>Do I have all my terminology correct?</p>