Si sente sempre parlare in tema di Housing di banda configurata per la connettività internet. Vorrei sapere quanto traffico (in Gb) le seguenti ampiezze di banda di un Web Server possono sopportare in maniera decente (tempi di download delle pagine del sito accettabili): 64 kbps 128 kbps 256 kbps 512 kbps 1024 kbps 2048 kbps E quindi inversamente quale banda è necessaria per “reggere” i seguenti GB di traffico: 50 Gb 100 Gb 250 Gb 500 Gb Premetto che non consco il rapporto visitatore/traffico medio generato

INTRODUZIONE

Per poter parlare adeguamente di banda consentita e quantita’ di dati
e’ necessario fare una premessa. I dati che vengono trasmessi via rete
(e quindi anche tramite Internet) utilizzano uno schema, detto anche protocollo.
Esistono inoltre diversi livelli di protocolli, secondo una gerarchia
stabilita dalla International Organization of Standards (ISO), detta OSI.
Pur non essendo obbligatorio seguire la gerarchia ISO/OSI, molte reti
si adeguano allo standard, utilizzando quindi protocolli che coprono solo
uno o due livelli della gerarchia, e comunque adiacenti. In questa maniera
e’ stato possibile creare Internet, rete di computer e dispositivi eterogenei
tra di loro ma che riescono comunque a trasmettere i dati da un punto
all’altro.

I LIVELLI ISO/OSI

I livelli descritti sono suddivisi secondo il compito loro affidato,
e sono, sommariamente:

– livello fisico (hardware), come il bit (o un gruppo di bit) viene codificato.
Per esempio tramite forme d’onda come lungo una linea seriale, oppure
con frequenze lungo la linea telefonica, oppure impulsi luminosi lungo
una fibra ottica eccetera.

– livello di linea, come ci si puo’ accertare che l’informazione sia
stata ricevuta nella forma corretta, e se ci sono piu’ dispositivi che
utilizzano lo stesso canale, come evitare e risolvere le collisioni (esempio
pratico: il protocollo Ethernet, molto usato nelle reti locali)

– livello si rete e livello di trasporto, come puo’ un’informazione essere
trasmessa da un dispositivo all’altro, specie se i dispositivi non sono
connessi in maniera diretta. Esempio: TCP/IP, il protocollo utilizzato
in Internet.

Ci sono ancora altri livelli descritti ma meno utilizzati, alla cui sommita
c’e’ poi il

– livello applicativo, cioe’ come codifico l’informazione. Esempi: http
(come trasmetto una pagina html situata in una certa posizione del server,
e come posso passare ad essa delle informazioni, come mando cookies eccetera),
ftp (come trasferisco un file dal mio client al server).

OVERHEAD DEI PROTOCOLLI

Ogni protocollo aggiunge delle informazioni che servono alle macchine
che lo attraversano per far arrivare l’informazione a destinazione. In
genere accade che l’informazione viene divisa in pacchetti, a cui viene
aggiunta un’intestazione (header), che serve solo al protocollo, non viene
resa visibile ai livelli superiori.
Questo fa si’ che per trasmettere un certo numero di byte, lungo il dispositivo
(per esempio la fibra ottica, o la linea telefonica) ne vengono trasmessi
di piu’, e questo viene detto overhead. Ovviamente si cerca di mantenere
l’overhead a livelli minimi, allo stesso tempo e’ importante che l’informazione
giunga correttamente e possibilmente in un tempo ragionevole.

BANDA DISPONIBILE

Purtroppo i dati presenti nella domanda non sono sufficienti per fare
dei calcoli, per cui mi limito a fornire delle semplici equivalenze per
capire di quale banda si abbia bisogno per tempi di download ragionevoli
in rapporto alla “pesantezza” della pagina. Parliamo quindi di un server
Web.

L’overhead del protocollo http e’ piuttosto basso, quindi lo possiamo
ignorare nei nostri calcoli.

La situazione ideale e’ quella in cui il server e’ a nostra completa
disposizione, il canale lungo cui viene trasmesso il pacchetto e il computer
dove e’ in esecuzione il browser sono liberi. Occorre anche precisare
che in Internet ogni pacchetto potrebbe seguire una strada diversa. In
questo caso l’informazione potra’ essere trasmessa alla massima velocita’
consentita dal dispositivo piu’ lento, in genere il modem dell’utente.
Un modem ISDN riesce a ricevere 64kbit di dati al secondo (quindi 8 kbyte/s),
tenuto conto dell’overhead del protocollo TCP/IP forse si arriva a 6kB/s.
Non ho mai fatto calcoli in merito, per cui suggerisco di prendere per
buono il ragionamento, ma non necessariamente i numeri.

Una pagina HTML con un po’ di grafica puo’ occupare (immagini incluse)
anche 60kB, per cui il flusso e’ di una pagina media in 10 secondi. Attenzione
perche’ questo e’ il flusso, a cui bisogna aggiungere il tempo per spedire
la richiesta e ricevere i primi byte.

Se sul server sono presenti 6MB tra pagine, immagini o altri file, per
scaricare il tutto in condizioni ideali sarebbero necessari circa 20 minuti.

Quali sono le condizioni reali? Innanzitutto il server gestisce un certo
numero di connessioni (che chiameremo N), inoltre il canale non e’ sempre
assolutamente libero. Possiamo pero’ ipotizzare che il canale abbia quasi
sempre quegli 8 kB/s liberi che servono ai nostri pacchetti (in genere
e’ cosi’, a meno che non si tratti di un sito in un altro continente).
In questo caso gli anelli piu’ deboli nel nostro canale sono, appunto,
il provider che fornisce la connessione all’utente, e il server. Se ci
sono N connessioni aperte sul sito, che chiedono dati alla massima velocita’
disponibile, per avere sempre un ottimo servizio il prodotto N*8kB/s deve
essere inferiore alla banda disponibile sul sito.

Tenendo conto di osservazioni empiriche, una banda di 128kB/s e’ sufficiente
ad un solo sito Web medio (100 MB) con un numero di visitatori non elevato.
Il server che fa housing dovrebbe quindi garantire non tanto la banda
disponibile per il server, quanto quella disponibile per il sito. Se il
server ospita 100 siti egualmente trafficati, la banda disponibile si
riduce ad un centesimo circa.