Il nucleo della rete è una maglia di commutatori di pacchetti e collegamenti che interconnettono i sistemi periferici di internet. Le applicazioni scambiano messaggi di qualsiasi tipo (immagini, file, mail, …). I messaggi vengono suddivisi in pacchetti più piccoli nella sorgente e poi vengono inoltrati nei vari commutatori di pacchetto.
Se il pacchetto è di dimensione
Adesso calcoliamo la velocità di trasmissione di un pacchetto (trascurando il ritardo di propagazione del pacchetto).
La sorgente invia 3 pacchetti ognuno di grandezza
Tra la sorgente e il destinatario vi è un router intermedio.
Il router comincia a ricevere i primi bit del primo pacchetto, ma ha bisogno di averlo tutto prima di poterlo inoltrare verso il destinatario.
Il pacchetto per giungere al destinatario impiegherà:
Tutto il pacchetto impiegherà la velocità:
Quando il primo pacchetto raggiuge il router (
Quando il primo pacchetto sarà arrivato a destinazione, il secondo pacchetto sarà arrivato nel router e sta partendo da esso e il terzo pacchetto sarà partito dalla sorgente (
Quando il secondo pacchetto sarà arrivato a destinazione, il terzo sarà arrivato al router (
Infine il terzo pacchetto per arrivare a destinazione impiegherà un altro
In generale la velocità di trasmissione di un pacchetto di
Supponiamo di avere 4 pacchetti alla sorgente, di avere 2 router e dunque 3 collegamenti: calcoliamo la velocità di trasmissione dei pacchetti sopra descritti:
I commutatori di pacchetto (router o switch a livello di rete) hanno numerosi collegamenti.
Ogni commutatore è dotato di un buffer di output (o coda di output) in cui i pacchetti attendono nel caso in cui dovessero arrivare quando il commutatore è impegnato nella trasmissione di un altro pacchetto. Il buffer ha una quantità finita, quindi se un pacchetto giunge quando il buffer è pieno, il pacchetto che arriva o uno dei pacchetti in code nel buffer deve essere eliminato verificandosi packet loss (perdita di pacchetto). Oltre ai ritardi che si verificano a causa dello store-and-foreward si verificano anche ritardi di accodamento.
In questa parte vedremo come i router scelgono il percorso per instradare un pacchetto verso la destinazione. Ogni sistema periferico è distinto nella rete attraverso un indirizzo IP. Ogni pacchetto contiene nella sua intestazione l'indirizzo verso cui è diretto. Il router esamina tale indirizzo e confrontando quest'ultimo con una tabella di inoltro sceglie il percorso adatto a raggiungere la destinazione. Le tabelle di inoltro mettono in relazione gli indirizzi di destinazione (o loro parti dell'indirizzo) con i collegamenti in uscita. In ogni commutatore si verificherà l'inoltro al prossimo commutatore, e alla fine il pacchetto giungerà alla destinazione. Le tabelle di inoltro vengono impostate automaticamente attraverso dei protocolli di instradamento che per esempio possono determinare il percorso più breve per una certa destinazione.
Finora abbiamo parlato di reti a commutazione di pacchetto (internet). Un altro tipo di reti sono quelle a commutazione di circuito. In questo tipo di reti le risorse vengono riservate a priori e perdurano per tutta la durata della comunicazione tra i due sistemi periferici. Nelle reti a commutazione di pacchetto questo non avviene, poiché un pacchetto che viaggia nella rete tra i vari commutatori può trovare il buffer pieno e attendere affinché siano riservate risorse per il suo viaggio nella rete. Nelle reti a commutazione di circuito le risorse vengono riservate fin dall'inizio e durano per tutta la comunicazione. Una rete a commutazione di circuito infatti è garantita anche una velocità costante di connessione, così non è per le reti a commutazione di pacchetto.
Nelle reti a commutazione di pacchetto è implementato il multiplexing a divisione di frequenza (FDM) o il multiplexing a divisione di tempo (TDM).
In FDM lo spettro di frequenza di una connessione viene suddivisa tra le connessioni stabilite attraverso il collegamento. Ad ogni connessione viene assegnata una banda di frequenza (bandwidth o ampiezza di banda).
In TDM invece il tempo viene ripartito in frame di durata fissa a loro volta suddiviso in un numero fisso di slot. Quando la rete stabilisce una connessione attraverso un collegamento le dedica uno slot di tempo ad ogni frame.
Per esempio lo slot azzurro è presente in ogni frame della connessione.
Un frame è formato da quattro slot: blu, verde, giallo e fucsia. Dove il blu l'inizio del frame, mentre il fucsia è la fine.
Vediamo con un semplice esempio perché conviene la commutazione di pacchetto. Supponiamo che ci sia un collegamento da 1Mbps e che ciascun utente alterni periodi in cui invia dati (10% del tempo) e periodi di inattività (90% del tempo). Con una commutazione di circuito è necessario riservare 100 kbps ad ogni utente. 1 Mbps/100 kbps = 10 utenti. In ogni istante vengono riservati 100 kbps ad ogni utente.
Con la commutazione di pacchetto, come abbiamo stabilito prima (utente invia dati per il 10% del tempo), la probabilità che un utente sia attivo è pari a 0,1. Se condividono il collegamento 35 utenti, la probabilità che 11 o più utenti siano attivi è pari allo 0,0004. Quando ci sono 10 o meno utenti attivi (il che avviene con probabilità pari a 0,9996) il flusso di pacchetti nel collegamento avviene senza ritardo. Quando il numero di utenti sarà superiore a 11, il flusso avverrà con ritardo. Ma dato che la probabilità che ci siano più di 11 utenti è assai limitata, la commutazione di pacchetto risulta più efficiente poiché ha le stesse prestazioni della commutazione di circuito e consente più del triplo degli utenti.
Consideriamo un altro scenario. Supponiamo che un utente improvvisamente cominci ad inviare 1000 pacchetti da 1000 bit ciascuno mentre tutti gli altri utenti sono inattivi. Nella rete a commutazione di circuito l'utente ha a disposizione solo 100 kbps e i pacchetti per giungere a destinazione impiegheranno 10 secondi. Invece nella commutazione di pacchetto, se gli altri utenti sono inattivi, l'utente ha a disposizione tutta la banda e può inviare i dati in solo secondo.
I sistemi periferici si scambiano pacchetti, questi per poter interagire tra di loro devono essere connessi ad internet. I sistemi periferici hanno accesso ad internet poiché sono allacciati agli ISP di accesso. Gli ISP di accesso non sono necessariamente compagnie telefoniche, ma possono anche essere università o aziende. Gli ISP di accesso sono dislocati in tutto il mondo. Questo vuol dire che due sistemi periferici in parti opposte del mondo possono scambiarsi pacchetti se in qualche modo i due ISP di accesso che consentono loro di connettersi a internet sono collegati. In internet gli ISP sono interconnessi tra di loro in maniera complessa. Vediamo, sviluppando delle strutture di rete via via più complesse, com'è fatta internet.
Tutti gli ISP sono interconnessi tra di loro, ogni ISP deve essere connesso a tutti gli altri ISP sparsi in tutto il mondo. Questo tipo di struttura sarebbe troppo costosa, per questo supponiamo che vi sia un ISP globale che interconnette tuti gli altri. Tale ISP è formato da migliaia di router interconnessi, e inoltre deve avere almeno un router nelle vicinanze di ogni altro ISP.
Questa struttura è uguale a quella precedente, solo che al posto di avere un solo ISP globale, ce ne sono più di uno. In tal modo gli ISP clienti avrebbero più scelta sul fornitore, in base al costo e/o ai servizi che offre.
Definiamo questi ISP globali: ISP di primo livello.
Seppur molti ISP hanno una copertura impressionante, nessun ISP si trova in ogni città del mondo. Al massimo vi sono degli ISP regionali a cui si connettono tutti gli ISP di accesso. Gli ISP regionali si connetteranno all'ISP di primo livello.
Gli ISP di primo livello, nella realtà, sono circa una dozzina.
Gli ISP di accesso (ovvero gli ISP che consentono l'accesso ad internet agli utenti) pagano l'ISP regionale e l'ISP regionale paga l'ISP di primo livello. Un ISP di accesso può anche decidere di connettersi ad un ISP di primo livello e pagarlo direttamente. Da un punto di vista economico vi sono più ISP di primo livello in competizione tra di loro e più ISP regionali in competizione tra di loro.
Questa struttura è uguale alla precedente, solo che consideriamo che ci possa essere un ISP ancor più grande di quello regionale a cui tutti gli ISP si connettono. Chiameremo questa caratteristica: gerarchia multilivello.
La struttura di rete 4, si arricchisce di Pop, multi-homing, peering e IXP.
Il peering, avviene tra ISP di pari livello.
Due ISP di pari livello si connettono tra di loro, il risparmio si verifica nel momento in cui, un pacchetto deve viaggiare dall'ISP A verso la rete dell'ISP B (o viceversa), per risparmiare sui costi di trasporto di quel pacchetto nel caso in cui esso passerebbe per l'ISP di primo livello, l'ISP A invia direttamente il pacchetto all'IPS B a cui è connesso direttamente tramite peering.
Questa struttura descrive la internet odierna. È la struttura di rete 4 arricchita con le reti di quelle società che si occupano di offrire contenuti (Google, …). Google per esempio ha data center dislocati in tutto il modo. Essi sono interconnessi tra di loro. Google ha una sua rete, separata da quella che costituisce internet. Poi, per rendere disponibili i suoi contenuti (e per risparmiare) si connette agli ISP di accesso, quando possibile, dato che la sua rete potrebbe non riuscire a coprire tutto il globo, si connette anche agli ISP di primo livello.
Prossimo argomento: Ritardi, perdite e throughput nelle reti a commutazione di pacchetto.