[Icecast] bandwidth calculation

Ian A. Underwood agentgrn at dcne.net
Mon Jul 18 14:46:35 PDT 2005

Daniel Ballenger wrote:
> I'm pretty sure that the protocol used by icecast is TCP so you also
> have the overhead from TCP to add, though in the end, the overhead
> probably isn't enough to be really noticed.
> -Daniel

Do that for a few hundred connections, and the overhead can add up to 
something more significant.  I'm basing this on a theoretical maximum of 
an IP packet, not counting any streaming overhead.

A 56,000 bits/sec = 7,000 bytes/sec.

MTU of an IP packet in most cases = 1500 bytes.  With an IP header of 20 
bytes and a TCP header of 20 bytes, assuming no options, that leaves 
1,460 bytes for payload.

7,000 / 1,460 = 4.8 packest/sec.

4.8 pkts/sec * 40 bytes of header = 192 bytes/sec.

7,192 bytes / sec = 57,536 bits /sec.

All-in-all, the IP overhead accounts for an additional 3% with a 56kbps 
stream.  Take the overhead and multiply it by the number of 
simultanenous clients.

In my experience, though the actual data rate is higher.  I haven't done 
any further testing in awhile and I assume that the theoretical maximum 
of stuff put in each packet isn't the full 1460 bytes.


More information about the Icecast mailing list