Although I don't know of a way to solve this for videoconferencing, historically one way to mitigate the radio/vsat "batchiness" issue and its effect on end-to-end latency was to use a caching proxy server connected to a, er, "real" network somewhere, preferably as near as possible to the headend/uplink station.  The modern web's move to TLS also means this technique is becoming pointless even for HTTP/S (although MITMing remains a way around that - many a HOWTO abounds, describing how to do this with Squid).


FWIW, some very old radio systems behaved similarly... albeit not with 600+msec latency :-/.  Some of the really old asymmetric TV systems (dial-up for uplink, CATV for downlink) exhibited similar characteristics and were similarly difficult to mitigate.


Good luck!


Adam Thompson
Consultant, Infrastructure Services
[MERLIN LOGO]
100 - 135 Innovation Drive
Winnipeg, MB, R3T 6A8
(204) 977-6824 or 1-800-430-6404 (MB only)
athompson@merlin.mb.ca
www.merlin.mb.ca



From: NANOG <nanog-bounces@nanog.org> on behalf of Mel Beckman <mel@beckman.org>
Sent: Tuesday, April 21, 2020 9:05:20 AM
To: Brian J. Murrell
Cc: nanog@nanog.org
Subject: Re: xplornet contact or any experience with their satellite service?
 
Brian,

Satellite services are shared bandwidth broadcast systems. The behavior you’re seeing is pretty common at times when you’re competing for access with other users. Just like the regular Internet, there are times of day when people tend to move more data, and because of latency and other limitations on bidirectional traffic, packets get delivered in batches. It’s not possible to interleave bytes, or even packets themselves.

So when you see low or no throughput, it’s because the transponder is addressing packets to other users.

 -mel beckman

> On Apr 21, 2020, at 6:53 AM, Brian J. Murrell <brian@interlinx.bc.ca> wrote:
>
> A friend of mine just recently got Xplornet satellite service at his
> rural home.  I'm well aware of the latency issues with satellite
> although frankly his latency is much better than I had feared it would
> be and is around 600-700ms.
>
> But what seems to be worse than the latency is the "burstiness" of the
> traffic and I am just wondering if that is normal/expected for
> satellite service in general, and/or expected from Xplornet's service,
> or if what I am seeing is not expected at all (i.e. not an artifact of
> the satellite signal but rather a network management issue).
>
> Here's iperf3 for 30 seconds sending data (i.e. upload speed):
>
> [ ID] Interval           Transfer     Bitrate
> [  5]   0.00-1.21   sec  12.9 KBytes  87.4 Kbits/sec                 
> [  5]   1.21-2.00   sec  6.47 KBytes  67.2 Kbits/sec                 
> [  5]   2.00-3.00   sec  22.0 KBytes   180 Kbits/sec                 
> [  5]   3.00-4.00   sec  41.4 KBytes   339 Kbits/sec                 
> [  5]   4.00-5.00   sec  41.4 KBytes   339 Kbits/sec                 
> [  5]   5.00-6.00   sec  55.6 KBytes   456 Kbits/sec                 
> [  5]   6.00-7.00   sec  69.9 KBytes   572 Kbits/sec                 
> [  5]   7.00-8.00   sec  89.3 KBytes   731 Kbits/sec                 
> [  5]   8.00-9.00   sec   120 KBytes   986 Kbits/sec                 
> [  5]   9.00-10.00  sec  86.7 KBytes   710 Kbits/sec                 
> [  5]  10.00-11.00  sec   133 KBytes  1.09 Mbits/sec                 
> [  5]  11.00-12.00  sec   184 KBytes  1.51 Mbits/sec                 
> [  5]  12.00-13.00  sec   186 KBytes  1.53 Mbits/sec                 
> [  5]  13.00-14.00  sec   159 KBytes  1.30 Mbits/sec                 
> [  5]  14.00-15.00  sec  0.00 Bytes  0.00 bits/sec                 
> [  5]  15.00-16.00  sec  0.00 Bytes  0.00 bits/sec                 
> [  5]  16.00-17.00  sec  93.2 KBytes   763 Kbits/sec                 
> [  5]  17.00-18.00  sec   264 KBytes  2.16 Mbits/sec                 
> [  5]  18.00-19.00  sec   124 KBytes  1.02 Mbits/sec                 
> [  5]  19.00-20.00  sec   157 KBytes  1.28 Mbits/sec                 
> [  5]  20.00-21.00  sec   120 KBytes   986 Kbits/sec                 
> [  5]  21.00-22.00  sec  86.7 KBytes   710 Kbits/sec                 
> [  5]  22.00-23.00  sec   369 KBytes  3.02 Mbits/sec                 
> [  5]  23.00-24.00  sec   197 KBytes  1.61 Mbits/sec                 
> [  5]  24.00-25.00  sec  90.6 KBytes   741 Kbits/sec                 
> [  5]  25.00-26.00  sec   193 KBytes  1.58 Mbits/sec                 
> [  5]  26.00-27.00  sec   192 KBytes  1.57 Mbits/sec                 
> [  5]  27.00-28.00  sec   189 KBytes  1.55 Mbits/sec                 
> [  5]  28.00-29.00  sec   193 KBytes  1.58 Mbits/sec                 
> [  5]  29.00-30.00  sec   179 KBytes  1.46 Mbits/sec                 
> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval           Transfer     Bitrate         Retr
> [  5]   0.00-32.20  sec  4.41 MBytes  1.15 Mbits/sec  388             sender
> [  5]   0.00-30.00  sec  3.57 MBytes   998 Kbits/sec                  receiver
>
> which averaged the overall prescribed "upload" speed, but notice that
> it's not 1Mb/s in any kind of a steady stream but rather bursts of
> higher than 1Mb/s speed followed by low/no speed.  At one point it was
> 2 seconds with no transfer at all even.
>
> and here's receiving (i.e. "download"):
>
> [ ID] Interval           Transfer     Bitrate         Retr  Cwnd
> [  5]   0.00-1.35   sec  46.6 KBytes   283 Kbits/sec    0   12.9 KBytes      
> [  5]   1.35-2.00   sec  0.00 Bytes  0.00 bits/sec    0   12.9 KBytes      
> [  5]   2.00-3.00   sec  67.3 KBytes   551 Kbits/sec    0   37.5 KBytes      
> [  5]   3.00-4.00   sec  46.6 KBytes   382 Kbits/sec    0   40.1 KBytes      
> [  5]   4.00-5.00   sec   105 KBytes   858 Kbits/sec    0   44.0 KBytes      
> [  5]   5.00-6.00   sec  88.0 KBytes   721 Kbits/sec    0   54.3 KBytes      
> [  5]   6.00-7.00   sec   141 KBytes  1.16 Mbits/sec    0   69.9 KBytes      
> [  5]   7.00-8.00   sec   124 KBytes  1.02 Mbits/sec    0    101 KBytes      
> [  5]   8.00-9.00   sec   186 KBytes  1.53 Mbits/sec    0    146 KBytes      
> [  5]   9.00-10.00  sec   248 KBytes  2.04 Mbits/sec    0    206 KBytes      
> [  5]  10.00-11.00  sec   311 KBytes  2.54 Mbits/sec    0    257 KBytes      
> [  5]  11.00-12.00  sec  0.00 Bytes  0.00 bits/sec   43    194 KBytes      
> [  5]  12.00-13.00  sec  0.00 Bytes  0.00 bits/sec   75    199 KBytes      
> [  5]  13.00-14.00  sec   435 KBytes  3.56 Mbits/sec    0    199 KBytes      
> [  5]  14.00-15.00  sec  0.00 Bytes  0.00 bits/sec   34    114 KBytes      
> [  5]  15.00-16.00  sec  0.00 Bytes  0.00 bits/sec   34    140 KBytes      
> [  5]  16.00-17.00  sec   373 KBytes  3.05 Mbits/sec    0    149 KBytes      
> [  5]  17.00-18.00  sec  0.00 Bytes  0.00 bits/sec    0    162 KBytes      
> [  5]  18.00-19.00  sec   373 KBytes  3.05 Mbits/sec    0    168 KBytes      
> [  5]  19.00-20.00  sec  0.00 Bytes  0.00 bits/sec    0    171 KBytes      
> [  5]  20.00-21.00  sec   373 KBytes  3.05 Mbits/sec    0    172 KBytes      
> [  5]  21.00-22.00  sec  0.00 Bytes  0.00 bits/sec   14    141 KBytes      
> [  5]  22.00-23.00  sec  0.00 Bytes  0.00 bits/sec    0    120 KBytes      
> [  5]  23.00-24.00  sec   373 KBytes  3.05 Mbits/sec    0    131 KBytes      
> [  5]  24.00-25.00  sec  0.00 Bytes  0.00 bits/sec    1    146 KBytes      
> [  5]  25.00-26.00  sec  0.00 Bytes  0.00 bits/sec   14    104 KBytes      
> [  5]  26.00-27.00  sec  0.00 Bytes  0.00 bits/sec    0    104 KBytes      
> [  5]  27.00-28.00  sec   373 KBytes  3.05 Mbits/sec    0    107 KBytes      
> [  5]  28.00-29.00  sec  0.00 Bytes  0.00 bits/sec    0    119 KBytes      
> [  5]  29.00-30.00  sec   373 KBytes  3.05 Mbits/sec    0    123 KBytes      
> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval           Transfer     Bitrate         Retr
> [  5]   0.00-30.00  sec  3.94 MBytes  1.10 Mbits/sec  215             sender
> [  5]   0.00-30.80  sec  3.13 MBytes   853 Kbits/sec                  receiver
>
> Again, very bursty with periods of 1-2 seconds with no transfer.
>
> As you can imagine, the bursiness of this makes for horrible video
> conferencing since that cannot "buffer" the way single-direction
> streams like streaming video can and the codec ends up using the "worst
> case" dips as the speed of the connection and encodes for that.
>
> Cheers,
> b.
>