Introduzione

In questa sezione verranno introdotti i fondamenti di networking e internetworking. In particolare, verrà introdotto:

Successivamente, verrà definito il concetto di applicazione di rete e verrà presentato lo schema generale di una tipica applicazione di rete (modello client-server).

Networking e internetworking

Il termine "networking" è utilizzato per far riferimento alla realizzazione di una "rete di calcolatori", o più semplicemente "rete", e tutte le problematiche ad essa relative. Pertanto, per avere ulteriori chiarimenti riguardo il significato di questo termine, bisogna andare a vedere più da vicino cosa si intende quando si parla di rete.

Il concetto di rete è nato e si è sviluppato in seguito a delle esigenze crescenti sorte dall'evoluzione dell'informatica.

Sebbene in tali esigenze si può riconoscere un obiettivo di base comune che è la necessità di far comunicare utenti diversi e, più in generale, di rendere possibile la condivisione di risorse informatiche, si deve altresì riconoscere nelle stesse esigenze una enorme diversità e, quindi, identificare nel progresso delle tecnologie informatiche il principale artefice delle grosse variazioni del significato di rete.

All'inizio, una rete era un sistema costituito da un grosso calcolatore centrale (mainframe) a cui erano connessi, tramite brevi collegamenti fisici, diverse periferiche (terminali, stampanti, punti di entrata per job remoti - RJE - e così via) (Figura 1.1). [BG94]

Figura 1.1. Rappresentazione di una rete come si intendeva inizialmente.

In seguito, quando sono stati disponibili dei dispositivi, chiamati "modem", che consentono di sfruttare le linee telefoniche per la trasmissione dei dati, una rete poteva anche essere realizzata con una dislocazione delle periferiche più decentrata (Figura 1.2). [Woo99]

Figura 1.2. Rappresentazione di una rete come si intendeva con la comparsa dei modem.

Successivamente, l'introduzione di dispositivi, chiamati "multiplexer", che raccolgono informazioni da un insieme di terminali dislocati nella stessa zona e li spediscono al mainframe, ha reso possibile soddisfare la richiesta di un maggiore numero di periferiche da "mettere in rete" (Figura 1.3). [BG94]

Figura 1.3. Rappresentazione di una rete come si intendeva con la comparsa dei multiplexer.

Tuttavia, il grosso carico di lavoro affidato al mainframe portò alla realizzazione di processori (front end) destinati a controllare la comunicazione tra il mainframe e le periferiche (Figura 1.4). [BG94]

Figura 1.4. Rappresentazione di una rete come si intendeva con la comparsa dei front end.

Attualmente, una rete è costituita da due o più calcolatori (host) che comunicano attraverso un canale di comunicazione (link) (Figura 1.5).

Figura 1.5. Rappresentazione di una rete come si intende attualmente.

Essenzialmente, si distinguono due tipi di link:

  1. link point-to-point, che connettono due host.
  2. link multiaccesso, che connettono due o più host.

In base al tipo di link utilizzato, è possibile fare una prima classificazioni delle reti:

Un'altra classificazione tipica delle reti è quella che si basa sulla superficie su cui si estende la rete. Principalmente, si distinguono:

Una estensione del concetto di rete si è avuta quando si è dovuto far fronte all'esigenza di far comunicare host di reti diverse.

Questo problema è stato risolto connettendo tante reti insieme. La soluzione adottata porta alla realizzazione di sistemi noti come "internet".

Un'internet rappresenta un'estensione del concetto di rete in quanto in un'internet è prevista la presenza di dispositivi (non previsti nella realizzazione di reti indipendenti) che hanno la funzionalità di inoltrare i dati ricevuti verso un'altra rete dell'internet. Uno di questi dispositivi utilizzati per connettere due reti è il "router".

Un router è un dispositivo con più interfacce di rete (una per ogni rete che deve connettere) e la sua funzione è quella di ricevere i dati attraverso una interfaccia da una rete e di spedirli attraverso l'interfaccia su un'altra rete che il livello di rete giudica più opportuna (come si vedrà in seguito, è il protocollo del livello di rete implementato nel router che, attraverso la realizzazione del forwarding - inoltro -, decide l'interfaccia attraverso cui i dati devono essere inoltrati).

Praticamente, un router può essere anche un host che è stato configurato ad agire come router. Naturalmente, affinché ciò sia possibile, si devono verificare i seguenti eventi:

È utile osservare che esistono altri modi di connettere reti diverse. Per esempio, due LAN possono essere connesse attraverso un "bridge". Tuttavia, si è preferito non considerare i bridge come dispositivi che realizzano un'internet in quanto non realizzano alcuna funzionalità di routing (o instradamento), né di inoltro. In pratica, la connessione di due LAN attraverso un bridge è ancora una LAN e non un'internet.

Avendo introdotto il concetto di internet, è possibile chiarire cosa si intende per "internetworking".

Il concetto di internetworking estende, in modo naturale, il concetto di networking. Più precisamente, l'internetworking sta a indicare la realizzazione di internet e tutte le problematiche ad essa relative.

Il concetto di rete può essere visto come un concetto primitivo a partire dal quale può essere definito ricorsivamente il concetto di internet (Figura 1.6). [PD96]

Figura 1.6. Definizione ricorsiva di internet.

Ciò sta a significare che si potrebbe utilizzare, senza ambiguità, il termine internet per riferirsi a una rete (e quindi anche internetworking in luogo di networking). Tuttavia, ciò in pratica non succede. Anzi, succede spesso che il termine rete sia usato anche per indicare un'internet. In questi casi, il contesto dovrebbe far chiarezza.

Applicazioni di rete

Finora, la necessità di introdurre i concetti di networking e internetworking, è stata giustificata semplicemente dal fatto che si volevano far comunicare due host di una rete (nel caso del networking) oppure di far comunicare due host di un'internet (nel caso più generale dell'internetworking).

In pratica, una giustificazione più specifica è data dalla necessità di eseguire "applicazioni di rete".

Tipicamente, per applicazione di rete si intende una "applicazione client-server", cioè una applicazione costituita da una "applicazione client" che è eseguita da un host (host client) e una "applicazione server" che è eseguita da un altro host (host server). Talvolta, anche il mezzo fisico su cui viaggiano i dati che i due host si scambiano, è considerato parte dell'applicazione (Figura 1.7). [Ste94]

Figura 1.7. Rappresentazione di una tipica applicazione di rete.

A grandi linee, i compiti dell'applicazione client prevedono:

Mentre, i compiti dell'applicazione server prevedono: