← Post precendente

2. I due tipi di commutazione

Commutazione di pacchetto

Le applicazioni distribuite in rete scambiano dei messaggi, strutturati secondo le regole stabilite dallo sviluppatore, per poter comunicare tra loro. A prescindere dalle informazioni che il messaggio può contenere la sorgente suddivide quest'ultimo in parti più piccole note come pacchetti. Tra la sorgente e la destinazione, i pacchetti viaggiano attraverso collegamenti e commutatori di pacchetto, i quali sono costituiti darouter e commutatori a livello di collegamento. I pacchetti vengono trasmessi su ciascun collegamento a una velocità pari alla velocità totale di trasmissione del collegamento stesso. Indicando con L la dimensione del pacchetto in bit e con R la velocità del canale di trasmissione in bps, il tempo di trasmissione sarà pari a LR \frac{L}{R} secondi. La metodologia di trasmissione nella commutazione di pacchetti è la trasmissione store-and-forward, in base alla quale il commutatore di pacchetto deve ricevere l'intero pacchetto prima di poterne cominciare a trasmettere sul collegamento in uscita. La funzione di un router è quella di instradare i pacchetti in entrata verso il collegamento in uscita.

Commutazione di pacchetto store-and-forward

Figura 1: Commutazione di pacchetto store-and-forward.

Un piccolo esempio può essere quello raffigurato nella Figura 1, in cui si ha un pc Sorgente, un pc Destinatario e un router che gestisce la comunicazione tra i due. All'istante T1 il oc sorgente ha inviato il primo pacchetto di dati, arrivato correttamente al router, il quale non può trasmetterlo al pc destinatario, in quanto deve attendere l'arrivo degli altri pacchetti rimanenti. Calcoliamo i tempi di percorrenza. All'istante 0, la sorgente inizia la sua trasmissione e all'istanteLR \frac{L}{R} secondi avrà trasmesso il primo pacchetto che verrà memorizzato all'interno del router (escludiamo i ritardi di propagazione). Il router a sua volta comincerà a trasmettere il pacchetto al destinatario solo quando riceverà tutti i bit relativi ad esso. All'istante 2LR \frac{L}{R} il pacchetto sarà arrivato al destinatario. Quindi il ritardo di un pacchetto durante la trasmissione store-and-forward è di 2 LR \frac{L}{R} , mentre se il router riuscisse a inoltrare il pacchetti appena lo riceve, il ritardo sarebbe pari a LR \frac{L}{R} .

Nella realtà, ogni commutatore di pacchetto può connettere più collegamenti, per ciascuno dei quali mantiene un buffer di output, anche detto comunamente coda di output, per mantenere i pacchetti da inoltrare. Questi buffer ricoprono un importante ruolo nell'instradamento dei pacchetti, in quanto bisogna gestire una coda nel caso in cui un pacchetto in arrivo debba essere inoltrato su un canale già occupato. Si crea, quindi, un ritardo di accodamento nei buffer di output. Questo ritardo può accumularsi e il buffer prima o poi si saturerà, comportando la perdita dei pacchetti che verranno ricevuti successivamente.

Per inoltrare un pacchetto, i router fanno utilizzo di particolari tabelle di inoltro e di protocolli di instradamento. Nella rete ogni sistema periferico ha un indirizzo chiamato indirizzo IP, ogni pacchetto che percorre la rete contiene nella propria intestazione l'indirizzo della sua destinazione con una particolare struttura. Nel momento in cui un pacchetto arriva in un router, quest'ultimo legge l'intestazione del pacchetto e lo indirizza nella giusta direzione. Ogni router ha una propria tabella di inoltro che mette in relazione gli indirizzi di destinazione con i collegamenti in uscita. Le tabelle di inoltro vengono aggiornate attraverso diversi protocolli di instradamento, ognuno dei quali con caratteristiche diverse.

Commutazione di circuito

Nelle reti a commutazione di circuito le risorse richieste lungo un percorso per consentire la communicazione tra sistemi periferici sono riservate per l'intera durata di sessione di communicazione. Prima di iniziare l'inoltro dei pacchetti, la rete deve stabilire una connessione tra mittente e destinatario, la quale verrà mantenuta per tutta la durata della comunicazione. Questa connessione prende il nome di circuito, nella quale la rete riserva una velocità costante mediante la quale il mittente può inviare dei messaggi al destinatario con una velocità di banda costante e garantita. Un circuito all'interno della rete viene implementato tramite due tipologie di strategie: multiplexing a divisione di frequenza (FDM) o multiplexing a divisione di tempo (TDM). Nel' FDM, lo spettro di frequenza di un collegamento viene suddiviso tra le connessioni stabilite, dedicando a ciascuna di essa una banda di frequenza. Mentre nel TDM il tempo viene suddiviso in frame di durata fissa, a loro volta ripartiti in un numero fisso di slot temporali. In questo caso quando viene effettuato un collegamento, la rete dedica uno slot temporale in ogni frame, i quali verranno dedicati esclusivamente a quella connessione. Un problema della commutazione di circuito è il periodo di silenzio, nel quale le risorse sono occupate ma inutilizzate.

La commutazione di pacchetto non è adatta ai servizi in tempo reale a causa dei suoi ritardi end-to-end variabili e non determinabili a priori, ma allo stesso tempo viene offerta una migliore condivisione della larghezza di banda rispetto alla commutazione di circuito, infine la commutazione di pacchetto risulta più semplice, più efficiente e meno costosa da implementare. Un difetto della commutazione a circuito è il fatto di pre-allocare l'uso del mezzo trasmissivo indipendentemente dalla richiesta attraverso collegamenti garantiti, ma non utilizzati, con una conseguente perdita di tempo.