Communication models

Il più semplice modello di comunicazione è l'interconnessione diretta, in cui le informazioni fluiscono dalla sorgente alla destinazione senza intermediari. Un modello del genere impone che esista un media fra le due entità coinvolte nella comunicazione, attraverso cui vengono trasferite le informazioni. Quando non è possibile agire in questo modo, è necessario inserire una entità intermedia che sia in grado di instradare i dati seguendo un modello di switching.

Circuit switching

La commutazione di circuito è il modello di switching tradizionalmente adoperato nella telefonia, dove le entità terminali sono i telefoni e gli exchange sono le entità intermedie. La voce è l'informazione trasmessa fra i terminali, rappresentata da un segnale elettrico modulato analogicamente. La comunicazione è dunque lo scambio continuo di segnali vocali fra due entità paritetiche.

Il modello di switching consiste dunque nella creazione temporanea di un media (cavi in rame, canali a microonde, fibre ottiche), per la trasmissione del segnale vocale, dedicato soltanto a quella comunicazione. La creazione del media è l'operazione che spetta all'exchange che connette fisicamente le due parti di media che portano alle entità coinvolte nella comunicazione (Figura).

I terminali in questo caso sono decisamente semplici, il loro unico compito è la conversione della voce nel segnale da trasferire attraverso il media.

Anche le entità intermedie hanno il solo compito di configurare un percorso fisico fra la sorgente e la destinazione in un modo che sia del tutto trasparente ad entrambe le parti ed anche all'informazione trasferita, che non deve subire alcuna elaborazione.

Il principale problema di questa soluzione è la necessità di avere un canale dedicato per ogni singola comunicazione. Questa caratteristica non è un problema nel caso di una comunicazione telefonica, ma per altre tipologie di comunicazione, come quella fra computer, si avrebbe un eccessivo “spreco” delle risorse. Molto spesso nelle comunicazioni di questo tipo per molto tempo non c'è necessità di inviare informazioni e, dunque, il flusso dati è di tipo “burst”, in altre parole è discontinuo. Se consideriamo inoltre che su di un computer “vivono” in contemporanea più applicazioni, perché queste comunichino con altre applicazioni su altri computer, dovrebbe esistere un canale dedicato per ciascuna di queste.

Packet Switching

Come detto in precedenza, a differenza della comunicazione telefonica in cui si ha un modello "domanda/risposta", in una comunicazione fra computer il modello segue un approccio del tipo: "domanda/elaborazione/risposta/elaborazione". In questo caso il flusso di comunicazione non e' piu' continuo ma discreto. Poiche' un intero canale fisico verrebbe dunque sfruttato solo in parte, e' conveniente pensare ad un modello di ''switching'' in cui il media su cui passa la comunicazione sia condiviso piuttosto che dedicato. Un modello del genere potrebbe dunque assomigliare al modello di scambio informazioni postale, in cui le informazioni sono suddivise in atomi (le lettere) che sono poi veicolate attraverso punti di dispaccio che ne gestiscono la corretta consegna (Figura 2).

Questo approccio puo' essere adoperato a patto di rispettare alcune condizioni per gestire la corretta consegna degli atomi. Tali condizioni impongono che le informazioni siano atomiche e discrete, che ogni "pezzo" d'informazione sia identificabile e che l'instradamento venga eseguito separatamente per ogni singolo pezzo. Per rispondere a questi requisiti, il modello e' necessariamente piu' complesso e come tale, richiede una maggiore complessita' anche nelle entita' intermedie della rete (nodi). Ogni nodo deve essere infatti in grado di conservare i pezzi di informazione che transitano (esattamente come un dispaccio postale) e di prendere decisioni autonome, ma con un approccio coordinato, per configurare il suo comportamento d'instradamento. Questo modello e' tipicamente chiamato ''store&forward''.

Il modello di ''packet switching ''fa uso dello ''statistical multiplexing'', in altre parole, pacchetti che provengono da differenti flussi arrivano all'entita' intermedia che li seleziona a turno uno per volta per inviarli sul canale di uscita. I pacchetti in attesa vengono conservati in un buffer (''store'') il cui overflow viene anche detto ''congestion'' della rete.

Flow Switching

Per alcune applicazioni i computer devono comunque scambiare flussi continui di informazione, ad esempio nelle applicazioni multimediali. In questi casi è conveniente introdurre un concetto di “stream” (flusso) nella rete, in modo che i “pezzi” che compongono l'informazione vengano trattati tutti allo stesso modo dalla rete.

Questo approccio è realizzabile poiché l'informazione continua ad essere divisa in atomi, è però necessario introdurre meccanismi per trattare aggregati di atomi d'informazione e decidere l'instradamento in base al flusso. Questo aggiunge una certa complessità negli elementi intermedi della rete, che devono gestire dati che identifichino i flussi e ne conservino le informazioni necessarie all'instradamento, inoltre, anche la coordinazione fra questi elementi deve essere più stretta rispetto al packet switching, poiché è necessario impostare e successivamente mantenere un percorso per il flusso dati.