sabato 26 ottobre 2013

Mbps, TB/mese, traffico, banda...

Sul concetto di "traffico", "banda", e sulle relative unità di misura (Mbps, TB/mese, GB/mese, ecc.) c'è parecchia confusione.

Vediamo di chiarire:

BANDA è la "capacità di comunicazione" di un server.
Ovvero, facendo un parallelo stradale: quanto larga è la strada che collega un server ad internet? Quante corsie ha?
L'unità di misura di questa capacità è il Mbps, ovvero MEGA BIT AL SECONDO (Da NON indicare, come pur fanno molti, in MBps, che sarebbe "mega byte al secondo", oppure mbps (milli-bit al secondo)
1 Mbps significa che, in un secondo, è possibile inviare un milione di bit, corrispondenti a circa  125000 byte, ovvero circa 122 KB (kilobyte)

TRAFFICO invece è la QUANTITA' di dati che vengono fatti trasmettere in una certa quantità di tempo; questa "quantità di tempo", convenzionalmente e per scopi puramente commerciali, è spesso stabilita ad un mese.
Restando al parallelo stradale: quante automobili ho la possibilità di far viaggiare gratis su questa strada nell'arco di un mese?

Le offerte di connettività per un server, o un piano hosting, normalmente sono definite o per banda garantita, oppure per traffico.

Ad esempio, un'offerta di 1 Mbps garantito, significa che al nostro server è garantita la disponibilità di una connessione minima, sempre, di 1 Mbps. A seconda del provider, può darsi che questo limite ci sia dato modo di superarlo (tanto, poco, occasionalmente...), ma che comunque, in qualsiasi situazione, ci "garantirà" comunque questa banda minima.

A quanto corrisponde 1 Mbps, in termini di traffico?


Supponiamo che un mese abbia 30 giorni (alcuni 31, uno 28 ecc. ...  prendiamo 30 per semplicità, ok?)
In un mese ci sono 24 x 30 = 720 ore, corrispondenti a 3600 x 720 = 2.592.000 secondi
OK?

Con 1 Mbps posso trasmettere in un secondo 1048576 bit (1 Mb corrisponde, appunto, a 1048576 bit), pari a 1048576 / 8 = 131072 byte
Quindi, in un mese potrò (in teoria) trasmettere 131072 byte * 2.592.000 secondi =  339.738.624.000 byte, corrispondenti a 331.776.000 Kbyte, corrispondenti a 324.000 Mbyte, corrispondenti a 316 GB
(segnalo un  utile calcolatore di banda on line)

Incertezze e fonti di equivoci:


  • un KB non sono "1000 byte", ma 1024; un MB non sono "mille kilobyte", ma 1024 kilobyte, quindi 1048576 byte; però spesso qualcuno in questi casi arrotonda (arbitrariamente) a 1000.
  • quando trasmettiamo qualcosa in internet, oltre ai nostri dati, una certa quantità se ne va in header dei pacchetti, controlli di parità, reinvio per pacchetti persi per strada... quindi, se dobbiamo scaricare un file da 1 GB, il nostro consumo di traffico complessivo sarà sicuramente superiore ad 1 GB. Quanto superiore? Operativamente, può capitare che sia anche il doppio...
  • la "banda" sulle connessioni di un server è sempre "simmetrica": cioè significa ad esempio che, su una banda di 1 Mbps, è possibile contemporaneamente fare un download (dal server verso internet) ed un upload (da internet verso il server), ciascuno dei quali da 1 Mbps; quindi, in realtà, la banda disponibile è doppia
  • in un server il consumo di banda non sarà quasi mai simmetrico: a seconda della funzione del server, la banda in uscita sarà maggiore rispetto a quella in entrata (il caso più frequente), oppure il contrario
  • quando si parla di "traffico", si considera sempre la somma sia del traffico in entrata che di quello in uscita
    Quindi, il calcolo che abbiamo fatto sopra per determinare che con una banda di 1 Mbps posso inviare 316 GB in un mese, andrebbe raddoppiata: nel senso che, con 1 Mbps, posso fare un upload di 316 GB ed un download di 316 GB: quindi, in totale, 632 GB

Sporchi trucchi di alcuni provider


Questi sono trucchi che ho sperimentato e verificato esser messi in pratica da alcuni provider (che evito di nominare):

  • 1 Mbps dichiarato in realtà viene fatto equivalere a 0,5 Mbps in entrata e 0,5 Mbps in uscita
    Poiché la banda è simmetrica, "interpretano" che il Mbps sia complessivo, ovvero la somma di banda in entrata e di quella in uscita.
    Insomma, è un modo truffaldino per farvi credere di avere il doppio della banda che avete in realtà
  • Arrotondare 1024 a 1000
    Diversi provider "arrotondano", secondo convenienza, 1024 a 1000 nelle conversioni. Difficile da rilevare se non con calcoli abbastanza impegnativi 
  • un traffico a volume non dà nessuna garanzia di tempo
    il fatto che ad esempio abbiate 1 TB di traffico al mese, non significa che è garantita la banda minima di 3 Mbps per trasmetterlo nell'arco di un mese: potrebbe essere che in determinati momenti abbiate una banda anche molto superiore (anche 20, 30 , 50 Mbps), ed in altri invece ne abbiate pochissima (anche MOLTO meno dei 3 Mbps teorici).
    Meccanismo di per sé corretto, purché non si esageri...
    Nel senso: la banda " a traffico" costa normalmente MENO (anzi, MOLTO MENO) di una banda "flat" garantita, proprio perché permette al provider di giostrarsi, realizzandola per mezzo di banda in quel momento inutilizzata.
    Mi spiego: ai livelli superiori, la connettività non è MAI venduta a volume, ma sempre flat. Un provider può acquistare 1 Gbps di banda, ma non può acquistare invece i petabyte di traffico che è possibile realizzare con 1 Gbps: lui acquista 1 Gbps di banda garantita, che poi la utilizzi o meno è affar suo.
    Poi il provider può usare questo 1 Gbps per fornire, ad esempio, 100 Mbps di connettività garantita a un centinaio di server. Però questo centinaio di server non riuscirà MAI ad impiegarli effettivamente tutti, perchè il consumo di banda di un server nell'arco della giornata è molto vario ed altalenante: in acuni momenti consumerà 90, in altri 30, in altri quasi nulla...
    Quindi, istante per istante, "avanzerà" della banda, anche in quantità sensibile; ed è questa banda che il provider spesso poi utilizzerà per fornire, appunto, "traffico a consumo" ad altri server
    Se però il consumo di banda da parte degli altri server (quelli "a banda garantita") dovesse aumentare, il provider immediatamente taglierà la banda a disposizione di quelli con traffico "a volume"     

Quindi, in definitiva: traffico a volume o a banda flat garantita?


Se il servizio non è critico, ed il budget basso, conviene indirizzarsi verso un traffico a volume (con l'accortezza di scegliere oculatamente il provider, perchè si potrebbe comunque andare incontro a brutte sorprese)
Se il servizio è "importante", allora è di gran lunga preferibile indirizzarsi verso una connessione flat garantita.