[Starlink] thinking about the laser links again

Ulrich Speidel ulrich at cs.auckland.ac.nz
Wed Oct 27 05:34:26 EDT 2021


On 27/10/2021 8:03 pm, David Lang wrote:
> On Wed, 27 Oct 2021, Ulrich Speidel wrote:
>
>> - Get the satellites to work out where stuff needs to be sent. If 
>> they were to use something like Bellman-Ford here, that would require 
>> an enormous amount of update traffic. Dijkstra would require complete 
>> topology information, which should in principle be computable from an 
>> almanach on the satellites. But it's still a lot of number crunching 
>> on a bird. Another option would be for each satellite to compute a 
>> great circle direction to the target cell and then forward to 
>> whichever neighbour satellite comes closest to being along that route.
>
> Remember, IP routing doesn't require anybody have a global view of the 
> network, just knowlege of nearby nodes.

Reality check.

IP forwarding (as opposed to routing) checks the destination IP address 
against a set of routes in your routing table, which are essentially 
destination networks identified by network IP address and netmask. That 
decides which interface the routers forwards out through (i.e., to which 
neighbour). At a local level, one can often supply these routes manually 
as static routes, but at a global level, it still takes the likes of BGP 
to help with routing, chiefly because the Internet doesn't have a tree 
structure at the global level.

This update with BGP works nicely in a network whose structure never 
changes, or changes very slowly, so that set of routes can be updated 
manually or automatically in a cyclic fashion. But in the case of 
Starlink, much of the network changes continuously.

Things that change for you if you are a Starlink satellite:

- Cells you can service (and therefore hosts attached to Dishys you can 
reach). You may be over Brazil now, the Atlantic next, then over the UK, 
and then over Germany, and so on... So your on-board routing table would 
need to reflect that. You never spend more than a minutes or so over the 
same cell.
- Ground station gateways you can attach to - similar timing here.
- Satellites on neighbouring orbital planes in the same shell that are 
in the northbound part of their orbit while you're heading south (and 
vice versa) come within range and disappear again.
- Neighbouring satellites in different shells.

Things that don't change:

- The satellite in front and behind you in the same orbit.
- Neighbouring satellites orbiting in the same direction in adjacent 
orbital planes. These require tracking but are always in range.

So, if we're a satellite, part of our routing table changes every few 
seconds because some node that was a neighbour no longer is, and a node 
that wasn't now becomes a neighbour. And because nothing in our 
constellation-spawned network resembles a tree structure, we'd need 
something like BGP to propagate that routing information through the 
network. Because we may be the only satellite that can currently serve a 
particular destination host, that information needs to propagate through 
the network, so other nodes in the network need to know that they need 
to send traffic to that destination to us. I say "something like BGP" 
here as the network is proprietary, so doesn't have to stick to any open 
standards.

Now our neighbours are the first that need to know that we're the new 
kid on the block to talk directly to Dave's Dishy, and sending them an 
update every few seconds wouldn't be too onerous. But the problem is 
that our neighbours, too, are on the move, so we're basically forced to 
propagate our update (and everyone else's) throughout the entire network 
of thousands of satellites. Moreover, if we consider the fact that along 
a forwarding path of a dozen satellites or more between, say Tokyo and 
New York, all satellites are on the move, then losing only one link on 
that path can render a route completely infeasible. And while our 
individual satellite's neighbourhood changes every few seconds, a path 
like this might change on a sub-second scale.

So suppose we ignore anything we know about the constellation geometry 
and we have N satellites. Say we want to use IP routing still with BGP. 
Then each satellite needs to be its own Autonomous System. That boils 
down to telling each satellite in the constellation about the 
connectivity state of essentially every other satellite (or plane). 
That's an O(N^2) problem, so not very scaleable, especially if we need 
to do this every few milliseconds (with the required intervals also 
decreasing with N). So conventional IP routing doesn't work here, basically.

>
> So the satellite needs to know what are good next hops to send traffic 
> to that's headed in different directions, not global knowledge of the 
> entire constellation.

True, but that requires a knowledge of direction and a (tunnel) comms 
layer below the Internet-wide IP routing. And the question is how that's 
best designed.

>
> This doesn't require that all satellites be able to send in all 
> directions. with lots of satellites in range, they could cycle between 
> the first sending north, the second east, the third south, the fourth 
> west...
>
Yes. That's what I was hinting at with the "great circle" option.
> A key question to me is how many lasers, how fast they can be 
> redirected to different satellites, and how many different satellites 
> the detectors can receive from at one time.
>
> I'd hope that there are at least two lasers, so that they can transmit 
> to the next hop and ack to the receiver without having to spin a laser 
> 180.
That's an interesting question indeed. What I would add in here is also 
the possibility of using optical switching, where one laser beam may be 
able to be switched rapidly between different targets.
>
> It also doesn't require that the satellite send to the nearst node in 
> that direction (if longer distance traffic can be detected, you would 
> want to send to a further away next hop to reduce the number of hops)
In principle, yes, which would be good for both latency and satellite 
power budget, but satellites further away will be harder to target with 
the same data rate, so there's a trade-off here.
> They could even have a satellite varient that has more 
> lasers/detectors and fewer RF antennas to connect to the ground to be 
> dedicated to routing (especially as they launch satellites to 
> different altitudes, nodes at higher altitudes could be optimized for 
> long-distance hops)
I'd consider this not so likely - the system is complex enough as it is, 
and I doubt they'll want to add that complexity.
>
> With only 'nearby' node knowledge needed, I could see low-power 
> omnidirectional RF beacons being used for nodes to advertise their 
> existance and routing config to the network. I expect that if they 
> were doing this, that it would show up in their FCC filings and 
> everyone would be talking about it, but it's a thought for future 
> versions.
I'm speculating here, but from an engineering point of view it makes 
most sense to go with an almanach approach to constellation 
configuration, i.e., let each bird know where all other birds are at any 
one time by providing their orbital parameters to every satellite (slow 
rate of change and easy O(N) computation on the satellite). Dishys have 
a built-in GPS receiver, so can basically figure out which cell they're 
in (once movement between cells is allowed). Currently, I suspect that 
Starlink run a protocol where each bird knows which cell it's 
responsible for at any one time, and where the bird beacons to Dishys 
"Cell X, it's me, bird Y" and where the Dishys then get orbital 
parameters either from the bird or an almanach to align their phased 
arrays to the bird.
>
> All of this requies some way to tell from the packet where on earth 
> (or in space) the destination is. If you tunnel over IPv6, you can 
> have enough IPs to allocate them based on lat/long/ground/orbit so 
> that the routing nodes (which know where they are) can know what 
> direction to send things. 
That's indeed an option, although you'd still need a way of reverse 
mapping: If I have an IPv6 address I know to be in cell X in Ontario, 
which of my peers has a route to there?
> Given the existance of mobile endpoints (vehicles, aircraft, 
> spacecraft) this starts sounding like the mobile IP problem (how can 
> you continue a persistant connection when moving from network to 
> network), but since all the entry/exit points are under their control, 
> you can tunnel around and have a protocol to reconfigure the tunnels 
> as endpoints move.

Indeed, and that tunnel configuration protocol is where the challenge 
lies ;-)

For mobile networks, this task is a little easier as the network between 
the entry & exit points is more or less static. Plus, mobile nodes move 
at most at hundreds of miles per hour, not tens of thousands.

BTW: Starlink will probably want to avoid ground relays like the plague. 
The bulk of their customers won't be stock brokers, and their need will 
be for bandwidth rather than minimal latency. The bottlenecks here are 
between ground and birds, and between birds. Basically, the nominal 
capacity of each Starlink bird is purportedly somewhere around the 20 
Gb/s mark in the currently deployed generation. Now, as a rule of thumb, 
the average Internet user in the world last year used a continuous 
average of 1 Mb/s of data. If we ignore for a moment that connections 
are bi-directional and that there is such a thing as peak time, then 
that means that under the current bent pipe model, each Starlink 
satellite is restricted to at most 20k users. If they want to beat 
existing providers on the ground that already offer a few Mb/s, they 
need to slash that by at least a factor of 5, again being really 
conservative here.

Now those ground providers do have one competitive advantage, and that 
is that while their lines are long and low bandwidth, they're not 
shared, at least not to the closest CDN server farms, where 70% or so of 
today's traffic originates. If two Starlink customers want to watch the 
same cat video on FB, the video has to traverse the satellite medium 
twice, whereas if two farmers in the Midwest want to do the same on 
Verizon, they get two copies off their local CDN and you don't get as 
much as a blip on regional or international fibre cables (which 
generally run at rates > 20 Gb/s these days).

So if Starlink want to keep customers happy with dozens of Mb/s on 
demand, each bird will at most be able to handle a few hundred active 
customers at a time. Any use of multiple ground relays along a path 
would cut that number substantially.


-- 
****************************************************************
Dr. Ulrich Speidel

School of Computer Science

Room 303S.594 (City Campus)
Ph: (+64-9)-373-7599 ext. 85282

The University of Auckland
ulrich at cs.auckland.ac.nz
http://www.cs.auckland.ac.nz/~ulrich/
****************************************************************





More information about the Starlink mailing list