Project

NodalArc

The emulation platform underneath everything else on this site: an engine that runs real routing stacks against real orbital mechanics.

NodalArc is where the experiments actually run. It hosts the orbital mechanics physics engine, the routing containers, and the glue between them so that the geometry drives the network state. The orbital mechanics compute satellite positions and link visibility. The routing containers see real interface events. The measurement infrastructure captures everything in between.

NodalArc console — globe view, kuiper-50 constellation, 96 links active
NodalArc console — globe view, kuiper-50 constellation, 96 links active

Satellites move. Links appear and disappear based on actual orbital geometry. FRR routing daemons run in actual containers and respond to those link events. Deploy IS-IS on a 60-node constellation and watch adjacencies form, watch them tear down when cross-plane ISLs go out of view at polar latitudes, watch SPF recompute, measure how long the routing table takes to converge. Switch routing stacks and compare. The orbital mechanics run continuously regardless of what the routing protocol is doing.

You can run Walker Delta, Walker Star, mixed inclinations, or whatever custom geometry you want. Post #002 walks through how the constellation primitives work. The screenshot above shows a 50-satellite Kuiper-class configuration, but nothing about the platform is locked to one geometry.

Architecture

  • Orbital Mechanics Engine computes satellite positions continuously from parametric definitions or TLE data, and figures out visibility windows from the physics.
  • Topology Observer translates that orbital state into network events (link up, link down, latency changes) and propagates them to the container network. It never makes routing decisions; that is the routing protocol's problem.
  • FRR routing nodes run in Kubernetes pods, one per simulated satellite or ground station.
  • Measurement infrastructure logs convergence events, probe results, and path traces continuously. Everything the routing protocol does is captured whether or not you were watching at the time.
  • Browser console lets you watch the live constellation graph, inspect node state, and run real-time path traces while the topology moves under it.
Path trace — gs-ashburn to gs-frankfurt, 5 hops, 30.9ms, MPLS label stack
Path trace — gs-ashburn to gs-frankfurt, 5 hops, 30.9ms, MPLS label stack

The trace above shows a live path query: Ashburn to Frankfurt, 5 hops via three transit satellites, with the full MPLS label stack and per-hop latency. The orange overlay on the globe shows the same path geographically as the constellation moves underneath it.