Come funziona davvero la geolocalizzazione IP
Come funziona la geolocalizzazione IP?
Un indirizzo IP non contiene coordinate. Nel protocollo non c'è alcun chip GPS, nessun campo latitudine nell'intestazione del pacchetto, nessun segnale che comunichi dove si trova una macchina. Un indirizzo IPv4 è composto da 32 bit di informazioni di instradamento; un indirizzo IPv6 da 128. Tutto ciò che un servizio di geolocalizzazione ti dice riguardo al luogo è dedotto da indizi che circondano l'indirizzo, non letto al suo interno. Capire come funziona questa deduzione — e dove si inceppa — fa la differenza tra usare bene uno strumento come il tracer e interpretarne male i risultati.
La risposta breve alla domanda "come funziona la geolocalizzazione IP" è questa: i database correlano diversi segnali pubblici e indipendenti relativi a un blocco di indirizzi, li soppesano gli uni contro gli altri e pubblicano una stima ottimale con un livello di affidabilità. Vale però la pena percorrere la risposta lunga, strato per strato.
Primo strato: i registri di allocazione
Ogni indirizzo IP pubblico è assegnato da uno dei cinque Registri Internet Regionali: ARIN (Nord America), RIPE NCC (Europa, Medio Oriente e Asia Centrale), APNIC (Asia-Pacifico), LACNIC (America Latina e Caraibi) e AFRINIC (Africa). Ogni registro pubblica chi detiene quale blocco e il paese di registrazione del titolare. Questo è il segnale di base: è autorevole, pubblico e raramente errato a livello di paese per gli indirizzi che restano dove sono stati assegnati. Non dice nulla sulle città e non dice nulla su dove si trovino i singoli clienti del titolare — l'intera allocazione di un ISP nazionale riporta un unico indirizzo di registrazione. Il registro collega inoltre ogni blocco a un Sistema Autonomo, motivo per cui una ricerca ASN è spesso la parte più affidabile di qualsiasi traccia.
Secondo strato: i dati pubblicati dagli ISP
Alcuni operatori di rete pubblicano volontariamente i propri dati di geolocalizzazione. La forma standardizzata è un geofeed — un file CSV, descritto nell'RFC 8805, che associa intervalli di indirizzi a un paese, una regione e una città. Quando un ISP mantiene un geofeed accurato, i fornitori di database lo trattano come input ad alta affidabilità, perché l'operatore sa meglio di chiunque altro quale prefisso serve quale area metropolitana. La copertura è disomogenea: le grandi reti di contenuti e gli ISP più lungimiranti pubblicano i feed; molti operatori non pubblicano nulla e alcuni ne pubblicano di obsoleti.
Terzo strato: la misurazione della latenza
La luce nella fibra è vincolata dalle leggi della fisica. Se un server sonda situato a Francoforte raggiunge un indirizzo in 4 millisecondi, quell'indirizzo non può trovarsi a San Paolo. I fornitori gestiscono reti di misurazione che inviano ping agli intervalli di indirizzi da decine di punti di osservazione e triangolano: ogni tempo di andata e ritorno traccia un cerchio di distanza massima, e l'intersezione di molti cerchi delimita l'area plausibile. La triangolazione basata sulla latenza è efficace nell'escludere regioni e mediocre nel individuare con precisione le città, perché deviazioni di instradamento, ritardi di accodamento e tecnologia dell'ultimo miglio gonfiano tutti i tempi di andata e ritorno in modo imprevedibile.
Quarto strato: la correlazione GPS da crowdsourcing
Il segnale più granulare proviene dai dispositivi che riportano entrambe le informazioni contemporaneamente. Le applicazioni mobili e i siti web che richiedono il permesso di accesso alla posizione osservano una rilevazione GPS e l'indirizzo IP pubblico da cui è arrivata; aggregato su milioni di sessioni consenzienti, questo costruisce una mappa statistica di quali intervalli di indirizzi compaiono in quali quartieri. È un segnale potente e deperibile: gli ISP riassegnano i pool di indirizzi, e un blocco che lo scorso trimestre si raggruppava in un sobborgo potrebbe oggi servirne un altro. È anche, cosa importante, un dato aggregato relativo a intervalli — non identifica e non può identificare l'individuo dietro un singolo indirizzo, un punto approfondito in se un IP rivela il tuo indirizzo.
Quinto strato: gli indizi dagli hostname
Gli ingegneri di rete danno ai router nomi che richiamano luoghi. Una ricerca DNS inversa su un salto di dorsale restituisce spesso qualcosa come lon-edge-02.example.net o ae1.cr2.ord7.example.net — codici di aeroporti e città inseriti per convenzione (LON per Londra, ORD per Chicago). Analizzare questi hostname localizza l'infrastruttura, e un indirizzo di utente finale instradato attraverso un punto di presenza denominato è probabilmente servito da nelle vicinanze. Il segnale è indiziario: le convenzioni di denominazione variano da operatore a operatore, i nomi sopravvivono ai trasferimenti, e il cliente potrebbe trovarsi a centinaia di chilometri dal router di bordo che lo serve.
| Segnale | Fonte | Risoluzione tipica | Debolezza principale |
|---|---|---|---|
| Registri di allocazione | ARIN, RIPE NCC, APNIC, LACNIC, AFRINIC | Paese | Indirizzo del titolare, non posizione dell'utente |
| Geofeed | Pubblicazione autonoma dell'ISP (RFC 8805) | Città | Copertura scarsa, a volte obsoleta |
| Sonde di latenza | Reti di misurazione dei fornitori | Regione | Le deviazioni di instradamento gonfiano le distanze |
| Correlazione GPS | Dispositivi consenzienti aggregati | Città / distretto | Decade man mano che gli ISP riassegnano i pool |
| Indizi dagli hostname | Convenzioni di denominazione del DNS inverso | Città dell'infrastruttura | I nomi sopravvivono ai cambiamenti di rete |
Perché la risposta è una stima, non una posizione esatta
Nessuno strato è di per sé decisivo, quindi i fornitori li combinano. Dove gli strati concordano — il paese del registro corrisponde ai vincoli di latenza, un geofeed indica la stessa città suggerita dai raggruppamenti GPS — l'affidabilità è alta. Dove sono in conflitto, la stima si allarga. Ecco perché un risultato onesto riporta sempre un raggio di affidabilità anziché un punto preciso: l'output significa "questo intervallo con ogni probabilità serve quest'area", mai "questo dispositivo si trova a queste coordinate". L'accuratezza misurata riflette questa struttura: le risposte a livello di paese sono corrette all'incirca dal 95 al 99 percento delle volte, quelle a livello di regione dal 55 all'80 percento, e quelle a livello di città dal 50 al 75 percento su banda larga fissa — mentre con gli operatori mobili, le uscite VPN e i collegamenti satellitari sono spesso errate a ogni livello. I dati completi sono in quanto è accurata la geolocalizzazione IP.
Come vengono compilati i database
Prodotti come DB-IP (che alimenta lo strato di localizzazione di Uplink Trace) e GeoLite2 di MaxMind acquisiscono continuamente tutti e cinque gli strati, risolvono i conflitti in modo algoritmico e pubblicano istantanee — tipicamente con cadenza mensile per le edizioni gratuite, più di frequente per quelle commerciali. Il ciclo di aggiornamento è importante perché la mappa degli indirizzi di internet si sposta al di sotto di esso. Quando un blocco viene venduto, affittato o riannunciato da un nuovo paese, ogni database che non lo ha ancora riosservato continua a riportare la vecchia posizione. Le allocazioni obsolete sono la causa singola più comune di un risultato con paese errato: un intervallo di indirizzi trasferito da un broker europeo a un operatore cloud asiatico può essere geolocalizzato nel continente sbagliato per mesi. Controllare la rete che effettua l'annuncio — vedi che cos'è un ASN — spesso rivela la discrepanza, perché gli annunci BGP si aggiornano in pochi minuti mentre le istantanee di geolocalizzazione si aggiornano nell'arco di settimane.
Per vedere gli strati assemblati in un dossier dal vivo, esegui la traccia di esempio di 8.8.8.8: i dati del registro, l'operatore AS, il DNS inverso e la stima di geolocalizzazione compaiono fianco a fianco, ciascuno etichettato con ciò che può e ciò che non può affermare. È proprio questa trasparenza il punto. La geolocalizzazione IP è uno strumento statistico ben calibrato per collocare le reti in regioni approssimative — e uno strumento categoricamente sbagliato per localizzare le persone, cosa che non può fare.