Sistemi di comunicazione nella rete

Questo è una sezione del capitolo “Internet” del libro “Principi della multimedia digitale”.
Il testo spiega i due sistemi principali di comunicazione della rete: client-server e peer-to-peer.

Sistema client-server

Il termine sistema client-server  indica un’architettura di rete nella quale genericamente un computer, chiamato client, si connette ad un altro computer, chiamato server, per la fruizione di un certo servizio, quale ad esempio la condivisione di una certa risorsa hardware/software.
La presenza di un server permette ad un certo numero di client di condividerne le risorse, lasciando che sia il server a gestire gli accessi alle risorse per evitare conflitti di utilizzazione.

La maggior parte di internet funziona con il metodo client-server dove gli utenti sfruttano Internet come rete di comunicazione per arrivare ai server per richiedere funzioni (es: vedere un sito web).

Specificatamente nel modello client-server vediamo che sono coinvolti due processi (programmi in esecuzione) uno sulla macchina client e uno sulla macchina server. 
Da queste premesse, la comunicazione è rappresentata da questa logica:

  • Un processo client manda un messaggio attraverso la rete al processo server per poi restare in attesa di un messaggio di risposta.
  • Quando il processo server riceve la richiesta, la esegue e restituisce una risposta.


I client ed il server sono in collegamento tramite un protocollo di comunicazione, cioè regole condivise che consentono di dialogare per uno specifico compito.

Client

Il termine client indica un un componente o sottosistema informatico che accede ai servizi o alle risorse di un server.
Il client può essere hardware o software:

  • Un dispositivo, collegato ad un server tramite rete, ed al quale richiede uno o più servizi, utilizzando uno o più protocolli di rete, è un esempio di client hardware..
  • Invece un programma di posta elettronica è un esempio di client software perché il software  comunica continuamente con il server che riceve/manda le e-mail.

Ad esempio uno dei più importanti client software è il browser, un software specializzato a visualizzare pagine web prese dal server.
Il client software in genere è di limitata complessità, limitandosi normalmente ad operare come interfaccia di comunicazione verso il server.

Esistono alcuni software, come l’e-mail, che sono divisi in una parte client (residente ed in esecuzione sul pc client) e una parte server (residente ed in esecuzione sul server).

Esempio
Quando si utilizza il software gmail, l’interfaccia utente fa parte del client, mentre il contenuto delle email, si trova nel database che è localizzato in un server. Il client, tramite l’interfaccia, riesce a scaricare e visualizzare il contenuto delle email residente nel server.

Server

Un server (dal verbo (to) serve «servire», dunque letteralmente «serviente, servitore») è un componente o sottosistema informatico di elaborazione e gestione del traffico di informazioni che fornisce, a livello logico e fisico, un qualunque tipo di servizio ai client che ne fanno richiesta.

In base al contesto, il termine “server” può indicare quindi:

  • Un computer “ordinario” utilizzato per fornire servizi ad altri computer, a prescindere dalle sue caratteristiche hardware.
  • Un computer specifico appartenente alla fascia di mercato dedicata all’uso come server, caratterizzato da alta affidabilità, maggiori prestazioni e funzioni aggiuntive.
  • Un software che fornisce servizi ad altri software

Il server, oltre alla gestione logica del sistema, deve implementare:

  • Tutte le tecniche di gestione degli accessi.
  • Allocazione e rilascio delle risorse.
  • Condivisione e sicurezza dei dati o delle risorse.

Esempio
un server di posta elettronica è paragonabile ad un qualunque ufficio postale. 
Gli utilizzatori per accedere via client alla loro casella di posta elettronica devono essere stati autorizzati. 
In modo analogo un utente deve possedere la chiave della cassetta situata presso un ufficio postale dalla quale vuole prelevare la corrispondenza.

Server tipico

Tipi di server

La stragrande maggioranza dei server sono servizi, ovvero programmi che svolgono funzioni specifiche di sistema. 
I server possono essere specializzati a fornire specifici servizi; i più importanti sono:

  • File server: permette agli utenti di accedere ai file situati su un dispositivo di memorizzazione come se fossero sul proprio dispositivo, agevolando la condivisione di informazioni.
  • Database server: permette di gestire interi database.
  • FTP server: fornisce alla rete accesso a cartelle pubbliche o con autenticazione.
  • Web server: usato per ospitare siti web.
  • Application server: usato per far funzionare un programma applicativo sul web (applicazione web) e condividerne le funzionalità tra gli utenti.
  • Mail server: usato per la gestione della posta elettronica.
  • Game server: ospita risorse per rendere possibili i giochi multiutente.

Data center

Un data center è una struttura specializzata progettata per ospitare server e tutti gli altri componenti ad essi collegati: dispositivi di archiviazione, apparati di rete, impianti di sicurezza e infrastrutture energetiche.
La funzione di un data center è quella di archiviare, elaborare e distribuire grandi volumi di dati in modo continuo, affidabile e sicuro.
Banalmente sono le “fabbriche dell’informazione”: luoghi dove i dati vivono, transitano e vengono gestiti 24 ore su 24.

L’elemento principale di un data center è il server farm.
Una server farm è un termine generico per indicare un insieme organizzato di server installati in uno stesso luogo fisico.
Un server farm è composto da armadi metallici chiamati “rack”, ciascuno dei quali contiene decine di server.

Questi server ospitano siti web, database, applicazioni aziendali, video in streaming e perfino mondi virtuali dei videogiochi online.
Oltre al server farm, un data center è dotato di:

  • Sistemi di raffreddamento, per mantenere le temperature entro limiti accettabili (i server generano molto calore).
  • Gruppi di continuità (UPS) e generatori, per garantire l’alimentazione anche in caso di blackout.
  • Connessioni in fibra ottica ad altissima velocità.
  • Sistemi di sicurezza fisica e monitoraggio digitale costante, per prevenire accessi non autorizzati o guasti.

L’intero sistema è pensato per garantire alta disponibilità, cioè un funzionamento continuo anche in condizioni critiche.
Un’interruzione di pochi secondi può significare enormi perdite economiche o danni all’immagine per chi fornisce servizi digitali.

Senza i data center, non ci sarebbe Internet per come lo conosciamo.
Ogni email inviata, ogni messaggio su WhatsApp, ogni video su YouTube passa fisicamente da uno o più data center.
Anche i sistemi informativi delle aziende, le banche, gli ospedali, le app di navigazione o i servizi pubblici digitali si appoggiano a queste infrastrutture.

Rak con server all’interno

Sistema peer to peer

Il modello client-server è quello più utilizzato su Internet ma esiste un altro popolare modello: il peer-to-peer (P2P).
In questa forma di comunicazione, gli host, che costituiscono un gruppo spontaneo, sono in grado di comunicare tra loro senza che vi sia una divisione predefinita tra server e client.
Semplicemente gli host fanno sia client (fruitore di servizi) che da server (esecutore di servizi).

Il funzionamento è abbastanza semplice:
Ogni host mantiene il proprio database in locale e fornisce un elenco di altri host a lui noti che fanno parte del sistema P2P.
Quindi un nuovo host può visitare qualunque altro membro sia per vedere che cosa abbia sia per ottenere i nominativi di altri membri da ispezionare a loro volta alla ricerca di altri contenuti e nomi.

A sinistra un sistema client-server, a destra un sistema P2P

Esempio
Torrent, è un programma di condivisione file. In questo sistema il client può scaricare altri file da altri altri utenti ed essere allo stesso momento un server che contiene file che possono essere scaricati da altri host.

Vuoi aiutarmi a scrivere articoli come questo?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

No responses yet

Sostieni il progetto

Tutti i materiali che condivido nascono da una convinzione molto semplice: una buona formazione non dovrebbe limitarsi a insegnare quali pulsanti premere, ma aiutare a comprendere le idee, i principi e i processi che stanno dietro agli strumenti.
Per questo dedico una parte significativa del mio tempo a studiare, organizzare e produrre contenuti gratuiti dedicati al multimedia, al design e alla comunicazione visiva. Articoli, lezioni, approfondimenti e risorse che hanno l’obiettivo di rendere accessibili argomenti spesso affrontati in modo frammentario o superficiale.
Questo lavoro richiede però tempo, ricerca e cura. Ogni guida, ogni video, ogni materiale pubblicato gratuitamente è il risultato di molte ore di studio, scrittura e revisione.
Sostenere il progetto attraverso Patreon significa permettermi di continuare a produrre contenuti educativi di qualità, mantenerli accessibili al maggior numero possibile di persone e dedicare più energie alla costruzione di una risorsa che possa essere utile a studenti, professionisti e appassionati.
Se credi che una conoscenza più profonda, rigorosa e consapevole del multimedia abbia valore, il tuo contributo non sostiene soltanto il mio lavoro: aiuta a rendere queste risorse disponibili per tutta la comunità.
Grazie per il supporto e per la fiducia.

Patreon è troppo impegnativo?

Puoi sostenermi anche con una donazione libera, senza abbonamento e senza impegno.
Anche un piccolo contributo mi aiuta a continuare a creare giochi, contenuti didattici e materiali gratuiti con più libertà.