Subject: [Ice] Bandwidth needed for various connectivity check rates

From: Justin Uberti <[email-masked]>
Date: Sun, 10 Apr 2016 21:04:13 -0300

Following up on my action item from the meeting regarding bandwidth numbers
for ICE checks:

I wrote a script to generate some bandwidth numbers. Below are the
bandwidths for various scenarios, with ufrags of 4, 8, 12, or 16 bytes. As
you can see a 10 ms rate generates ~100 kbps of traffic, not counting
responses, and a 5 ms rate generates ~200 kbps.

I also included the numbers for my "shaved ice" proposal, which cut the
rates by ~half, but may still be excessive at 10 ms.

One other exercise that may be useful here is to consider the number of
STUN checks needed in typical cases to complete connectivity testing; this
will give an idea of how long these bandwidth values need to be sustained.

*5245, ipv4 (108 byte base packet size)*
     | packet len: 108+2 ufrag
  ms |     4     8    12    16
-----|------------------------
 500 | 1.86k 1.98k 2.11k 2.24k
 200 | 4.64k 4.96k 5.28k  5.6k
 100 | 9.28k 9.92k 10.6k 11.2k
  50 | 18.6k 19.8k 21.1k 22.4k
  20 | 46.4k 49.6k 52.8k 56.0k
  10 | 92.8k 99.2k  105k  112k
   5 |  185k  198k  211k  224k
   2 |  464k  496k  528k  560k
   1 |  928k  992k 1.06M 1.12M

*5245, ipv6 (128 byte base packet size)*
     | packet len: 128+2 ufrag
  ms |     4     8    12    16
-----|------------------------
 500 | 2.18k  2.3k 2.43k 2.56k
 200 | 5.44k 5.76k 6.08k  6.4k
 100 | 10.9k 11.5k 12.2k 12.8k
  50 | 21.8k 23.0k 24.3k 25.6k
  20 | 54.4k 57.6k 60.8k 64.0k
  10 |  108k  115k  121k  128k
   5 |  217k  230k  243k  256k
   2 |  544k  576k  608k  640k
   1 | 1.09M 1.15M 1.22M 1.28M

*shaved
<https://docs.google.com/presentation/d/10AGaMWifWoDaG9i_FKDnsw9LgA_5deb8ZXHLJJpadBE/edit#slide=id.gc34db0b92_0_28>,
ipv4 (52 byte base packet size)*
     | packet len: 52+2 ufrag
  ms |     4     8    12    16
-----|------------------------
 500 | 0.96k 1.09k 1.22k 1.34k
 200 |  2.4k 2.72k 3.04k 3.36k
 100 |  4.8k 5.44k 6.08k 6.72k
  50 |  9.6k 10.9k 12.2k 13.4k
  20 | 24.0k 27.2k 30.4k 33.6k
  10 | 48.0k 54.4k 60.8k 67.2k
   5 | 96.0k  108k  121k  134k
   2 |  240k  272k  304k  336k
   1 |  480k  544k  608k  672k