Reti Locali: Architetture

Le reti locali si differenziano tra loro per topologia e protocolli utilizzati nella connessione.

La tipologia designa il modo in cui i nodi della rete sono collegati tra di loro; i protocolli, invece, il modo in cui i dati e le informazioni vengono scambiati tra i vari nodi.

Nel primo caso distinguiamo tra rete a stella, rete a bus, rete ad anello o token ring e ad albero; nel secondo distinguiamo tra reti basate su protocollo client-server e reti peer-to-peer.

Le differenze tra un ambiente peer-to-peer e un’architettura client-server

In una rete caratterizzata da un ambiente peer-to-peer tutti i nodi possono svolgere sia la funzione di client che di server. Non esiste, quindi, un “centro geografico” verso cui tutti gli altri nodi fanno riferimento, ma è una rete paritaria e orizzontale. In un’architettura client-server, invece, esiste un “nucleo” della rete (il server, per l’appunto) al quale fanno riferimento tutti gli altri nodi della rete (i client): questi ultimi possono usufruire indistintamente delle risorse messe loro a disposizione dal server, sia che si tratti di spazio su un hard disk sia che si tratti di una connessione verso un’altra rete.

architettura client-server

Il termine "client-server" si riferisce normalmente all'architettura di una applicazione software (un "programma", in termini semplici) che è in effetti divisa in due parti ben distinte, anzi in due programmi, fra loro indipendenti: un programma "server", quello che fornisce il servizio richiesto; ed un programma "cliente", ovvero quello utilizzabile per accedere al servizio. Quest'ultimo normalmente consiste principalmente in una "interfaccia di utente" che accetta le richieste di un utilizzatore umano, ne verifica la correttezza e compone un "messaggio" di richiesta al server, il quale risponde appropriatamente. A questo punto il "cliente" può convertire il messaggio di risposta in una forma più adatta ad essere compresa dall'utilizzatore e presentarlo.

 I motivi per cui le architetture di tipo client-server hanno ottenuto grande successo sono di vario tipo e riguardano vari aspetti dell'ingegneria del software. Alcuni dei principali vantaggi derivano dal fatto che cliente e server hanno funzioni radicalmente diverse e sono in larga misura indipendenti fra loro: l'unica cosa che li "lega" è l'insieme di messaggi che possono scambiarsi.

 Più in particolare:

  • L'architettura si presta naturalmente ad applicazioni in cui è richiesto un solo server che fornisce servizio a molti clienti.
  • L'architettura si presta naturalmente ad essere utilizzata in ambiente distribuito (in rete).
  • La parte cliente e la parte server di una applicazione possono essere sviluppate separatamente in modo semplice da gruppi di lavoro diversi.
  • Le due parti possono essere ottimizzate, ciascuna per il suo compito, indipendentemente.
  • È possibile sostituire i clienti o i server con programmi di tipo diverso, purché accettino lo stesso "linguaggio" di messaggi. Ad esempio un utente può scegliere fra diverse interfacce utente quella che preferisce (o a cui è abituato).

Alcuni tipici esempi di servizi implementati con architetture client-server sono:

I servizi di posta elettronica forniti dai provider Internet: il provider fornisce un server che ha il solo compito di trasmettere e ricevere messaggi (e mantenerli memorizzati fino a che un cliente non li richiede). Ogni utente del provider è provvisto di un cliente (Netscape, Eudora, Pine, MS-Exchange, ecc.) che gli mostra l'elenco dei messaggi, gli consente di leggerli, cancellarli, archiviarli, scriverne di nuovi, ecc. Ogni cliente "parla" con il server secondo un "linguaggio" (protocollo) detto POP3.

I database di tipo "SQL server". In questo caso il server si occupa della gestione di un database (scrittura e lettura dei records, ricerche, mantenimento degli indici, ecc.) e riceve comandi in un linguaggio standard detto SQL attraverso collegamenti di rete. I clienti da un lato ricevono le richieste di operazione dagli utenti e le traducono in linguaggio SQL per trasmetterle al server, dall'altro ricevono le risposte dal server e le presentano nel formato opportuno all'utente.

I "printer server". In questo caso il server fornisce un servizio di stampa ed i clienti non sono di norma utenti "umani" direttamente, ma "driver" di stampa su computer remoti non dotati di stampante che sono in grado di attivare una richiesta di stampa sul server.

ambiente peer-to-peer

La rete mesh (rete “a maglia”) è l’esempio prototipico di una rete p2p. Non esiste un ordine gerarchico tra i nodi, i quali possono rivestire sia il ruolo di server sia di client potendo essere collegati, senza seguire uno schema preciso, ad un numero variabile di altri nodi. A differenza di una rete ad anello  la rottura di un nodo non comporta l’interruzione della comunicazione: esisterà sempre un percorso alternativo che permetterà di aggirare l’ostacolo del nodo non funzionante e portare a termine la comunicazione.


Ultime modifiche: domenica, 8 marzo 2020, 16:36