I Ran a Controlled BGP Experiment to Test a Network Field Theory. Policy Routing Was Not the Answer.
45 captures. 5 routing policies. 3 traffic matrices. A 7-node containerlab topology running on a single server. The experiment was designed to test whether Hodge decomposition could separate two sources of network flow structure. It could. But not the two I expected.
- 45 captures across 5 routing policies and 3 traffic matrices on a 7-AS containerlab topology.
- Traffic-matrix structure drove measurable curl in every configuration tested.
- Policy routing had near-zero effect on M1 and M3 matrices — not what the framework predicted.
- Two curl sources are separable using Hodge decomposition. Residual RMS was 0.0094, below the 0.01 threshold.
- The experiment ran on a single self-hosted server. Total infrastructure cost: under $15/month.
I Ran a Controlled BGP Experiment to Test a Network Field Theory. Policy Routing Was Not the Answer.
The framework predicted that routing policy would produce measurable curl in BGP flow graphs. Run hot-potato routing and you get one curl signature. Run cold-potato routing and you get another. The Hodge decomposition would separate them cleanly.
That is not what the data said.
The setup
Seven autonomous systems in a three-tier hierarchy. Two stub ASes acting as providers at the top. Three transit ASes in the middle with tier-2 peering between them. Two edge ASes at the bottom as customers. Each node ran FRRouting in a Docker container via containerlab, exchanging real BGP UPDATE messages with its neighbors — the same protocol stack used in production networks.
The experiment had three independent variables:
Traffic matrix — the volume distribution across AS pairs. Three configurations: M1 (hub-spoke, AS100 dominant), M2 (symmetric, uniform load), M3 (diagonal, edge-to-edge heavy). Each matrix produced a different flow structure even with identical routing policy.
Routing policy variant — five configurations from baseline (V0, no policy) through increasingly complex policy: V1 (Gao-Rexford customer preference), V2 (hot-potato, prefer shortest exit), V3 (cold-potato, prefer longest internal path), V4 (MED-based load balancing).
Replicate — three captures per cell to control for BGP convergence timing noise.
45 captures total. Each one ran traffic generation, waited for BGP convergence, snapshotted routing table selections, then applied Hodge decomposition to the resulting flow graph.
What Hodge decomposition does here
A BGP flow graph has nodes (ASes) and edges (traffic between AS pairs, directed by routing decisions). Any flow on that graph can be decomposed into three orthogonal components:
Gradient component — flow driven by differences in node potential, conservative. Think of water running downhill. No circulation.
Curl component — flow that circulates around cycles in the graph. Traffic that takes a longer-than-necessary path due to policy or topology creates curl. This is the interesting component for detecting routing anomalies.
Harmonic component — globally circulating flow that cannot be attributed to local potential differences. In a planar topology, this is theoretically zero.
The experiment tested four hypotheses: that traffic-matrix structure produces measurable curl (H1), that routing policy produces measurable curl independently of traffic structure (H2), that hot-potato and cold-potato routing produce opposite-sign curl vectors (H3), and that harmonic flow is zero in a planar topology (H4).
What the data said
H1: supported on M1 and M3. Traffic-matrix structure drove measurable, consistent curl. The V4 x M3 cell hit 0.5774 curl fraction — over half the total flow was circulating rather than conservative. M2’s symmetric load distribution suppressed curl through flow cancellation, which is a finding in itself: symmetric traffic matrices can mask routing structure that would be visible under asymmetric load.
H2: not supported. Policy routing had near-zero effect on M1 and M3. The range across all five policy variants on M1 was 0.0000 — policy made no measurable difference to the curl fraction. M2 showed a small policy sensitivity (range 0.0555), but even there the effect was an order of magnitude smaller than the traffic-matrix effect.
H3: not supported, for a topology reason. The cosine similarity between V2 and V3 curl vectors was 1.0000 on M1 and M3 — hot-potato and cold-potato produced identical curl directions. The tier-2 peering in the topology means both policies ultimately route through the same paths. Polarity inversion requires topological asymmetry that this network did not have.
H4: supported. Harmonic flow was 0.0000 everywhere, as predicted for a planar graph.
The separability test: residual RMS of 0.0094, below the 0.01 threshold. The two curl sources — traffic-matrix structure and routing policy — are separable using 2D Hodge decomposition even when the policy component is small.
What this means for the theory
The original Rate Field hypothesis was that policy routing would be a primary driver of measurable curl alongside traffic structure. The data says it is a secondary driver at best, and negligible on symmetric multi-path topologies.
That is not a failure of the framework. It is a calibration. The gradient-source correlation was r = 1.0000 on M1, r = 0.9608 on M3 — traffic volume is doing almost all of the structural work. Policy changes the routing table but on this topology, the routing table changes do not produce meaningfully different flow patterns because the alternate paths have equivalent length.
The implication for real networks: policy sensitivity in curl space depends heavily on topology. A network with strong asymmetry between routing options — different AS path lengths, non-equivalent alternatives — will show policy-driven curl that this symmetric tier-2 peering topology suppressed. That is the next experiment: introduce topological asymmetry and measure whether policy sensitivity emerges.
Why this matters for signal detection
The Network Signal Intelligence system I am building watches AI infrastructure ASNs for pre-announcement capacity deployment patterns. The Hodge framework is how it distinguishes between two types of routing changes: structural shifts driven by traffic volume changes (which correlate with infrastructure deployment) and policy adjustments that are noise relative to the deployment signal.
The experiment confirms that traffic-matrix structure is the dominant curl driver — which means traffic volume anomalies in AI infrastructure ASNs are detectable as curl deviations before they surface in other signals. BGP routing changes that preceded the GPT-4o launch appeared 14 hours before the announcement in the RIPE RIS data, Claude 3.5 Sonnet by 11. The Hodge methodology provides the mathematical basis for distinguishing those routing changes from routine policy updates.
The NSI system is live as of this writing, collecting from the RIPE RIS Live feed against a seed table of 37 ASNs across AI infrastructure, federal contractors, CDN, ISP, and academic network categories. The Hodge worker runs every 15 minutes labeling incoming signals. Port 3230.
The full experiment
Everything is at github.com/cerberusxops360/bgp-hodge-experiment — topology files, all five FRR policy configs, capture scripts, decomposition code, and all 45 result sets with figures. The repository includes RESULTS-ANALYSIS.md with the full hypothesis verdicts and methodology notes, and SESSION-6-DEBRIEF.md with the complete experiment log.
If you are working on routing anomaly detection, traffic matrix inference from BGP data, or any application of algebraic topology to network flows, the dataset is yours to use under CC BY 4.0.
Adam Bishop is the founder of XOps360 LLC, a Service-Disabled Veteran-Owned Small Business providing federal IT, Section 508 accessibility compliance, and digital modernization services. ORCID: 0009-0000-4569-3726.
What is Hodge decomposition in the context of network flows?
Hodge decomposition is a mathematical technique from algebraic topology that splits a flow field on a graph into three orthogonal components: gradient (divergence-driven, conservative), curl (circulation, non-conservative), and harmonic (globally circulating, topology-driven). Applied to BGP routing flows, it separates different structural sources of routing behavior — what is driven by traffic volume, what is driven by policy, and what is driven by the network topology itself.
What is a containerlab topology?
Containerlab is an open-source tool that builds realistic network lab environments using Docker containers. Each container runs a full network OS — in this experiment, FRRouting (FRR) — and is connected to simulate real BGP peering relationships. The 7-AS topology in this experiment had three tiers: two stub ASes (providers), three transit ASes (tier-2 peers), and two edge ASes (customers). The entire lab ran on a single self-hosted server.
What is FRRouting (FRR)?
FRRouting is an open-source IP routing protocol suite used in production networks and research. It implements BGP, OSPF, IS-IS, and other protocols. In this experiment, each AS ran its own FRR instance, exchanging real BGP UPDATE messages with its peers — the same protocol used on the actual internet.
What is Rate Field Theory?
Rate Field Theory is a mathematical framework I am developing that models network traffic as a scalar field with measurable gradient, curl, and harmonic components. The BGP experiment was designed to empirically validate whether those components are separable from real routing data and whether they behave as the theory predicts. The experiment confirmed separability but revised one hypothesis: topology and traffic structure drive curl more than policy does.
What does this have to do with AI infrastructure monitoring?
If BGP routing signals have measurable, separable structure, then anomalies in that structure are detectable. The Network Signal Intelligence system I am building uses this methodology to watch AI infrastructure ASNs — AWS, Azure, GCP, CoreWeave, and others — for pre-announcement deployment patterns. The BGP experiment provides the mathematical foundation for knowing which signals are structural noise versus meaningful deviation.
Can I reproduce this experiment?
Yes. The full experiment is at github.com/cerberusxops360/bgp-hodge-experiment — topology files, FRR configs, capture scripts, decomposition code, and all 45 result sets. You need containerlab, Docker, and Python with scipy and networkx. The README covers setup.