Una panoramica sul mondo della Sicurezza Informatica, del Networking, della Virtualizzazione e non solo. Blog particolarmente indicato per i reparti IT che comunque alterna articoli scritti per specialisti con articoli formulati con linguaggio semplice e comprensibile a tutti.

Ogni articolo di questo blog è stato integralmente scritto dall'autore. Il contenuto è completamente originale e la riproduzione, anche parziale, è vietata salvo autorizzazione.

martedì 9 novembre 2021

Bande sempre più performanti... ok, ma c'è un punto in cui casca l'asino! Parliamo di peering.

 Oggi parliamo di Peering (in maniera molto superficiale e con linguaggio adatto anche ai neofiti) per capire cosa accade realmente quando navighiamo o esponiamo dei servizi.

Oramai siamo abituati a connettività in fibra da 100, 200 e addirittura in Gigabit o 2,5 Gigabit. Siamo altrettanto abituati ad avviare uno speed test e darci una pacca sulla spalla quando leggiamo valori coerenti con quanto abbiamo acquistato. Una cosa che, tuttavia, non sarà scritta in nessun contratto, è quanto il nostro operatore è performante nel peering con altri operatori. Un esempio? Quando uno speed test restituisce valori bassi, in genere "bolliamo" la cosa con "il server su cui sto facendo il test è scadente". No, non sempre, anzi! E ora cerco di spiegarvi perchè.


Facciamo un passo indietro... cosa accade quando navighiamo?

Molto brevemente: poniamo il caso di voler contattare www.google.it. Tra il nostro client e i server di google ci saranno molti punti di routing (hop) che dovremo attraversare. Alcuni saranno interni al nostro operatore, altri saranno interni all'entità che vogliamo contattare (o Autonomous System, che nell'esempio è Google), al centro di essi vedremo tipicamente un Internet Exchange che si occupa di mettere in comunicazione i maggiori AS (Telecom, Vodafone, Wind, Fastweb, ma anche Google, Facebook e tutti quei operatori che hanno investito e deciso di collegarsi "direttamente" ai "fulcri" su cui si snoda la rete internet, ovvero i punti di interscambio) con degli accordi di Peering. I puristi non si scandalizzassero della banalizzazione e della non differenziazione tra Peering Privato e Peering Pubblico: è un articolo per neofiti!

Volendo schematizzare, quindi, lanciando un tracert da una connettività A (su fastweb) ad un punto B (su vodafone) nel nostro caso avremo i seguenti punti di routing:

 


I primi punti (omessi nell'immagine) sono il nostro router ed i router del nostro operatore. Gli ultimi punti (sempre omessi) sono, specularmente, i router dell'operatore e il router della connettività finale. Ma al centro avviene una magia: tutti i maggiori operatori si incontrano in uno o più Internet Exchange e comprano porte su switch (router) con cui smistarsi il traffico.

Nell'esempio di cui sopra, è plausibile pensare che 93.63.100.145 sia il router di fastweb al MIX-IT e 217.29.67.27 sia il suo corrispettivo di Vodafone. Il MIX ( https://www.mix-it.net/ consiglio un giro sul sito per maggiore approfondimento) è uno degli snodi italiani più importanti in cui questo avviene.

 

Dove casca l'asino?

Gli operatori, quindi, comprano delle porte e delle bande per smistarsi il traffico tra di loro. Pertanto, fin quando dall'operatore A finisco sempre sull'operatore A, il routing sarà interno. Quando dovrò attraversare il perimetro del mio operatore per contattarne un altro, dovrò necessariamente e ovviamente passare da un AS ad un altro.

Per farsi un'idea di quanto gli operatori hanno investito, questo straordinario sito riporta i Peer: https://peeringdb.com/

Ad esempio questi sono i Peer nel punto di interscambio di Francoforte: https://peeringdb.com/ix/31 (a destra le velocità).



Perchè uno speed test su server diversi restituisce risultati molto diversi?

Perchè il server è scadente? No, nella maggior parte dei casi no. Dopo tutta questa spiegazione, abbiamo gli elementi per dire che il peering potrebbe averci messo lo zampino.

Quando facciamo uno speed-test tipicamente finiamo su di un server del nostro stesso operatore. Quindi facciamo un bellissimo speed test in una condizione ottimale. 

Qui, ad esempio, Vodafone su Vodafone MI:

 

 

Ma quale percentuale di siti o servizi internet nel mondo si trovano ospitati per coincidenza proprio sul nostro operatore? Una percentuale irrisoria (a prescindere da quanto grande possa essere il nostro operatore), quindi potremo dire che nel 99% dei casi la nostra navigazione uscirà dal nostro operatore e attraverserà il suo perimetro, pertanto questo nostro speed test sarà sostanzialmente inutile.

 

Proviamo a fare uno speed test, sempre dalla nostra connessione di esempio, su OVH Graveline, uno dei provider di servizi in cloud più importanti d'europa (e su cui verosimilmente ci si trovi realmente in qualche maniera a far del traffico):

 
 
Proviamo a testare un salto di operatore andando, sempre dalla stessa connessione dell'esempio Vodafone, verso Wind:

 
 
Ora proviamo dalla stessa su di un server di un piccolo operatore locale (che certamente non ha le economie necessarie a comprare Terabit di banda negli Internet Exchange):


Non mi fraintendete, l'articolo non vuole puntare il dito verso un operatore specifico (anche perchè noi non abbiamo gli elementi per dire che la caduta di performance sia colpa dell'uno o dell'altro operatore): lo scopo è solo didattico.


Conclusioni

Capite bene che la velocità è relativa e condizionata da molti fattori. Fare uno speed test ci da solo un aspetto (condizionato, inoltre, dal carico di quel momento), e normalmente si tratta anche di un aspetto abbastanza aleatorio. Non c'è una risposta precisa alla domanda "si, ok, ma la mia connessione a quanto va?". La risposta più corretta è "dipende da te, dipende dal tuo interlocutore e dipende anche e soprattutto da quanto i rispettivi operatori hanno investito nel traffico di interscambio".

Di sicuro rimane sempre valido il consiglio, ad esempio, di interconnettere in VPN sedi diverse della stessa azienda possibilmente utilizzando sempre lo stesso operatore, proprio per evitare passaggi e latenze supplementari.


Discaimer: Ogni articolo di questo blog è stato integralmente scritto dall'autore. Il contenuto è completamente originale e la riproduzione, anche parziale, è vietata salvo autorizzazione.