Project

NodalPath

A proactive routing approach that computes paths ahead of time from the orbital mechanics timeline.

The reactive routing question has a counterpart: what if you don't wait for the topology to change and then converge? What if you already know what's coming and have the forwarding state in place before the link event happens?

That's what NodalPath does. It looks at the orbital mechanics timeline, which is deterministic and predictable, and precomputes the MPLS label stacks for every path across the constellation for each upcoming topology window. Then it pushes that forwarding state out to the FRR nodes right before the physical links actually transition. By the time a link goes up or down, the forwarding tables already know about it.

This is probably closer to how Starlink actually operates than anything a standard IGP does. Whether it produces better results than letting IS-IS reconverge reactively is the whole reason it exists. I'm not assuming it wins. I'm measuring.

Grid view — gs-frankfurt to gs-sao-paulo, 9 hops, 88.7ms
Grid view — gs-frankfurt to gs-sao-paulo, 9 hops, 88.7ms

The grid view shows the satellite network flattened into a plane, each node at its orbital plane and slot. The path from Frankfurt to Sao Paulo steps through 9 hops across the constellation grid. Ground stations sit below with their current uplink satellites visible.

How it works

  • Almanac is a forward schedule of every link state change coming up, derived from orbital mechanics. You configure how far ahead it looks. The orbital topology is deterministic; NodalPath uses that fact.
  • Path derivation runs shortest-path computation against the predicted topology for each interval in the almanac. For every source-destination pair it produces a full MPLS label stack: PUSH at ingress, SWAP at each transit hop, POP at egress.
  • Push scheduler takes those label stacks and pushes them out to the FRR nodes over gRPC ahead of each transition. You set the lead time. The goal is for forwarding state to be in place before the link event happens, not after.
  • Deviation detection watches the live topology against what the almanac predicted. If the physical network diverges from the math, say an unplanned failure or a timing drift, it triggers a recomputation. The almanac handles the predictable. This handles everything else.
NodalPath console — 57 nodes, 355 transitions, 100 pushes, path overlay ashburn to hawthorne
NodalPath console — 57 nodes, 355 transitions, 100 pushes, path overlay ashburn to hawthorne

The console shows the current computation state: 355 transitions in the lookahead window, 100 label push operations completed, 0 deviations from the predicted almanac. The path query panel shows ashburn to hawthorne, 4 hops, 22.5ms, with per-hop MPLS operations visible. The path overlay renders across the topology graph as the constellation continues moving.