Skip to content

Repository files navigation

Pacific Peering

Mapping every active AS-path across the ASNs homed in Melanesia, Polynesia, and Micronesia — the APNIC-covered Oceania economies, excluding Australia and New Zealand, excluding Hawaii, including Guam.

The project triangulates public BGP route data (RIPEstat, PeeringDB) with active measurement (RIPE Atlas traceroutes) to surface peering relationships, IXP routing, and sub-optimal transpacific paths, on a recurring update cycle. See GOALS.md for the full project brief and task_plan.md for phase-by-phase build history, methodology, and every finding as it was made.

Findings so far

Two ASN-to-ASN adjacencies are confirmed by both RIS and live Atlas traceroutes (this project's bar for a real finding — see "Validation Rules" in task_plan.md), and both show Pacific-to-Pacific traffic detouring through Australia rather than staying in-region:

  • Guam → Papua New Guinea (AS17828, PNG DataCo): traceroute hits the exact IP PeeringDB records for AS17828's Equinix Sydney port before reaching PNG DataCo's own network.
  • New Caledonia → Fiji (AS4638, Telecom Fiji): traceroute transits MegaIX Sydney before reaching Telecom Fiji's international ASN.

A 30-exchange IXP registry (data/analysis/ixp_lan_registry.json, built by pacific-peering-ixp-lan-registry) classifies every IXP this project has seen as in- or out-of-fishbowl — every classification is an explicit human confirmation, never auto-inferred (see task_plan.md's governance rule). Current status: 10 in-fishbowl, 20 out-of-fishbowl, 0 unconfirmed.

Project layout

src/pacific_peering/
├── discovery/   # ASN/economy discovery, APNIC + PeeringDB lookups
├── ris/         # RIPEstat ingestion: ASPATHs, IP-to-ASN resolution
├── atlas/       # RIPE Atlas traceroute measurements (in/outbound)
├── analysis/    # neighbor inference, IXP LAN registry, triangulation,
│                # feasibility checks, confirmed findings
├── viz/         # geographic + AS-graph visualizations
├── reports/     # ASCII / HTML report generation
└── pipeline.py  # recurring orchestrator (discovery -> fishbowl -> IXP registry)

data/      # raw + derived data (gitignored, regenerated by the pipeline)
outputs/
├── runs/    # versioned pipeline-run manifests (tracked in git)
├── viz/     # generated charts (gitignored)
└── reports/ # generated ASCII/HTML reports (gitignored)

Setup

This project uses uv for Python packaging.

uv sync

RIPEstat, PeeringDB, and APNIC's stats file are all public, unauthenticated APIs — most of this project needs no credentials. RIPE Atlas measurements need an API key in a gitignored secrets.yaml (ripe_atlas_key: <key>) at the repo root.

Usage

Run the recurring, free-API pipeline (ASN discovery → fish bowl → IXP LAN registry) end to end:

uv run pacific-peering-pipeline

This deliberately does not fire RIPE Atlas measurements — those cost real account credits and need a human choosing which AS pairs matter, so they stay a separate, manual step:

uv run pacific-peering-atlas-smoketest           # outbound traceroute
uv run pacific-peering-atlas-inbound-smoketest   # inbound traceroute
uv run pacific-peering-atlas-coverage            # per-economy probe coverage
uv run pacific-peering-triangulate               # check a measurement against RIS
uv run pacific-peering-feasibility               # latency/hop-count sanity check

Generate the visualizations and reports from whatever data currently exists:

uv run pacific-peering-viz-detours     # geographic map of confirmed detours
uv run pacific-peering-viz-as-graph    # AS-level dependency graph
uv run pacific-peering-report-ascii    # outputs/reports/report.txt
uv run pacific-peering-report-html     # outputs/reports/report.html

Every command above is also a Python entry point defined in pyproject.toml — see [project.scripts] there for the complete list.

License

CC BY-NC-SA 4.0 — see LICENSE. Commercial use requires a paid license; contact the author to arrange one.

Support

If this project is useful to you, consider supporting it: Buy Me a Coffee.

About

Mapping BGP routes and IXP peering across the Pacific Islands (Melanesia, Polynesia, Micronesia) to identify sub-optimal transpacific routing, using RIPEstat and RIPE Atlas.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages