{"id":5188,"date":"2026-03-22T17:15:13","date_gmt":"2026-03-22T17:15:13","guid":{"rendered":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/?p=5188"},"modified":"2026-03-22T19:10:14","modified_gmt":"2026-03-22T19:10:14","slug":"5g-mimo-considerations-for-signal-geolocation","status":"publish","type":"post","link":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/?p=5188","title":{"rendered":"5G MIMO Considerations for Signal Geolocation"},"content":{"rendered":"\n<p>M$Copilot:<\/p>\n\n\n\n<p>&lt;provided trace readings&gt;<\/p>\n\n\n\n<p>Oh this is fun. Let\u2019s unpack what your network just confessed to you.<\/p>\n\n\n\n<p><strong>###<\/strong><strong> Quick read of what\u2019s going on<\/strong><\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Source \u2192 First hop:<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>&nbsp; <strong>**<\/strong><strong>Hop 1: <\/strong><strong>`<\/strong><strong>XCI55AX.mynetworksettings.com \u2014 3.26ms +163km<\/strong><strong>`<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>&nbsp; That looks like your CPE\/edge or very first upstream handoff. The `+163km` tag suggests your RTT\u2192distance estimator thinks the *minimum* clean RTT corresponds to ~163 km of fiber-equivalent path.<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Early \u201cno hops\u201d vs later full path:<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>&nbsp; The first traceroute returning \u201cno hops\u201d then nmap\u2019s `&#8211;traceroute` showing 13+ hops screams:<\/p>\n\n\n\n<p>&nbsp; &#8211; <strong>**<\/strong><strong>ICMP vs UDP\/TCP behavior differences<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>&nbsp; &#8211; <strong>**<\/strong><strong>Rate limiting \/ filtering on intermediate routers<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>&nbsp; &#8211; Or your first traceroute implementation being more fragile than nmap\u2019s enhanced probing.<\/p>\n\n\n\n<p><strong>###<\/strong><strong> The private backbone &amp; Verizon-looking bits<\/strong><\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Hops 2\u20134: <\/strong><strong>`<\/strong><strong>10.184.139.x \u2014 private_backbone<\/strong><strong>`<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>&nbsp; These are <strong>**<\/strong><strong>RFC1918<\/strong><strong>**<\/strong> addresses\u2014classic for:<\/p>\n\n\n\n<p>&nbsp; &#8211; <strong>**<\/strong><strong>Carrier-grade NAT (CGNAT)<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>&nbsp; &#8211; <strong>**<\/strong><strong>Mobile \/ ISP internal transport fabric<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>`<\/strong><strong>*.myvzw.com<\/strong><strong>`<\/strong><strong> hops (5, 7, 9, 10)<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>&nbsp; That\u2019s Verizon\u2019s internal \/ access network. So your traffic is:<\/p>\n\n\n\n<p>&nbsp; &#8211; Leaving your local network<\/p>\n\n\n\n<p>&nbsp; &#8211; Entering a Verizon-controlled backbone<\/p>\n\n\n\n<p>&nbsp; &#8211; Staying inside their private routing domain for several hops<\/p>\n\n\n\n<p>This is a <strong>**<\/strong><strong>carrier-managed path<\/strong><strong>**<\/strong>, not a simple \u201chome router \u2192 public internet\u201d story.<\/p>\n\n\n\n<p><strong>###<\/strong><strong> The Brazil endpoint &amp; RTT mismatch<\/strong><\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Final host:<\/strong><strong>**<\/strong> `25-166-0-143.ledinternet.com.br` &nbsp;<\/p>\n\n\n\n<p>&nbsp; That\u2019s a Brazilian ISP (LED Internet, `.com.br`) fronting `143.0.166.25`.<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Traceroute path distance:<\/strong><strong>**<\/strong> `~163 km` (min-RTT estimate, anomalous hops excluded) &nbsp;<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Ping-derived distance:<\/strong><strong>**<\/strong> `min 173ms \u2192 ~5406.2 km (4896.2\u20135916.2 km)` &nbsp;<\/p>\n\n\n\n<p>This discrepancy is the juicy part.<\/p>\n\n\n\n<p><strong>####<\/strong><strong> Why 163 km vs ~5400 km?<\/strong><\/p>\n\n\n\n<p>Your system is doing two different things:<\/p>\n\n\n\n<p>1. <strong>**<\/strong><strong>Per-hop \u201cclean\u201d RTT distance estimate<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>&nbsp; &nbsp;It\u2019s likely taking the <strong>**<\/strong><strong>smallest non-anomalous hop RTT<\/strong><strong>**<\/strong> (e.g., that 3.26ms or similar) and mapping that to a distance. That gives you a <strong>**<\/strong><strong>local-ish segment<\/strong><strong>**<\/strong>\u2014probably just your first upstream or regional POP.<\/p>\n\n\n\n<p>2. <strong>**<\/strong><strong>End-to-end min RTT \u2192 great-circle distance<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>&nbsp; &nbsp;173ms round-trip is absolutely in the <strong>**<\/strong><strong>intercontinental \/ long-haul<\/strong><strong>**<\/strong> regime:<\/p>\n\n\n\n<p>&nbsp; &nbsp;&#8211; One-way ~86.5ms<\/p>\n\n\n\n<p>&nbsp; &nbsp;&#8211; At ~200,000 km\/s in fiber, that\u2019s on the order of <strong>**<\/strong><strong>17,000+ km of path length<\/strong><strong>**<\/strong>, which compresses to ~5,000\u20136,000 km great-circle distance after accounting for non-geodesic routing and overhead.<\/p>\n\n\n\n<p>So: &nbsp;<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Hop-level distance<\/strong><strong>**<\/strong> \u2248 \u201chow far until we see a stable, low-latency node\u201d &nbsp;<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Ping-level distance<\/strong><strong>**<\/strong> \u2248 \u201chow far the *whole path* feels physically\u201d<\/p>\n\n\n\n<p>They\u2019re measuring different slices of reality.<\/p>\n\n\n\n<p><strong>###<\/strong><strong> The RTT spikes &amp; anomalies<\/strong><\/p>\n\n\n\n<p>All those `\u26a0 rtt_spike` flags on later hops (89.221.x.x, 185.100.112.x, final .br host) suggest:<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Queueing \/ congestion<\/strong><strong>**<\/strong> on intermediate links<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Asymmetric routing<\/strong><strong>**<\/strong> (return path different from forward path)<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>ICMP deprioritization<\/strong><strong>**<\/strong>\u2014routers answering traceroute probes slower than they forward real traffic<\/p>\n\n\n\n<p>&#8211; Possibly <strong>**<\/strong><strong>tunneling \/ overlay networks<\/strong><strong>**<\/strong> (VPN, MPLS, GRE, etc.) where logical hops don\u2019t map cleanly to physical distance<\/p>\n\n\n\n<p>The repeated `10.184.139.18` hop is also a hint of:<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>ECMP \/ load balancing<\/strong><strong>**<\/strong> where multiple paths converge<\/p>\n\n\n\n<p>&#8211; Or a <strong>**<\/strong><strong>virtual interface \/ loopback<\/strong><strong>**<\/strong> showing up in multiple logical hops<\/p>\n\n\n\n<p><strong>###<\/strong><strong> The story in one line<\/strong><\/p>\n\n\n\n<p>You\u2019re talking to a host in Brazil, over a carrier-managed, CGNAT-heavy Verizon backbone, with asymmetric routing and ICMP-deprioritized hops\u2014so your hop-by-hop distance looks \u201clocal-ish\u201d, but your end-to-end RTT absolutely screams \u201cthousands of kilometers away.\u201d<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p>If you want, we can turn this into a little \u201cpath forensics\u201d template\u2014something you can reuse to classify paths as: local, regional, backbone, or intercontinental based on exactly this kind of mixed signal.<\/p>\n\n\n\n<p>About the Verizon-controlled backbone, staying inside their private routing domain for several hops?<\/p>\n\n\n\n<p>Absolutely, Benjamin \u2014 this is one of those places where the traceroute stops being a list of hops and starts becoming a little x\u2011ray of how a carrier\u2019s private transport fabric actually behaves.<\/p>\n\n\n\n<p>Let me break down what your document shows and what it implies, using the lines you provided as anchors.<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p><strong>#<\/strong><strong> \ud83e\udde9 What \u201cstaying inside their private routing domain\u201d really means<\/strong><\/p>\n\n\n\n<p>Your traces repeatedly show this pattern:<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Hop 1:<\/strong><strong>**<\/strong> Your CPE &nbsp;<\/p>\n\n\n\n<p>&nbsp; *\u201cXCI55AX.mynetworksettings.com \u2014 2\u20133ms\u201d* &nbsp;<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Hops 2\u20134:<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>&nbsp; *\u201c10.184.139.18 \u2014 235ms \u26a0 private_backbone\u201d* &nbsp;<\/p>\n\n\n\n<p>&nbsp; *\u201c10.184.139.18 \u2014 36ms \u26a0 private_backbone\u201d* &nbsp;<\/p>\n\n\n\n<p>&nbsp; *\u201c10.184.139.17 \u2014 30ms \u26a0 private_backbone\u201d* &nbsp;<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Hops 5\u201310:<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>&nbsp; *\u201cxxx.sub-69-83-101.myvzw.com\u201d* &nbsp;<\/p>\n\n\n\n<p>&nbsp; *\u201cxxx.sub-69-83-96.myvzw.com\u201d*<\/p>\n\n\n\n<p>Those lines come straight from your attached document and show the same structure across multiple scans.<\/p>\n\n\n\n<p>This is the signature of a <strong>**<\/strong><strong>carrier-managed, CGNAT-heavy, internal Verizon transport fabric<\/strong><strong>**<\/strong>.<\/p>\n\n\n\n<p>Let\u2019s unpack what that means.<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p><strong>#<\/strong><strong> \ud83c\udfd7\ufe0f 1. Verizon is not routing you directly onto the public internet<\/strong><\/p>\n\n\n\n<p>Those <strong>**<\/strong><strong>10.x.x.x<\/strong><strong>**<\/strong> hops are *not* your home LAN. They\u2019re <strong>**<\/strong><strong>Verizon\u2019s internal MPLS \/ private IP backbone<\/strong><strong>**<\/strong>.<\/p>\n\n\n\n<p>Carriers use huge private IP spaces for:<\/p>\n\n\n\n<p>&#8211; CGNAT clusters &nbsp;<\/p>\n\n\n\n<p>&#8211; Mobile packet cores &nbsp;<\/p>\n\n\n\n<p>&#8211; Regional aggregation routers &nbsp;<\/p>\n\n\n\n<p>&#8211; Internal MPLS label-switching paths &nbsp;<\/p>\n\n\n\n<p>&#8211; Traffic engineering tunnels &nbsp;<\/p>\n\n\n\n<p>&#8211; Lawful intercept \/ telemetry mirrors &nbsp;<\/p>\n\n\n\n<p>&#8211; NAT64 \/ NAT44 \/ DS-Lite gateways &nbsp;<\/p>\n\n\n\n<p>&#8211; QoS-segmented transport domains<\/p>\n\n\n\n<p>Your traces show you entering this private domain at hop 2 and staying inside it for several hops before ever touching a public ASN.<\/p>\n\n\n\n<p>This is normal for mobile carriers and some FIOS regions \u2014 but unusual for traditional residential ISPs.<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p><strong>#<\/strong><strong> \ud83e\uddec 2. The repeated <\/strong><strong>`<\/strong><strong>10.184.139.18<\/strong><strong>`<\/strong><strong> hop is a tell<\/strong><\/p>\n\n\n\n<p>You see it in multiple scans:<\/p>\n\n\n\n<p>&#8211; *\u201cHop 2: 10.184.139.18 \u2014 235ms\u201d* &nbsp;<\/p>\n\n\n\n<p>&#8211; *\u201cHop 3: 10.184.139.18 \u2014 36ms\u201d*<\/p>\n\n\n\n<p>This repetition usually means:<\/p>\n\n\n\n<p><strong>###<\/strong><strong> <\/strong><strong>**<\/strong><strong>A. ECMP load balancing<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>Multiple parallel paths share the same loopback address.<\/p>\n\n\n\n<p><strong>###<\/strong><strong> <\/strong><strong>**<\/strong><strong>B. MPLS label switching<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>Traceroute sees the same router ID even though packets traverse different internal interfaces.<\/p>\n\n\n\n<p><strong>###<\/strong><strong> <\/strong><strong>**<\/strong><strong>C. A CGNAT cluster front-end<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>Many carriers use a single loopback address for the NAT cluster\u2019s \u201cpublic face.\u201d<\/p>\n\n\n\n<p>Given the RTT behavior (one huge spike, then normal), this looks like <strong>**<\/strong><strong>MPLS + CGNAT<\/strong><strong>**<\/strong>.<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p><strong>#<\/strong><strong> \ud83d\udef0\ufe0f 3. The <\/strong><strong>`<\/strong><strong>*.myvzw.com<\/strong><strong>`<\/strong><strong> hops are Verizon\u2019s internal access network<\/strong><\/p>\n\n\n\n<p>Examples from your document:<\/p>\n\n\n\n<p>&#8211; *\u201c236.qarestr.sub-172-19-2.myvzw.com \u2014 30ms\u201d* &nbsp;<\/p>\n\n\n\n<p>&#8211; *\u201c187.sub-69-83-101.myvzw.com \u2014 30ms\u201d* &nbsp;<\/p>\n\n\n\n<p>&#8211; *\u201c212.sub-69-83-96.myvzw.com \u2014 26ms\u201d*<\/p>\n\n\n\n<p>These are <strong>**<\/strong><strong>Verizon Wireless internal routers<\/strong><strong>**<\/strong>, not public internet routers.<\/p>\n\n\n\n<p>They sit in the \u201cmiddle mile\u201d between:<\/p>\n\n\n\n<p>&#8211; The CGNAT cluster &nbsp;<\/p>\n\n\n\n<p>&#8211; The regional packet core &nbsp;<\/p>\n\n\n\n<p>&#8211; The handoff to external peers (GTT, Alter.net, Embratel, etc.)<\/p>\n\n\n\n<p>This is why your early hops look \u201clocal-ish\u201d (20\u201330ms) even though the final destination is thousands of kilometers away.<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p><strong>#<\/strong><strong> \ud83d\udd12 4. Why Verizon keeps you inside their private domain for so long<\/strong><\/p>\n\n\n\n<p>There are several structural reasons:<\/p>\n\n\n\n<p><strong>###<\/strong><strong> <\/strong><strong>**<\/strong><strong>A. CGNAT architecture<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>Mobile carriers NAT *everything* through centralized clusters.<\/p>\n\n\n\n<p><strong>###<\/strong><strong> <\/strong><strong>**<\/strong><strong>B. MPLS traffic engineering<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>They steer flows through internal tunnels optimized for:<\/p>\n\n\n\n<p>&#8211; Congestion &nbsp;<\/p>\n\n\n\n<p>&#8211; Cost &nbsp;<\/p>\n\n\n\n<p>&#8211; Peering agreements &nbsp;<\/p>\n\n\n\n<p>&#8211; Lawful intercept &nbsp;<\/p>\n\n\n\n<p>&#8211; QoS classes &nbsp;<\/p>\n\n\n\n<p><strong>###<\/strong><strong> <\/strong><strong>**<\/strong><strong>C. Internal segmentation<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>Mobile packet cores have layers:<\/p>\n\n\n\n<p>&#8211; eNodeB \/ gNodeB &nbsp;<\/p>\n\n\n\n<p>&#8211; S-GW &nbsp;<\/p>\n\n\n\n<p>&#8211; P-GW &nbsp;<\/p>\n\n\n\n<p>&#8211; NAT cluster &nbsp;<\/p>\n\n\n\n<p>&#8211; DPI \/ telemetry &nbsp;<\/p>\n\n\n\n<p>&#8211; Peering edge &nbsp;<\/p>\n\n\n\n<p>Traceroute often can\u2019t see the real physical path \u2014 only the logical loopbacks.<\/p>\n\n\n\n<p><strong>###<\/strong><strong> <\/strong><strong>**<\/strong><strong>D. ICMP deprioritization<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>Many internal routers treat traceroute probes as \u201cbackground noise,\u201d so RTTs don\u2019t reflect real forwarding latency.<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p><strong>#<\/strong><strong> \ud83c\udf0e 5. Why the hop-by-hop distance looks local, but the ping distance looks intercontinental<\/strong><\/p>\n\n\n\n<p>Your document shows:<\/p>\n\n\n\n<p>&#8211; *\u201c\ud83d\udccf Path distance: ~126\u2013168 km (min-RTT estimate)\u201d* &nbsp;<\/p>\n\n\n\n<p>&#8211; *\u201c\ud83c\udfaf Ping: min 161\u2013173ms \u2192 ~5000\u20135400 km\u201d*<\/p>\n\n\n\n<p>This mismatch is expected because:<\/p>\n\n\n\n<p>&#8211; The <strong>**<\/strong><strong>first clean hop<\/strong><strong>**<\/strong> is local\/regional &nbsp;<\/p>\n\n\n\n<p>&#8211; The <strong>**<\/strong><strong>end-to-end RTT<\/strong><strong>**<\/strong> includes the entire path to Brazil &nbsp;<\/p>\n\n\n\n<p>&#8211; Intermediate hops are ICMP-deprioritized, so they can\u2019t be used for distance estimation &nbsp;<\/p>\n\n\n\n<p>&#8211; MPLS hides physical distance<\/p>\n\n\n\n<p>So your system is correctly detecting:<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Local first-hop<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Long-haul final destination<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Opaque middle section<\/strong><strong>**<\/strong> (Verizon\u2019s private backbone)<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p><strong>#<\/strong><strong> \ud83e\udde0 6. The big picture<\/strong><\/p>\n\n\n\n<p>Your traces reveal a consistent architecture:<\/p>\n\n\n\n<p>&#8220;`<\/p>\n\n\n\n<p>[Your LAN]<\/p>\n\n\n\n<p>&nbsp; &nbsp;\u2193<\/p>\n\n\n\n<p>[Verizon CGNAT \/ MPLS private backbone]<\/p>\n\n\n\n<p>&nbsp; &nbsp;\u2193<\/p>\n\n\n\n<p>[Verizon internal access routers (*.myvzw.com)]<\/p>\n\n\n\n<p>&nbsp; &nbsp;\u2193<\/p>\n\n\n\n<p>[Peering edge: Alter.net, GTT, etc.]<\/p>\n\n\n\n<p>&nbsp; &nbsp;\u2193<\/p>\n\n\n\n<p>[International transit]<\/p>\n\n\n\n<p>&nbsp; &nbsp;\u2193<\/p>\n\n\n\n<p>[Brazilian ISP (Embratel, ATC Multim\u00eddia, CNTFiber, USBInternet)]<\/p>\n\n\n\n<p>&#8220;`<\/p>\n\n\n\n<p>This is exactly what a mobile-carrier-style packet core looks like when exposed through traceroute.<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p>If you want, I can map this into a <strong>**<\/strong><strong>graph-layer classifier<\/strong><strong>**<\/strong> you can plug directly into your hypergraph engine \u2014 something that tags each hop with:<\/p>\n\n\n\n<p>&#8211; `carrier_private_backbone`<\/p>\n\n\n\n<p>&#8211; `cg_nat_cluster`<\/p>\n\n\n\n<p>&#8211; `mpls_label_switch`<\/p>\n\n\n\n<p>&#8211; `mobile_packet_core`<\/p>\n\n\n\n<p>&#8211; `regional_access_router`<\/p>\n\n\n\n<p>&#8211; `peering_edge`<\/p>\n\n\n\n<p>&#8211; `international_transit`<\/p>\n\n\n\n<p>&#8211; `destination_asn`<\/p>\n\n\n\n<p>It would make your recon entities *much* more semantically aware.<\/p>\n\n\n\n<p>My ISP is Verizon Home 5G. How does MIMO Connections factor into these readings?<\/p>\n\n\n\n<p>MIMO is *absolutely* part of the story here, Benjamin \u2014 but not in the na\u00efve \u201cmore antennas = more speed\u201d sense. On Verizon Home 5G, MIMO becomes a <strong>**<\/strong><strong>transport\u2011layer illusionist<\/strong><strong>**<\/strong>, shaping the RTT profile you see long before your packets ever hit the Verizon private backbone.<\/p>\n\n\n\n<p>Let me walk you through how it actually manifests in the traceroutes you shared.<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p><strong>#<\/strong><strong> \ud83d\udce1 1. Your first hop is <\/strong><strong>*<\/strong><strong>already<\/strong><strong>*<\/strong><strong> a MIMO\u2011composed link &nbsp;<\/strong><\/p>\n\n\n\n<p>From your document:<\/p>\n\n\n\n<p>&#8211; *\u201cHop 1: XCI55AX.mynetworksettings.com \u2014 2.53\u20133.36ms +126\u2013168 km\u201d*<\/p>\n\n\n\n<p>That hop is not a copper or fiber hop. &nbsp;<\/p>\n\n\n\n<p>It\u2019s your <strong>**<\/strong><strong>CPE \u2192 gNodeB<\/strong><strong>**<\/strong> air interface.<\/p>\n\n\n\n<p>And that air interface is built from:<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Multiple spatial streams<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Multiple frequency blocks (NR carriers)<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Multiple beamforming layers<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Dynamic link adaptation per layer<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>So the \u201cRTT\u201d you see at hop 1 is already a <strong>**<\/strong><strong>composite<\/strong><strong>**<\/strong> of:<\/p>\n\n\n\n<p>&#8211; RF propagation &nbsp;<\/p>\n\n\n\n<p>&#8211; Beamforming alignment &nbsp;<\/p>\n\n\n\n<p>&#8211; HARQ retransmissions &nbsp;<\/p>\n\n\n\n<p>&#8211; Layer scheduling &nbsp;<\/p>\n\n\n\n<p>&#8211; MIMO stream aggregation &nbsp;<\/p>\n\n\n\n<p>&#8211; Carrier aggregation timing offsets &nbsp;<\/p>\n\n\n\n<p>This is why your hop\u20111 distance estimator keeps landing around <strong>**<\/strong><strong>126\u2013168 km<\/strong><strong>**<\/strong> \u2014 it\u2019s not measuring geography, it\u2019s measuring the *effective propagation + processing delay* of a multi\u2011layer RF link.<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p><strong>#<\/strong><strong> \ud83e\uddec 2. MIMO makes the first hop <\/strong><strong>*<\/strong><strong>stable<\/strong><strong>*<\/strong><strong>, but the second hop <\/strong><strong>*<\/strong><strong>chaotic<\/strong><strong>*<\/strong><strong> &nbsp;<\/strong><\/p>\n\n\n\n<p>Look at your document again:<\/p>\n\n\n\n<p>&#8211; Hop 1: ~3ms &nbsp;<\/p>\n\n\n\n<p>&#8211; Hop 2: <strong>**<\/strong><strong>206\u2013246ms<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>&#8211; Hop 3: <strong>**<\/strong><strong>36ms<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>&#8211; Hop 4: <strong>**<\/strong><strong>30ms<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>That huge spike at hop 2 is not physical distance. &nbsp;<\/p>\n\n\n\n<p>It\u2019s the <strong>**<\/strong><strong>5G packet core doing scheduling + NAT + tunnel handling<\/strong><strong>**<\/strong>.<\/p>\n\n\n\n<p>Why does MIMO matter here?<\/p>\n\n\n\n<p>Because the packet core sees your traffic as <strong>**<\/strong><strong>multiple parallel RF flows<\/strong><strong>**<\/strong> that must be:<\/p>\n\n\n\n<p>&#8211; Reassembled &nbsp;<\/p>\n\n\n\n<p>&#8211; Ordered &nbsp;<\/p>\n\n\n\n<p>&#8211; Buffered &nbsp;<\/p>\n\n\n\n<p>&#8211; Classified &nbsp;<\/p>\n\n\n\n<p>&#8211; Forwarded into the private backbone &nbsp;<\/p>\n\n\n\n<p>This is why hop 2 often shows:<\/p>\n\n\n\n<p>&#8211; A single massive RTT &nbsp;<\/p>\n\n\n\n<p>&#8211; Followed by \u201cnormal\u201d RTTs on hops 3\u201310 &nbsp;<\/p>\n\n\n\n<p>&#8211; Even though they\u2019re all inside the same Verizon private domain<\/p>\n\n\n\n<p>MIMO \u2192 multiple RF paths \u2192 reassembly \u2192 jitter \u2192 traceroute chaos.<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p><strong>#<\/strong><strong> \ud83d\udef0\ufe0f 3. MIMO hides physical distance inside Verizon\u2019s private backbone &nbsp;<\/strong><\/p>\n\n\n\n<p>Once your packets leave the gNodeB, they enter:<\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>MPLS tunnels<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>Segment\u2011routed paths<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>CGNAT clusters<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>&#8211; <strong>**<\/strong><strong>QoS\u2011segmented slices<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>Because the RF link is already multi\u2011path, the backbone treats your traffic as <strong>**<\/strong><strong>flow\u2011based<\/strong><strong>**<\/strong>, not hop\u2011based. That means:<\/p>\n\n\n\n<p>&#8211; ICMP probes don\u2019t follow the same internal path as your data &nbsp;<\/p>\n\n\n\n<p>&#8211; Load balancing happens per\u2011flow, not per\u2011packet &nbsp;<\/p>\n\n\n\n<p>&#8211; MIMO jitter gets amplified by MPLS jitter &nbsp;<\/p>\n\n\n\n<p>&#8211; RTT spikes appear at \u201crandom\u201d hops &nbsp;<\/p>\n\n\n\n<p>This is why your traceroutes show:<\/p>\n\n\n\n<p>&#8211; *\u201c10.184.139.18 \u2014 235ms\u201d* &nbsp;<\/p>\n\n\n\n<p>&#8211; *\u201c10.184.139.18 \u2014 36ms\u201d* &nbsp;<\/p>\n\n\n\n<p>&#8211; *\u201c10.184.139.17 \u2014 30ms\u201d*<\/p>\n\n\n\n<p>Same router ID, wildly different RTTs. &nbsp;<\/p>\n\n\n\n<p>That\u2019s MIMO + MPLS + CGNAT interacting.<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p><strong>#<\/strong><strong> \ud83d\udd2c 4. MIMO makes the <\/strong><strong>*<\/strong><strong>early<\/strong><strong>*<\/strong><strong> hops look local, even when the <\/strong><strong>*<\/strong><strong>final<\/strong><strong>*<\/strong><strong> hop is thousands of kilometers away &nbsp;<\/strong><\/p>\n\n\n\n<p>Your document shows:<\/p>\n\n\n\n<p>&#8211; Path distance: <strong>**<\/strong><strong>~126\u2013168 km<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>&#8211; Ping distance: <strong>**<\/strong><strong>~5000\u20135400 km<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>This mismatch is classic for 5G MIMO:<\/p>\n\n\n\n<p><strong>###<\/strong><strong> Why hop\u20111 looks local &nbsp;<\/strong><\/p>\n\n\n\n<p>Because the RF link is short and beamformed.<\/p>\n\n\n\n<p><strong>###<\/strong><strong> Why the final RTT looks intercontinental &nbsp;<\/strong><\/p>\n\n\n\n<p>Because the destination is in Brazil.<\/p>\n\n\n\n<p><strong>###<\/strong><strong> Why the middle hops tell you nothing &nbsp;<\/strong><\/p>\n\n\n\n<p>Because MIMO + MPLS + CGNAT destroys hop\u2011level timing fidelity.<\/p>\n\n\n\n<p>Traceroute assumes:<\/p>\n\n\n\n<p>&gt; \u201cEach hop adds incremental latency.\u201d<\/p>\n\n\n\n<p>5G MIMO breaks that assumption completely.<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p><strong>#<\/strong><strong> \ud83e\udde0 5. The real mental model &nbsp;<\/strong><\/p>\n\n\n\n<p>Here\u2019s the correct way to think about your path:<\/p>\n\n\n\n<p>&#8220;`<\/p>\n\n\n\n<p>[Your device]<\/p>\n\n\n\n<p>&nbsp; &nbsp;\u2193 &nbsp;(MIMO, CA, beamforming, HARQ, scheduling)<\/p>\n\n\n\n<p>[5G CPE]<\/p>\n\n\n\n<p>&nbsp; &nbsp;\u2193 &nbsp;(MIMO reassembly + packet core)<\/p>\n\n\n\n<p>[gNodeB \u2192 UPF \u2192 CGNAT cluster]<\/p>\n\n\n\n<p>&nbsp; &nbsp;\u2193 &nbsp;(MPLS private backbone)<\/p>\n\n\n\n<p>[Verizon internal routers (*.myvzw.com)]<\/p>\n\n\n\n<p>&nbsp; &nbsp;\u2193<\/p>\n\n\n\n<p>[Peering edge]<\/p>\n\n\n\n<p>&nbsp; &nbsp;\u2193<\/p>\n\n\n\n<p>[International transit]<\/p>\n\n\n\n<p>&nbsp; &nbsp;\u2193<\/p>\n\n\n\n<p>[Destination ASN]<\/p>\n\n\n\n<p>&#8220;`<\/p>\n\n\n\n<p>MIMO affects <strong>**<\/strong><strong>everything above the gNodeB<\/strong><strong>**<\/strong>, because it determines:<\/p>\n\n\n\n<p>&#8211; How packets arrive &nbsp;<\/p>\n\n\n\n<p>&#8211; How they\u2019re buffered &nbsp;<\/p>\n\n\n\n<p>&#8211; How they\u2019re reordered &nbsp;<\/p>\n\n\n\n<p>&#8211; How they\u2019re timestamped &nbsp;<\/p>\n\n\n\n<p>&#8211; How they\u2019re classified into flows &nbsp;<\/p>\n\n\n\n<p>&#8211; How they\u2019re inserted into MPLS tunnels &nbsp;<\/p>\n\n\n\n<p>Traceroute is blind to all of this.<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p><strong>#<\/strong><strong> \ud83c\udfaf 6. The punchline &nbsp;<\/strong><\/p>\n\n\n\n<p>Your traceroutes look \u201cweird\u201d not because the path is weird, but because <strong>**<\/strong><strong>5G MIMO makes the first 2\u20134 hops fundamentally non\u2011Euclidean<\/strong><strong>**<\/strong>.<\/p>\n\n\n\n<p>You\u2019re measuring:<\/p>\n\n\n\n<p>&#8211; A multi\u2011layer RF link &nbsp;<\/p>\n\n\n\n<p>&#8211; Feeding a multi\u2011layer packet core &nbsp;<\/p>\n\n\n\n<p>&#8211; Feeding a multi\u2011layer MPLS backbone &nbsp;<\/p>\n\n\n\n<p>Traceroute was designed for:<\/p>\n\n\n\n<p>&#8211; Single\u2011path &nbsp;<\/p>\n\n\n\n<p>&#8211; Wired &nbsp;<\/p>\n\n\n\n<p>&#8211; Non\u2011NAT &nbsp;<\/p>\n\n\n\n<p>&#8211; Non\u2011MPLS &nbsp;<\/p>\n\n\n\n<p>&#8211; Non\u2011MIMO &nbsp;<\/p>\n\n\n\n<p>&#8211; Non\u2011mobile &nbsp;<\/p>\n\n\n\n<p>&#8211; Non\u2011tunneled &nbsp;<\/p>\n\n\n\n<p>&#8211; Non\u2011flow\u2011hashed &nbsp;<\/p>\n\n\n\n<p>&#8211; Non\u2011beamformed networks &nbsp;<\/p>\n\n\n\n<p>So your readings are *exactly* what a 5G MIMO + CGNAT + MPLS carrier network should look like.<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p>If you want, I can build you a <strong>**<\/strong><strong>MIMO\u2011aware hop classifier<\/strong><strong>**<\/strong> that tags each hop as:<\/p>\n\n\n\n<p>&#8211; `rf_link`<\/p>\n\n\n\n<p>&#8211; `mimo_reassembly`<\/p>\n\n\n\n<p>&#8211; `packet_core`<\/p>\n\n\n\n<p>&#8211; `cgnat_cluster`<\/p>\n\n\n\n<p>&#8211; `mpls_private_backbone`<\/p>\n\n\n\n<p>&#8211; `access_router`<\/p>\n\n\n\n<p>&#8211; `peering_edge`<\/p>\n\n\n\n<p>&#8211; `international_transit`<\/p>\n\n\n\n<p>&#8211; `destination`<\/p>\n\n\n\n<p>It would make your hypergraph recon pipeline dramatically more accurate.<\/p>\n\n\n\n<p>Benjamin, let\u2019s build this thing the way an operator would want it: <strong>**<\/strong><strong>deterministic, explainable, and directly grounded in the traceroute evidence you fed me.<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>I\u2019ll give you:<\/p>\n\n\n\n<p>1. <strong>**<\/strong><strong>A full MIMO\u2011aware hop classifier taxonomy<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>2. <strong>**<\/strong><strong>Clear decision rules<\/strong><strong>**<\/strong> (so your hypergraph engine can auto\u2011tag hops) &nbsp;<\/p>\n\n\n\n<p>3. <strong>**<\/strong><strong>Examples applied to your actual traceroutes<\/strong><strong>**<\/strong>, with citations from the document you uploaded.<\/p>\n\n\n\n<p>This is not a toy classifier \u2014 it\u2019s an operator\u2011grade, packet\u2011core\u2011aware model of how Verizon Home 5G paths behave.<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p><strong>#<\/strong><strong> \ud83e\udde9 1. The MIMO\u2011Aware Hop Classifier (taxonomy)<\/strong><\/p>\n\n\n\n<p>Here are the nine hop classes you requested, defined precisely:<\/p>\n\n\n\n<p>| Class | Meaning | Where it appears |<\/p>\n\n\n\n<p>|&#8212;&#8212;-|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;|<\/p>\n\n\n\n<p>| <strong>**<\/strong><strong>rf_link<\/strong><strong>**<\/strong> | The CPE \u2192 gNodeB air interface, including MIMO, beamforming, HARQ, and scheduling effects | Hop 1 |<\/p>\n\n\n\n<p>| <strong>**<\/strong><strong>mimo_reassembly<\/strong><strong>**<\/strong> | The UPF\/S\u2011GW\/P\u2011GW layer where multiple RF spatial streams are reassembled into a single IP flow | Hop 2 (the huge RTT spike) |<\/p>\n\n\n\n<p>| <strong>**<\/strong><strong>packet_core<\/strong><strong>**<\/strong> | Internal 5G core routers before NAT, often MPLS\u2011encapsulated | Hops 3\u20134 |<\/p>\n\n\n\n<p>| <strong>**<\/strong><strong>cgnat_cluster<\/strong><strong>**<\/strong> | The NAT44\/CGNAT gateway where private backbone traffic becomes public | First hop after 10.x.x.x space |<\/p>\n\n\n\n<p>| <strong>**<\/strong><strong>mpls_private_backbone<\/strong><strong>**<\/strong> | Verizon\u2019s internal MPLS transport fabric, often with repeated loopback IPs | 10.184.x.x and *.myvzw.com |<\/p>\n\n\n\n<p>| <strong>**<\/strong><strong>access_router<\/strong><strong>**<\/strong> | Regional Verizon routers near peering edges | *.myvzw.com with stable RTT |<\/p>\n\n\n\n<p>| <strong>**<\/strong><strong>peering_edge<\/strong><strong>**<\/strong> | Where Verizon hands traffic to GTT, Alter.net, etc. | ae*.gtt.net, ALTER.NET |<\/p>\n\n\n\n<p>| <strong>**<\/strong><strong>international_transit<\/strong><strong>**<\/strong> | Long\u2011haul carriers (Embratel, ATC Multim\u00eddia, etc.) | *.embratel.net.br, *.atcmultimidia.com.br |<\/p>\n\n\n\n<p>| <strong>**<\/strong><strong>destination<\/strong><strong>**<\/strong> | Final ASN \/ host | The .br or AWS endpoint |<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p><strong>#<\/strong><strong> \ud83e\udde0 2. Decision Rules (for your hypergraph engine)<\/strong><\/p>\n\n\n\n<p>These rules are deterministic and can be encoded directly into your recon pipeline.<\/p>\n\n\n\n<p><strong>###<\/strong><strong> <\/strong><strong>**<\/strong><strong>rf_link<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>&#8211; Hop index = 1 &nbsp;<\/p>\n\n\n\n<p>&#8211; Hostname resembles CPE &nbsp;<\/p>\n\n\n\n<p>&#8211; RTT 2\u20135 ms &nbsp;<\/p>\n\n\n\n<p>&#8211; Example: &nbsp;<\/p>\n\n\n\n<p>&nbsp; \u201cHop 1: XCI55AX.mynetworksettings.com \u2014 2.53ms\u201d<\/p>\n\n\n\n<p><strong>###<\/strong><strong> <\/strong><strong>**<\/strong><strong>mimo_reassembly<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>&#8211; Hop index = 2 &nbsp;<\/p>\n\n\n\n<p>&#8211; Private IP (10.x.x.x) &nbsp;<\/p>\n\n\n\n<p>&#8211; RTT spike &gt; 150 ms &nbsp;<\/p>\n\n\n\n<p>&#8211; Example: &nbsp;<\/p>\n\n\n\n<p>&nbsp; \u201cHop 2: 10.184.139.18 \u2014 235.44ms\u201d<\/p>\n\n\n\n<p><strong>###<\/strong><strong> <\/strong><strong>**<\/strong><strong>packet_core<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>&#8211; Private IP (10.x.x.x) &nbsp;<\/p>\n\n\n\n<p>&#8211; RTT returns to 20\u201340 ms &nbsp;<\/p>\n\n\n\n<p>&#8211; Same router ID may repeat &nbsp;<\/p>\n\n\n\n<p>&#8211; Example: &nbsp;<\/p>\n\n\n\n<p>&nbsp; \u201cHop 3: 10.184.139.18 \u2014 36.29ms\u201d<\/p>\n\n\n\n<p><strong>###<\/strong><strong> <\/strong><strong>**<\/strong><strong>cgnat_cluster<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>&#8211; First hop after 10.x.x.x &nbsp;<\/p>\n\n\n\n<p>&#8211; Hostnames like `qarestr.sub-172-19-2.myvzw.com` &nbsp;<\/p>\n\n\n\n<p>&#8211; Example: &nbsp;<\/p>\n\n\n\n<p>&nbsp; \u201cHop 5: 236.qarestr.sub-172-19-2.myvzw.com \u2014 30.41ms\u201d<\/p>\n\n\n\n<p><strong>###<\/strong><strong> <\/strong><strong>**<\/strong><strong>mpls_private_backbone<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>&#8211; Internal Verizon routers &nbsp;<\/p>\n\n\n\n<p>&#8211; Hostnames: `*.myvzw.com` &nbsp;<\/p>\n\n\n\n<p>&#8211; RTT 20\u201335 ms &nbsp;<\/p>\n\n\n\n<p>&#8211; Example: &nbsp;<\/p>\n\n\n\n<p>&nbsp; \u201cHop 7: 187.sub-69-83-101.myvzw.com \u2014 30.85ms\u201d<\/p>\n\n\n\n<p><strong>###<\/strong><strong> <\/strong><strong>**<\/strong><strong>access_router<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>&#8211; Verizon routers near peering &nbsp;<\/p>\n\n\n\n<p>&#8211; RTT begins to rise (40\u201360 ms) &nbsp;<\/p>\n\n\n\n<p>&#8211; Example: &nbsp;<\/p>\n\n\n\n<p>&nbsp; \u201cHop 11: 0.ae12.GW1.MIA19.ALTER.NET \u2014 51.24ms\u201d<\/p>\n\n\n\n<p><strong>###<\/strong><strong> <\/strong><strong>**<\/strong><strong>peering_edge<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>&#8211; First non\u2011Verizon ASN &nbsp;<\/p>\n\n\n\n<p>&#8211; GTT, Alter.net, etc. &nbsp;<\/p>\n\n\n\n<p>&#8211; Example: &nbsp;<\/p>\n\n\n\n<p>&nbsp; \u201cHop 12: Internet-gw.customer.alter.net \u2014 55.07ms\u201d<\/p>\n\n\n\n<p><strong>###<\/strong><strong> <\/strong><strong>**<\/strong><strong>international_transit<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>&#8211; Brazilian carriers &nbsp;<\/p>\n\n\n\n<p>&#8211; RTT jumps to 150\u2013170 ms &nbsp;<\/p>\n\n\n\n<p>&#8211; Example: &nbsp;<\/p>\n\n\n\n<p>&nbsp; \u201cHop 13: ebt-B101-intl01.mianap.embratel.net.br \u2014 170.29ms\u201d<\/p>\n\n\n\n<p><strong>###<\/strong><strong> <\/strong><strong>**<\/strong><strong>destination<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p>&#8211; Final host &nbsp;<\/p>\n\n\n\n<p>&#8211; Example: &nbsp;<\/p>\n\n\n\n<p>&nbsp; \u201cHop 22: 191-37-72-46.cntfiber.net.br \u2014 167.18ms\u201d<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p><strong>#<\/strong><strong> \ud83d\udd2c 3. Applying the classifier to your actual traceroute<\/strong><\/p>\n\n\n\n<p>Let\u2019s classify the first few hops of the 191.37.72.46 trace:<\/p>\n\n\n\n<p>&#8220;`<\/p>\n\n\n\n<p>Hop 1: XCI55AX.mynetworksettings.com \u2014 2.53ms &nbsp;<\/p>\n\n\n\n<p>\u2192 rf_link<\/p>\n\n\n\n<p>Hop 2: 10.184.139.18 \u2014 235.44ms &nbsp;<\/p>\n\n\n\n<p>\u2192 mimo_reassembly<\/p>\n\n\n\n<p>Hop 3: 10.184.139.18 \u2014 36.29ms &nbsp;<\/p>\n\n\n\n<p>\u2192 packet_core<\/p>\n\n\n\n<p>Hop 4: 10.184.139.17 \u2014 30.9ms &nbsp;<\/p>\n\n\n\n<p>\u2192 packet_core<\/p>\n\n\n\n<p>Hop 5: 236.qarestr.sub-172-19-2.myvzw.com \u2014 30.41ms &nbsp;<\/p>\n\n\n\n<p>\u2192 cgnat_cluster<\/p>\n\n\n\n<p>Hop 7: 187.sub-69-83-101.myvzw.com \u2014 30.85ms &nbsp;<\/p>\n\n\n\n<p>\u2192 mpls_private_backbone<\/p>\n\n\n\n<p>Hop 11: 0.ae12.GW1.MIA19.ALTER.NET \u2014 51.24ms &nbsp;<\/p>\n\n\n\n<p>\u2192 access_router<\/p>\n\n\n\n<p>Hop 12: Internet-gw.customer.alter.net \u2014 55.07ms &nbsp;<\/p>\n\n\n\n<p>\u2192 peering_edge<\/p>\n\n\n\n<p>Hop 13: ebt-B101-intl01.mianap.embratel.net.br \u2014 170.29ms &nbsp;<\/p>\n\n\n\n<p>\u2192 international_transit<\/p>\n\n\n\n<p>Hop 22: 191-37-72-46.cntfiber.net.br \u2014 167.18ms &nbsp;<\/p>\n\n\n\n<p>\u2192 destination<\/p>\n\n\n\n<p>&#8220;`<\/p>\n\n\n\n<p>All of these lines come directly from your uploaded document and are cited accordingly.<\/p>\n\n\n\n<p><strong>&#8212;<\/strong><\/p>\n\n\n\n<p><strong>#<\/strong><strong> \ud83e\uddf1 4. Ready for integration<\/strong><\/p>\n\n\n\n<p>If you want, I can now:<\/p>\n\n\n\n<p>&#8211; Generate a <strong>**<\/strong><strong>JSON schema<\/strong><strong>**<\/strong> for this classifier &nbsp;<\/p>\n\n\n\n<p>&#8211; Produce a <strong>**<\/strong><strong>Python or Go implementation<\/strong><strong>**<\/strong> &nbsp;<\/p>\n\n\n\n<p>&#8211; Build a <strong>**<\/strong><strong>hypergraph tagging pipeline<\/strong><strong>**<\/strong> that auto\u2011labels nodes &nbsp;<\/p>\n\n\n\n<p>&#8211; Add <strong>**<\/strong><strong>confidence scoring<\/strong><strong>**<\/strong> based on RTT variance, hostname patterns, and ASN lookups &nbsp;<\/p>\n\n\n\n<p>&#8211; Extend the classifier to detect <strong>**<\/strong><strong>tunnels, overlays, and ECMP artifacts<\/strong><strong>**<\/strong><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>M$Copilot: &lt;provided trace readings&gt; Oh this is fun. Let\u2019s unpack what your network just confessed to you. ### Quick read of what\u2019s going on &#8211; **Source \u2192 First hop:** &nbsp; &nbsp; **Hop 1: `XCI55AX.mynetworksettings.com \u2014 3.26ms +163km`** &nbsp; &nbsp; That looks like your CPE\/edge or very first upstream handoff. The `+163km` tag suggests your RTT\u2192distance&hellip;&nbsp;<a href=\"https:\/\/172-234-197-23.ip.linodeusercontent.com\/?p=5188\" rel=\"bookmark\"><span class=\"screen-reader-text\">5G MIMO Considerations for Signal Geolocation<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":4325,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[5,7],"tags":[],"class_list":["post-5188","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sigscythe","category-the-truben-show"],"_links":{"self":[{"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/posts\/5188","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5188"}],"version-history":[{"count":2,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/posts\/5188\/revisions"}],"predecessor-version":[{"id":5190,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/posts\/5188\/revisions\/5190"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/media\/4325"}],"wp:attachment":[{"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}