SIGNIFICATO E MISURA DELLA LATENZA E PING

INTRODUZIONE
La latenza é diventato un indice di prestazione molto utilizzato per gli accessi ad Internet di ogni tipologia.
Purtroppo si fa spesso confusione su ciò che davvero misura questa grandezza.

Come mai uno speedtest misura pochi millisecondi di latenza ma dal server di gaming ottengo un risultato dieci volte maggiore?
Che differenza c'é tra una connettività con 10ms di ping ed una con 30ms?
Da cosa é dovuta l'enorme varietà di latenze osservate nelle diverse connettività sul mercato?
Che libertà ha il singolo provider di determinare la latenza delle proprie connettività?

Questo articolo vuole rispondere a queste domande con l'obiettivo di fare chiarezza su una grandezza diventata di uso comune.

MISURIAMO LA LATENZA
Con il termine latenza (L) in ambito di reti di telecomunicazioni ed in particolare in ambito di rete Internet, si intende la somma del tempo che un pacchetto di dati impiega per percorrere il segmento sorgente-destinazione (ta) e il tempo di ritorno (tb) alla sorgente.

L = ta + tb

La tipica unità di misura è il millisecondo (ms). Di fatto con il termine latenza si misura un tempo di round-trip, ovvero di andata/ritorno tra la sorgente e la destinazione, anche se raramente è quotato il termine completo round-trip latency.

Naturalmente la latenza dipende dalla velocitá del segnale all'interno del materiale col quale é costruita la rete. Faremo adesso un calcolo della velocitá e quindi della latenza di un segnale propagato attraverso una fibra ottica, su distanze tipiche della rete Internet sul territorio Italiano, al fine di calcolare le latenze minime da un punto di vista fisico che naturalmente restano valori teorici che in realtá non si potranno mai raggiungere.

Nella seconda parte dell'articolo spiegheremo perché il calcolo della latenza non comprende un valore che invece é fondamentale nella percezione della qualitá e della reattivitá di un accesso ad Internet.

DISTANZE AEREE DAI PUNTI DI RACCOLTA
Calcoliamo la distanza in linea d'aria (in chilometri) da 5 diverse zone in Italia a due punti di raccolta tipici, Roma e Milano.



DISTANZE REALI DAI PUNTI DI RACCOLTA
Rettifichiamo la distanza in linea d'aria aggiungendo un fattore di curvatura del 30%, corrispondente al rapporto medio distanza aerea/stradale considerando che le reti percorrono molto spesso tratti stradali.



DISTANZA ANDATA E RITORNO (Round Trip)
Rettifichiamo la distanza raddoppiandola, per avere la cosidettadistanza di round trip (RT), che rappresenta la base del calcolo delle latenze.



VELOCITÁ DEL SEGNALE
La velocitá di propagazione di un segnale é spesso espresso in rapporto alla velocitá della luce nel vuoto (c).
La velocitá della luce é di 300.000 Km/s nel vuoto.
La velocitá della luce nella fibraottica é circa 2/3 di c.

VF (%) = 67 = 201.000 Km/s

Naturalmente é una velocitá teorica, in condizioni perfettee assumendo che ci sia una fibra ottica senza soluzioni di continuitá tradue punti.
Se cosi fosse le distanze riportate nella mappa sarebbero percorse coi tempi sotto riportati (in millisecondi).



LATENZA TEORICA VS LATENZA REALE
Purtroppo nella realtá

1. Nessuno é collegato ai punti di raccolta con una segmento unico in fibra ottica, il quale avrebbe le prestazioni descritte in precedenza.
Ogni nodo aggiunge latenza (vedi punto 3).

2. Molti tratti sono ancora in rame, per il quale bisogna aggiungere un fattore di attenuazione sulla distanza.

3. Bisogna aggiungere un fattore di latenza hardware sul punto di partenza e sul punto di arrivo, dovuto all'apparato ( modem/router)

4. Il tempo di serializzazione dei pacchetti, che esiste ed ha un ordine di grandezza di due fattori superiore alla latenza RTT, non ci interessa per il calcolo della latenza/ping. E' invece molto importante per la prestazione della connettivitá, ma tale argomento non é oggetto di questo articolo.

Anche se aggiungiamo solo 2ms di latenza per il fattore hardware, moltiplicando tale fattore per un minimo di 4 nodi (hops) (nostro modem, dslam/OLT, nodo di consegna, nodo di raccolta), dobbiamo aggiungere 8ms.

In veritá il nostro modem e la nostra rete “casalinga” aggiungono molta piú latenza. C'é una vasta letteratura ma con idee ancora poco chiare sull'effetto sulla latenza di particolari processori montati su router rispetto ad altri1. Per il momento aggiungendo solo la latenza del punto 1, ovvero 2ms x 4 = 8ms alla nostra mappa abbiamo lo scenario seguente, che resta ancora uno scenario puramente teorico e non reale:

Nota 1 : La letteratura indic aun valore almeno di 10ms per la latenza introdotta da un qualsiasi modem xDSL. Alcuni test (www.badmodems.com) indicano che particolari processori hanno prestazioni migliori ma al momento manca uno studio compiuto e completo sull'argomento. [6][7]

LATENZA RTT
FTTH



LATENZA RTT
FTTC

Il fattore di velocitá (VF) del rame (nominale, rame nuovo in perfette condizioni senza nodi/giunti) é di 58.5, per cui la prestazione é del 10% inferiore, sui primi due nodi, rispetto alla FTTH.

Inoltre il rame aggiunge la latenza (2ms) di almeno altri 3 nodi intermedi. Prima di arrivare il DSLAM interconnesso con la fibra ottica il segnale percorre router + raccordo + distributore > DSLAM, aggiungendo 6ms totali, oltre all'incremento del 10% di cui sopra.

Naturalmente I valori sotto riportati restano valori relativi a condizioni fisiche perfette che una rete nella realtá non potrá mai raggiungere.



LIMITI NELLA MISURAZIONE
Pochi sanno che la latenza esclude dalla misurazione il tempo di processo del pacchetto a destinazione [tp], sommando solo i due tempi round-trip [ta e tb] . Tale tecnica di misurazione rende la misura della latenza indipendente dal tipo di destinazione, e quindi confrontabile, ma induce all'errore di assumere che nelle applicazioni reali quella latenza sia uguale a quella percepita dall'utente finale, che invece nella realtà percepisce an-che il tempo di processo dei pacchetti a destino. Bisogna aggiungere all'equazione il tempo di processo dei pacchetti, che tendenzialmente è di un ordine di grandezza di un grado superiore rispetto alla latenza appena definita.

A puro titolo di esempio in (Fig. 1) si riporta un tipico esempio della differenza tra un valore di latenza misurato con uno “speedtest” di 20ms ed il valore reale di latenza che si ottiene aggiungendo il tempo di processing dei pacchetti a destinazione. Spesso la latenza di speedtest è pochi punti percentuali della totale latenza. Naturalmente per arrivare a destinazione spesso si percorre una rotta fatta di diversi nodi, ognuno dei quali aggiunge la propria latenza e il proprio tempo di processing. Questo valore è direttamente proporzionale alla banda disponibile, alla priorità assegnata al singolo accesso ad internet sui nodi di interconnessioni e in generale alla congestione del provider.

Latenza

Fig. 1. Differenza tra la misura della latenza (ping) e l'effettiva latenza ottenuta sommando il tempo di processo dei pacchetti a destinazione


SOMMA DELLE LATENZE
La reale latenza (R) che l'utente finale sperimenta é quindi la somma del round trip e il tempo di processo dei pacchetti a destino.

R = (L + ta + tp) = (ta + tb + tp)


LA LATENZA DI PROCESSO E LA SERIALIZZAZIONE
Il valore più rilevante della latenza reale é il tempo di processo (tp) che cercheremo di spiegare nel presente paragrafo con un semplice esempio. Se due pacchetti arrivano insieme a destinazione, anche in assenza di saturazione, è possibile che si mettano in coda o che il secondo venga fatto cadere. Ogni pacchetto deve essere serializzato e poi deserializzato prima di essere ritrasmesso verso la sorgente.

La serializzazione [3][4] è quel processo che converte un oggetto in uno stream di bytes per poterlo trasmettere su di un cavo. E il ritardo di serializzazione è il tempo che si impiega ad inserire un dato digitale in una linea trasmissiva. Tale tempo dipende dalla velocità del substrato fisico, ad esempio una FTTC con 1 Mbit di BMG dedicata può inviare 1 Mb/8 = 0,125 Mb/s. Quindi per serializzare un pacchetto da 1024 byte impiega 1024/125.000 = 8.2ms. Questa è la latenza di un solo pacchetto assumendo che la FTTC abbia una BMG dedicata di 1 Mbit (spesso è molto inferiore e non esistente). Nella realtà i pacchetti sono migliaia e la BMG è spesso molto bassa, per cui la serializzazione e quindi la latenza di processo impiega un valore nell'ordine delle decine e delle centinaia di millisecondi. Di conseguenza il valore della latenza roundtrip, che spesso è l'unica latenza ad essere misurata, risulta essere un valore non rilevante nell'esperienza reale.

Serialization Delay = Size of Packet (bits) / Transmission Rate (bps)

La latenza di processo non si limita alla latenza di serializzazione ma aggiunge anche il tempo di processing ovvero il tempo nel quale un router o un firewall ispezionano il pacchetto, tempo comunque poco rilevante rispetto al tempo di serializzazione e comunque avulso dagli obiettivi del presente articolo. La latenza di processo, detta anche latenza di coda (queuing delay) é anch'essa dipendente dal livello di congestione, dalla lunghezza del buffer e dalla priorità assegnata ai singoli pacchetti. [5]


I VALORI CRITICI
Dimostrato che la latenza misurata dagli speedtest é poco rilevante, e che nella realtà il valore totale ti latenza é molto più alto, quali sono I parametri da guardare per avere un'esperienza quanto più reattiva possibile?

Velocità
Naturalmente é un valore importante, perché la velocità di serializzazione dei pacchetti dipende da essa. Se una banda di 1M serializza un pacchetto in 8.2 ms, una banda di 100M lo serializza in 0,08 ms.

Banda Minima Garantita (BMG)
La velocità di cui al punto 1 potrebbe essere non sempre disponibile. Quello che conta è il valore di banda sempre disponibile, ovvero la BMG, che diventa il vero fattore moltiplicativo per determinare la latenza di processo (R)

Serialization Delay = Size of Packet (bits) / Transmission Rate (bps)

tp = 1024/vbmg


CONCLUSIONI
Anche se la misura della latenza roundtrip “Ping” é diventata di uso comune, il suo valore esprime solo una piccolo frazione delle prestazioni di una rete e spesso si ottiene una forte discrasia su valori di latenza falsamente positivi ed esperienze reali fortemente compromesse. Si consiglia di non fare riferimento a tale grandezza in modo isolato e a considerare i valori numerici in proporzione ai valori reali di latenza.


REFERENCES
[1] FCC Record: A Comprehensive Compilation of Decisions ..., Volume 29, Issue 19. By United States. Federal Communications Commission
[2] TELECOMMUNICATION SYSTEMS AND TECHNOLOGIES-Volume II edited by Paolo Bellavista
[3] Science Direct, Vasilis F. Pavlidis, G. Friedman
“Serialization Delay,”
[4] CISCO COMMUNITY, “How to understand serialization delay and BDP”
[5] CCNA Data Center DCICT 640-916 Official Cert Guide
[6] What's "normal" for latency and packet loss? www.pingman.com/kb/42
[7] Bad Modems www.badmodems.com


PER MAGGIORI INFORMAZIONI CHIAMACI GRATUITAMENTE AL NUMERO VERDE 800.07.87.07






NON HAI TEMPO MA VORRESTI RICEVERE MAGGIORI INFORMAZIONI?
Lasciaci il tuo recapito e ti chiameremo noi senza alcun impegno.

NOME E COGNOME
SERVIZIO
TELEFONO
EMAIL
PREFERENZA ORARIO
SCRIVI IL RISULTATO DELLA SOMMA: 6 + 6 =
 Presto il mio consenso al trattamento dei miei dati personali per finalità di marketing e/o promozione di servizi e/o prodotti di KLIK.
Ho letto e accetto l'informativa sulla PRIVACY




Partners Tecnologici


Province raggiunte: Agrigento, Alessandria, Ancona, Valle d'Aosta, Ascoli-Piceno, L'Aquila, Arezzo, Asti, Avellino, Bari, Bergamo, Biella, Belluno, Benevento, Bologna, Brindisi, Brescia, Barletta, Andria, Trani, Bolzano, Cagliari, Campobasso, Caserta, Chieti, Carbonia, Caltanissetta, Cuneo, Como, Cremona, Cosenza, Catania, Catanzaro, Enna, Forli, Cesena, Ferrara, Foggia, Firenze, Fermo, Frosinone, Genova, Gorizia, Grosseto, Imperia, Isernia, Crotone, Lecco, Lecce, Livorno, Lodi, Latina, Lucca, Monza, Brianza, Macerata, Messina, Milano, Mantova, Modena, Massa Carrara, Matera, Napoli, Novara, Nuoro, Ogliastra, Oristano, Olbia, Palermo, Piacenza, Padova, Pescara, Perugia, Pisa, Pordenone, Prato, Parma, Pistoia, Pesaro Urbino, Pavia, Potenza, Ravenna, Reggio Calabria, Reggio Emilia, Ragusa, Rieti, Rimini, Rovigo, Roma, Salerno, Siena, Sondrio, La Spezia, Siracusa, Sassari, Savona, Taranto, Teramo, Trento, Torino, Trapani, Terni, Trieste, Treviso, Udine, Varese, Verbania, Vercelli, Venezia, Vicenza, Verona, Viterbo, Vibo Valentia - Regioni Coperte: Abruzzo, Basilicata, Calabria, Campania, Emilia Romagna, Friuli Venezia Giulia, Lazio, Liguria, Lombardia, Marche, Molise, Piemonte, Puglia, Sardegna, Sicilia, Toscana, Umbria, Valle d'Aosta, Veneto