The thing with satellite internet (up and downlink) is mostly to do with jitter. You can get pretty good rates on a nice day, but you can’t control air refraction 2 miles off the ground doing weird stuff to your signal. I experimented with many things, but the best solution I had was using TCP over UDP with a server in a data center able to resend TCP (over UDP) packets if they were dropped. I think http3 will help out immensely here.
Source: I ran a small satellite ISP on a base in Afghanistan.
Source: I ran a small satellite ISP on a base in Afghanistan.