[Starlink] fiber IXPs in space

David Lang david at lang.hm
Sun Apr 16 19:22:34 EDT 2023


On Mon, 17 Apr 2023, Ulrich Speidel wrote:

> On 17/04/2023 10:03 am, David Lang wrote:
>> On Mon, 17 Apr 2023, Ulrich Speidel via Starlink wrote:
>> 
>>> On 17/04/2023 5:54 am, David Fernández via Starlink wrote:
>>>> In case you put a DNS server in the satellite, so that it replies
>>>> instead of a DNS server on ground, the RTT is reduced by half.
>>>> 
>>>> The idea would be that the satellite inspects IP packets and when it
>>>> detects a DNS query, instead of forwarding the packet to ground
>>>> station, it just answers back to the sender of the query.
>>> Understood - it's just that the gain you have from this is quite small. 
>>> DNS queries only happen the first time a host needs to resolve a name, and 
>>> then again after cache expiry much later, so they account for only a tiny 
>>> fraction of the traffic, and also for only a small amount of the total 
>>> delay in page loads. RTT isn't really the big issue in Starlink - yes it's 
>>> larger than it perhaps needs to be, and bufferbloat seems to be present, 
>>> but compared to GEO, it's now in the range seen for terrestrial Internet.
>> 
>> DNS time is more significant than you think, due to the fact that so many 
>> websites pull data from many different locations, you end up with a lot of 
>> DNS queries when hitting a new site for the first time (and many of these 
>> queries are serial not parallel) so it adds quite a bit to the first 
>> rendering time of a page.
> But most people don't hit new sites most of the time, and a lot of cascading 
> loads hit the same CDNs you've seen previously.

the timeouts on DNS are short enough that they hit them every day when they wake 
up

>>>> CDNs or even datacenters (Cloud) in GEO or LEO is even more complex.
>>> 
>>> Indeed. In so many ways.
>>> 
>>> Mind though that CDNs are generally tied in with DNS nowadays, and there's 
>>> another snag: Take two users, Alice in the UK and Bob in New Zealand - 
>>> pretty much antipodean, using Starlink in bent-pipe configuration, i.e., 
>>> their traffic goes through, say, the London gateway in the UK and the 
>>> Clevedon gateway in NZ. Now imagine both trying to resolve the same CDN 
>>> hostname some time apart, but via the same satellite DNS as the satellite 
>>> has moved from the UK to NZ in the interim. Say Alice resolves first and 
>>> gets the IP address of a CDN server in the UK. If the satellite DNS now 
>>> caches this, and Bob queries the same hostname, he gets directed to a 
>>> server in the UK literally a world away instead of the Auckland one 
>>> closest to him. So unless each satellite carries a geolocated copy of the 
>>> world's DNS entries with it and makes a decision based on user location, 
>>> you have a problem.
>> 
>> This is true when the DNS answer is dynamic, but such cases also have short 
>> cache timeouts. Even with a 90 min orbit, a 15 min timeout would 
>> significantly lessen the impact (and I would expect that an orbital DNS 
>> would detect short timeouts and treat them as a signal to shorten the 
>> timeout even more)
>
> Timeout where? At the end user client or at the satellite?

at the DNS cache and at the client. If you are using DNS to redirect people to 
the closest/least loaded site, you need to have your DNS timeouts set short so 
that you can change where they go with minimal downtime. Many clients refuse to 
honor extremely short timeouts (IIRC about 15 min is the low end)

> At the end user client, a short timeout makes no sense at all because their 
> host-to-CDN-IP server mapping shouldn't really change in bent pipe - only the 
> sat hop changes.
>
> If the timeout is meant to be on the satellite, it means that the satellite 
> knows nothing about anything when it arrives to assist you, and needs to 
> query some sort of (probably ground-based) DNS server anyway.
>
> Also, the assumption that a satellite will return to the same spot after a 
> full orbital period (of say 90 minutes) only applies to satellites in 
> equatorial orbits (or polar orbits, and then only to the poles). In all other 
> cases, the Earth's rotation will assure that the satellite's return to the 
> same location takes many orbital periods.

when the satellite first comes into an area, it won't know what's appropriate to 
cach for the area, but it will start caching when people start using it, the 
first person suffers the full hit, but everyone after that benefits.

DNS data is not that large, getting enough storage into the satellites to serve 
90% of the non-dynamic data should not be a big deal. The dynamic data expires 
fast enough (and can be detected as being dynamic and expired faster in the 
satellite) that I'm not worried about serving data from one side of the world to 
the other.

David Lang


More information about the Starlink mailing list