Interactive D3 force-directed graph with anchored gravity: SIX is pinned at the centre, international transit nodes are pulled to the upper half, Slovenian operators sit in a soft inner orbit, leaf customers gravitate toward their primary upstream. Drag any node; scroll to zoom; hover to highlight neighbours.
Address-space marker: Provider Aggregatable (PA) nodes - typically LIR allocations or sub-allocations from an upstream - are drawn noticeably larger, with no outer ring. Mixed nodes (announce both PI and PA prefixes) are slightly smaller, with a purple dash-dot outer ring. Provider Independent (PI) nodes are the smallest, with a dashed orange outer ring.
Data: topology_c_data.json. Click an AS box to open its detail page.
Legend - what node colors, ring styles, and edge styles mean
Node colors (RFC 4890 verdict + ICMPv6 classification)
- RFC 4890 ✓ compliant - the active Type 2 (Packet Too Big) test proved the destination accepts and acts on a forged ICMPv6 PTB. PMTUD works.
- RFC 4890 ✗ violation - Type 2 NOT honored, or path provably broken (small ping passes, 1500-byte ping with DF silently fails - someone drops Type 2).
- open - small Echo + 1500 B Echo both work, but the active Type 2 test hasn't reached a definitive verdict yet (no badge).
- echo only - small ping passes, 1500 B does not. Path-MTU constraint with broken PMTUD signaling.
- blocked at AS edge - ICMPv6 blocked but TCP responds, OR every probed host inside the AS' prefix is silent (filter at AS edge).
- transit only unreachable / unknown - the path went silent before reaching the destination AS, so we can't classify the destination's behaviour.
- foreign transit AS - non-Slovenian AS shown because it's adjacent to at least one Slovenian AS in our path data (e.g. Cogent, Telia, HE, DTAG…).
- SIX bus - the IXP fabric itself. SIX members are drawn around it; the AS-A→SIX→AS-B path replaces what would otherwise be a misleading direct line.
Node size (importance / role)
- SIX bus (largest) - central IXP fabric.
- major Slovenian ISP / operator - ASes that act as transit for several Slovenian customers (curated list: ARNES, Telemach, Velcom, Telekom Slovenije, PERFTECH, go6lab, Softnet, …).
- leaf Slovenian AS - customer / enterprise ASes with one or two upstreams.
- foreign transit - smaller still (helps Slovenian nodes pop visually).
Outer ring (address-space type, D3 view)
- PA (Provider Aggregatable) - no outer ring. AS holds prefixes sub-allocated by an upstream LIR.
- PI (Provider Independent) - orange dashed ring. AS holds an allocation directly from a RIR.
- mixed - purple dash-dot ring. AS holds both PA and PI prefixes.
Edge styles (D3 view)
- BGP transit at SIX (green, solid) - the SIX route-server learned that this AS announces routes through that upstream-AS at SIX. Authoritative BGP-truth from IXP Manager.
- observed via yarrp mesh (blue, dashed) - we saw two consecutive responsive hops on a yarrp path, the first inside this AS and the second inside that AS. Direct observation, but the link's BGP-relationship type isn't known to us.
- SIX membership (purple, dashed) - this AS has an active route-server session on the SIX peering LAN (member ↔ SIX bus).
- BGP adjacency observed at 6connect LJU FRR + Karsolink ITA FRR (merged adjacencies) (gold, solid) - control-plane signal from a Slovenian-vantage router with full IPv6 BGP feeds. Reveals Slovenian customer/peer relationships (e.g. enterprise ASes buying transit from a Slovenian ISP) that don't appear in the data plane because BGP routes them via private peering invisible to traceroute. Included only when no stronger signal exists.
-
BGP adjacency observed at RouteViews (amber, dashed) - AS-adjacency
seen in a third-party global BGP collector's full IPv6 RIB (currently the AMS-IX collector
at
archive.routeviews.org). Catches Slovenian AS upstreams and IXP peers that neither yarrp nor the 6connect LJU FRR + Karsolink ITA FRR (merged adjacencies) feed exposes. Included only when no stronger signal exists. - RIS-only BGP fallback (grey, dotted) - the RIPE RIS BGP table lists this adjacency but our yarrp paths haven't observed it. Lower confidence; included only when no stronger signal exists for that AS pair.
What's intentionally NOT drawn
- Direct AS-A ↔ AS-B lines between two SIX members when every observed hop crossed the SIX peering LAN: the relationship is already visible via the central SIX bus, so we drop the duplicate to reduce clutter.
- AS-edges inferred across a TTL gap: if yarrp didn't observe consecutive hops we don't know which AS sat in between, so we skip rather than fabricate the edge.
- The IXP-fabric AS (AS51988 SIX): the central SIX bus already represents it; showing the fabric AS separately would just create a confusing pair of nodes.