Il modello a Livelli e le Architetture di Rete

Il modello a Livelli

La progettazione di una rete di telecomunicazioni è un compito tutt’altro che facile ed il sistema presenta un elevato grado di complessità per ottenerne il corretto funzionamento: le reti sono infatti composte da elementi hardware (i dispositivi di rete cui abbiamo già accennato) e software. I modelli a livelli nascono per modellare meglio questa complessità e suddividere l’intero sistema della rete in maniera più semplice e comprensibile. I livelli suddividono una rete in diverse parti funzionali, ognuna delle quali descrive una o più caratteristiche e funzionalità della rete, svolgendo determinati compiti. I principali vantaggi di questo approccio sono i seguenti:

  • Con i livelli si ottiene un modello logico e semplificato dell’intera architettura della rete.
  • La stratificazione della rete in base alle funzioni ne facilita l’implementazione, poiché le funzioni svolte da ogni livello sono distinte tra loro e coerenti. In questo modo sarà più semplice progettare e realizzare gli apparati hardware e software che serviranno all’implementazione pratica della rete.
  • I livelli semplificano la risoluzione di eventuali problemi della rete. Con le funzioni suddivise in diversi livelli, ognuno distinto dagli altri, un eventuale problema può essere facilmente isolato e risolto, consentendo la correzione dell’errore riscontrato e concentrandosi solo sul livello dove l’errore si è verificato, senza quindi interferire con gli altri livelli e funzioni della rete.
  • La stratificazione della rete in livelli facilita lo sviluppo e l’inserimento di nuove funzionalità e tecnologie. Lo sviluppo risulta più facile e veloce quando il problema è suddiviso in moduli e protocolli separati. Dal momento che ogni livello della rete è gestito dai propri protocolli, i compiti di questo livello possono essere meglio evidenziati ed implementati, ed i protocolli necessari possono essere progettati per questo specifico livello e quindi svolgere i propri compiti in modo più efficiente, senza interferenze o sovrapposizioni da parte degli altri livelli.
  • Infine, il modello a livelli garantisce una migliore coerenza nella gestione delle funzionalità e nei protocolli utilizzati.

Architetture di rete

Al livello Application si definisce anche la particolare architettura di rete che si vuole realizzare. Le principali sono le seguenti:

Architettura Client-Server
L’architettura Client-Server è una struttura applicativa di tipo distribuito che suddivide le attività e i carichi di lavoro tra diversi nodi (o host) della rete stessa, chiamati Server, e altri host che invece fanno richiesta di risorse o servizi, e che sono chiamati Client. In questo schema abbiamo quindi invariabilmente un host “principale”, ovvero il Server, solitamente sempre attivo, che ha il compito di erogare servizi ai dispositivi Clienti che ne fanno richiesta.

I dispositivi Client e Server utilizzano una rete per comunicare tra di loro. Un Server quindi di solito esegue uno o più software che condividono le proprie risorse con i Client che ne hanno fatto richiesta. Un Client invece solitamente non condivide nessuna delle sue risorse, ma si limita a richiederle al Server. Sono quindi i Client che avviano sessioni di comunicazioni con i Server e attendono le relative risposte. Quello Client-Server è senza dubbio uno dei modelli di comunicazioni tra dispositivi più diffuso e utilizzato.

Nel Web esistono letteralmente centinaia di milioni di Server, che si occupano ad esempio di fornire risorse come pagine web, i quali vengono contattati dai Client che, tramite un software di navigazione (ovvero il comune Browser) inviano delle richieste per ottenere delle pagine web.

Figura 2: Architettura Client-Server
Figura 2: Architettura Client-Server

Architettura Peer-to-Peer
Abbreviato anche P2P, ovvero letteralmente “rete paritaria” o “rete paritetica”. Questo termine indica un modello di architettura logica di rete in cui i nodi non sono organizzati gerarchicamente sotto forma di Client o Server fissi, come nell’architettura Client-Server vista prima, ma anche sotto forma di nodi equivalenti o “paritari”, detti anche “peer”. Ogni nodo di una rete peer-to-peer può svolgere contemporaneamente sia la funzione di Client che quella di Server, comunicando con gli altri nodi della rete.
Utilizzando questa configurazione, qualsiasi host è in grado di avviare o completare una transazione.

Figura 3: Architettura Peer-to-Peer
Figura 3: Architettura Peer-to-Peer

Tipologie di reti di calcolatori

LAN: Local Area Network
La Lan identifica una rete informatica di dimensioni limitate, tipicamente locali, come ad esempio la rete che serve un edificio. Una rete LAN collega quindi un gruppo di host all’interno di un’area geografica limitata, o locale.
Si caratterizza in genere da elevate velocità di trasmissione (100 Mb/s) e copertura limitata, inferiore al Km. Una LAN è definita tramite gli standard ISO/IEEE. Si tratta di una delle prime tipologie di reti informatiche realizzate, dal momento che sono solitamente anche economiche e facili da gestire. Oggi le LAN sono presenti praticamente ovunque, dalle abitazioni private alle grandi aziende, e sono tra loro interconnesse tramite i router, a formare reti di dimensioni maggiori.
Gli host all’interno della LAN possono essere connessi alla rete via cavo o via wi-fi o anche in entrambi i modi contemporaneamente.

Figura 4: Schema di una generica LAN
Figura 4: Schema di una generica LAN

MAN: Metropolitan Area Network
Rete di dimensioni abbastanza grandi, tipicamente copre una città. Si caratterizza da velocità di trasmissione medio alta (maggiore di 2 Mb/s) e copre distanza abbastanza lunghe, superiori al Km.
Viene definita dagli standard ISO/IEEE e ITU-T (International Telecommunication Union – Telecommunication).

WAN: Wide Area Network
Rete di grandi dimensioni che collega host su un’area geografica abbastanza estesa, come ad esempio una grande città o una regione ampia di territorio. Si caratterizza da velocità di trasmissione tradizionalmente basse, copertura molto vasta, ed è definita dagli standard ITU-T.

Tipologie di Canale

Tutte le reti informatiche prevedono alla base un canale di comunicazione tramite il quale scambiarsi informazioni e dati. Vediamo di seguito brevemente le principali tipologie nelle quali vengono suddivisi i canali di comunicazioni.

Canale di comunicazione
Si definisce come un mezzo fisico o logico tramite il quale è possibile il trasporto e lo scambio di informazioni.

Canale punto-punto
Si definisce un canale di comunicazione che connette solo due entità. Può essere unidirezionale o bidirezionale.

Canale multipunto
Canale che connette tra loro più nodi (o host). Dei nodi connessi uno ha il comando, e si chiama nodo master, mentre gli altri sono detti nodi slave.

Canale broadcast / Rete Broadcast
Una rete broadcast è un tipo di rete che ha un solo canale di comunicazione condiviso fra tutte le macchine della rete. I messaggi, chiamati anche pacchetti, sono inviati da ciascuna macchina e vengono ricevuti da tutte le macchine della rete. Ogni messaggio ha un campo contenente l’indirizzo del destinatario. Alla ricezione del pacchetto ogni macchina controlla il campo indirizzo. Se tale campo corrisponde al proprio indirizzo allora il messaggio viene processato, se invece il campo indirizzo contiene l’indirizzo di un’altra macchina allora il messaggio verrà semplicemente ignorato. Questo metodo operativo è chiamato broadcasting. Alcune reti broadcast supportano anche una sorta di sistema di sottogruppi che prevede la possibilità di inviare un messaggio non a tutte le macchine della rete ma ad un sottoinsieme di esse, questo tipo di trasmissione è chiamato multicasting.

Reti punto-punto
Le reti punto-punto sono formate da molte connessioni tra singole coppie di macchine. Per arrivare dal mittente al destinatario in una rete punto-punto un pacchetto spesso deve passare attraverso numerose macchine intermedie, compiendo un percorso. È quindi possibile che tra una macchina e l’altra vi siano molteplici percorsi: nelle reti punto-punto si pone particolare attenzione a trovare il percorso migliore. La trasmissione punto-punto con un trasmettitore e un ricevitore a volte è chiamata rete unicasting.

Topologie di Rete – Modalità di interconnessione

I vari host di una rete possono essere connessi tra loro in molti modi differenti. Di seguito vediamo uno schema e una breve descrizioni delle principali topologie di rete.

Connessione a Stella: tutti i nodi della rete sono collegati ad un unico hub/switch centrale. Oggi quella a stella è la topologia di rete più diffusa.

Figura 5: Rete a Stella
Figura 5: Rete a Stella

Connessione a Bus: tutti i nodi sono connessi ad un canale di comunicazione in maniera lineare.

Figura 6: Rete a Bus
Figura 6: Rete a Bus

Connessione ad Albero: i nodi della rete sono connessi in modo da formare un albero.

Figura 7: Rete ad Albero
Figura 7: Rete ad Albero

Connessione ad anello o Token Ring: tutti i nodi sono connessi ad un canale chiuso ad anello.

Figura 8: Rete Token Ring
Figura 8: Rete Token Ring

Maglia parziale o Mesh: i nodi sono connessi tra loro con una trama irregolare.

Figura 9: Rete Mesh
Figura 9: Rete Mesh

Connessione Full: ogni nodo è direttamente connesso a tutti gli altri.

Figura 10: Rete Fully Connected
Figura 10: Rete Fully Connected

Miste: sono date dall’unione di più reti di quelle viste prima, come ad esempio una rete satellitare, connessa ad una rete a stella, a sua volta connessa ad una rete a bus.

Multiplexing

Il multiplexing è una tecnica di trasmissione che prevede la condivisione di un singolo canale fisico tra più canali di trasmissione, ovvero più canali trasmissivi in ingresso condividono la stessa capacità trasmissiva disponibile in uscita combinando più segnali o flussi di dati in un solo segnale (detto multiplexed) trasmesso in uscita su un unico collegamento fisico. Il multiplexing quindi si basa sul tempo (si trasmette a turno) e sulla frequenza (si trasmette in modulazione).

Tipologie di multiplexing

Time-division multiplexing (TDM) / Multiplazione deterministica
Questa multiplazione è basata sul tempo: in questo sistema ogni dispositivo ricetrasmittente ottiene a turno l’uso esclusivo del canale di comunicazione e delle risorse ad esso dedicate, cioè ad esempio l’intera banda. Esaurito il tempo a sua disposizione, il dispositivo dovrà lasciare il canale di comunicazione libero per il successivo dispositivo che ne ha fatto richiesta.

Figura 11: Time Division Multiplexing
Figura 11: Time Division Multiplexing

Packet Switching Multiplexing / Multiplazione statistica
La multiplazione statistica (indicata anche come commutazione di pacchetto) prevede che il flusso di informazioni venga segmentato in “pacchetti” di lunghezza arbitraria o fissa. Ogni pacchetto trasporta i dati da trasmettere e anche delle informazioni aggiuntive, ovvero una sorta di contrassegno, denominato intestazione (o header) e footer (o trailer). Queste informazioni aggiuntive servono per permettere il riconoscimento dei pacchetti all’interno del flusso di dati e contengono le informazioni necessarie per definire il destinatario della trasmissione.
L’intera capacità trasmissiva disponibile viene impegnata per la trasmissione di ciascun pacchetto. Se vi sono più pacchetti da trasmettere contemporaneamente, questi vengono memorizzati in una coda, subendo un ritardo di accodamento e rischiando di essere scartati in caso di esaurimento della memoria disponibile per la coda.

Figura 12: Packet Switching Multiplexing
Figura 12: Packet Switching Multiplexing

Commutazione (Switching)
La commutazione indica l’insieme delle funzionalità e delle tecniche su cui è basato il funzionamento logico dei nodi di una rete di telecomunicazioni, ovvero si tratta di un’operazione all’interno di un nodo che tratta l’informazione da trasmettere sotto forma di segnale, affinché sia indirizzata verso la destinazione desiderata.
Ne esistono diverse varianti:

Packet Switching (Commutazione di Pacchetto)
La commutazione di tipo Packet Switching è una tecnica di accesso multiplo di tipo time division, utilizzata per condividere un canale di comunicazione tra più host in modo non deterministico, suddividendo i dati da trasmettere in pacchetti di lunghezza determinata che verranno quindi trasmessi individualmente ed in sequenza, secondo un determinato meccanismo di routing (dettato dalle tabelle di routing).

Circuit Switching (Commutazione di Circuito)
In una rete a commutazione Circuit Switching la capacità del canale trasmissivo è interamente dedicata ad una specifica comunicazione. Avremo quindi che una parte della capacità trasmissiva totale in uscita al multiplexer è stabilmente assegnata a ciascun canale d’ingresso. Ogni utilizzatore ha quindi a disposizione un canale trasmissivo dedicato di cui può utilizzare l’intera capacità ad ogni richiesta. Tale tecnica si basa sul tempo e sulla frequenza.