Vi è mai capitato di chiedervi come fa il vostro PC a mostrare contenuti erogati su Internet da aziende o enti dislocati dall’altra parte del pianeta? Io sì e questa domanda ha influenzato la mia carriera professionale e la mia vita.
kazuma seki / iStock via Getty Images
Avevo circa 24 anni, ero all’Università a studiare per il corso di Reti di Telecomunicazioni del Politecnico di Bari e mentre studiavo la rete Internet mi sono imbattuto nel “traceroute”: subito ho cominciato a giocare con lui. Ma vi starete chiedendo: cosa è il “traceroute”? Si definisce come un software tramite il quale si riescono a tracciare gli indirizzi IP degli apparati che un pacchetto attraversa per raggiungere una particolare destinazione.
Cosa è pacchetto e cosa è un indirizzo IP
Nel mondo delle telecomunicazioni digitali un pacchetto (di dati) è una sequenza di simboli binari bit "0" o "1", grande solitamente tra i 64 ed i 1536 bytes, con un byte grande a sua volta 8 bit, è tramite questi pacchetti che avviene la comunicazione su Internet, i pacchetti sono l’equivalente della parola nel linguaggio umano.
Per esempio quando vediamo una foto che ha pubblicato su Instagram il ragazzo o la ragazza che ci piace, il nostro smartphone ha appena scaricato dal server remoro di Instagram i pacchetti di dati necessari per "costruire" quella foto a schermo nel nostro smartphone.
Artur Charkin / iStock via Getty Images
Per quanto riguarda gli indirizzi IP solitamente detti soltanto “IP”, dall’inglese “Internet Protocol”, è un indirizzo paragonabile all’indirizzo di casa vostra. La differenza sostanziale è che al posto di essere scritto in caratteri alfanumerici, l’indirizzo “Via dei Matti numero 0” diventa una sequenza di cifre in codice binario, quindi una serie di "0" e "1" raccolti in ottetti (ossia gruppi 8 cifre). Ma quanti ottetti servono per comporre un IP? Qui ci troviamo difronte a due risposte: si può usare la versione 4 del protocollo, ad oggi la più diffusa, in cui vi sono quattro ottetti e gli indirizzi IPv4 sono del tipo 192.168.1.1 (con traduzione da codice binario a codice decimale dei 4 ottetti) oppure usare gli indirizzi IPv6 che sono del tipo 2001:0db8:8503:0000:1319:802e:0370:7344 dove gli ottetti diventano otto.
L’IPv4 nacque nel 1981 per l’esigenza di creare uno schema di indirizzamento unico e condiviso a livello planetario che consentisse la crescita di Internet, ossia la comunicazione via rete a pacchetto tra PC e server dislocati anche in continenti diversi. L’IPv6 nacque nel 2004 per risolvere il problema della penuria degli indirizzi IPv4, poiché con l’IPv4 si possono avere 4,3 per 10 elevato alla 9 ovvero 4,3 miliardi indirizzi, che possono sembrare tanti ma se pensate a quanti oggetti connessi a Internet ognuno di noi ha e li moltiplicate per il numero di abitanti del pianeta vedrete che così tanti poi non sono! Per risolvere ciò è stato sviluppato l’IPv6 che di indirizzi ne ha 4 per 10 elevato alla 38 (ripeto 38!), una cifra spaventosamente grande che dovrebbe garantire IP a tutti.
La verità è che in questi venti anni di vita IPv6 è rimasto il fratello piccolo di IPv4, perché anche se l’IPv6 è un protocollo più evoluto, l’IPv4 è più intuitivo e più diffuso.
Quindi la penuria di IP in IPv4 per ora è stata risolta ricorrendo agli IP privati e agli IP pubblici. Gli IP privati sono gli IP che i dispositivi connessi in rete utilizzano quando sono in una rete privata, quando invece si è direttamente connessi in rete pubblica (quindi in Internet) i dispositivi usano IP pubblici.
Quando siete in ufficio o a casa connessi alla rete wi-fi l’IP del vostro dispositivo sarà un IP privato con cui comunicare con tutti gli altri dispositivi nella stessa rete. Ma la domanda sorge spontanea: cosa succede se provate ad andare su Internet da quel dispositivo? Non potete presentarvi su Internet con il vostro IP privato, perché quegli stessi IP vengono riutilizzati in miliardi di reti private quindi il modem/router del vostro ufficio o di casa cambierà l’IP con cui vi presentate su Internet, togliendo quello privato e inserendo il proprio IP pubblico, questo processo viene chiamato NAT (Network Address Translation).
Proviamo il traceroute su un sito straniero
Ora finalmente possiamo tornare al nostro gioco con il traceroute e al titolo dell’articolo. Quando il mio professore mi spiegò il funzionamento di Internet e del traceroute, da appassionato di geografia quale sono mi venne voglia di vedere che strada facesse un pacchetto IP per arrivare dall’altra parte del mondo. Mentre pensavo a un sito Internet di una nazione lontana, sentii dalla tv della camera accanto parlare di come il calciatore Del Piero si trovasse con la nuova squadra in Australia: il sito del “Sydney FC” era perfetto per il mio esperimento!
Il primo strumento necessario per l’esperimento lo abbiamo tutti sui nostri PC, l’applicazione Prompt dei Comandi, quella che chiunque la usi ha la sensazione di essere un malintenzionato che sta tentando di hackerare l’FBI.
Dragos Condrea / iStock via Getty Images
Dopo aver aperto il prompt comandi digitai tracert sydneyfc.com e iniziarono a comparire gli IP dei router su cui il pacchetto stava transitando. Mi accorsi che ai tempi comparivano numerosi IP pubblici dei router attraversati intervallati da alcuni IP privati. Per quale motivo accadeva questo? Perché il nostro bit partì per il suo meraviglioso viaggio dalla rete privata di casa mia, per passare su quella dell’Internet service provider che utilizzavamo a casa per navigare, per poi passare via Internet Exchange Point su ISP Tier 2 ed 1 (maggiori dettagli nell'articolo: Internet, che cos’è e come funziona). Nel momento in cui mi trovai davanti la lista di questi IP, utilizzai il sito www.ripe.net per verificare a chi era intestato ogni IP, essendo ogni IP pubblico intestato al soggetto che lo acquista da IANA (Internet Assigned Numbers Authority, che è un organismo responsabile dell’assegnazione degli IP pubblici) e scoprii che i bit partiti dal mio PC e indirizzati al sito del Sydney FC per arrivarci si erano dovuti “immergere sotto acqua”. Transitarono su cavi sottomarini che attraversano gli oceani ma non passando dalla strada più breve: dal Mar Mediterraneo al Mar Rosso e infine l’Oceano Indiano, ma per quella più lunga, passando dagli Stati Uniti e quindi attraversando Oceano Atlantico e Pacifico. Mi resi conto di ciò perché alcuni IP dei router attraversati appartenevano all’ISP Tier 1 Americano AT&T e inserendoli nel sito www.whatismyipaddress.com veniva indicato che erano localizzati in Texas.
Photo by Sebastiano Troia
Trace fatto da me verso un sito Internet Americano che per lo meno risponde con IP “Californiano”
Oggi Internet è molto cambiato rispetto al 2014 quindi se ripeterete questo esperimento avrete risultati in un certo senso più deludenti di quelli che ebbi io e che furono molto utili a fini didattici, poiché oggi gli IP dei router che vengono attraversati da un traceroute oltre il primo IXP (Internet Exchange Point) spesso non sono visibili per motivi geopolitici e per non appesantire il lavoro di quei router che smistano il traffico internazionale. Inoltre anche se accediamo a un servizio erogato da un’azienda americana (come può essere Instagram erogato da Meta), il servizio viene fornito con server molto più vicini a noi che gestiscono lo scambio di dati tra utenti di uno o più Paesi vicini e quindi non vedrete nel traceroute IP “americani”.