LIVELLO 1 • FONDAMENTI • LEZIONE 1.3

Client, server e peer-to-peer

Quando due dispositivi comunicano in rete non svolgono necessariamente lo stesso ruolo. Scopriamo cosa significano client e server e come cambia la comunicazione in una rete peer-to-peer.

LivelloBase
ObiettivoCapire i modelli di comunicazione
PrerequisitoLezioni 1.1 e 1.2

💡 In poche parole

In un modello client-server, il client richiede una risorsa o un servizio e il server lo fornisce. In un modello peer-to-peer, invece, i dispositivi possono comunicare direttamente assumendo ruoli più paritari.

💻 Cos’è un client?

Un client è un dispositivo o un programma che richiede un servizio a un altro sistema presente sulla rete.

Quando utilizzi il browser per aprire un sito web, per esempio, il browser agisce come client: invia una richiesta verso il sistema che ospita il sito e attende una risposta.

Lo stesso concetto si applica a moltissimi servizi. Un’app può essere un client, così come un computer che accede a un file conservato su un server della rete locale.

📱 Un esempio quotidiano

Apri un’app sullo smartphone e chiedi di visualizzare una determinata informazione. L’app invia una richiesta attraverso la rete. Il sistema remoto elabora la richiesta e restituisce i dati necessari. In questo scambio, l’app svolge il ruolo di client.

🖥 Cos’è un server?

Un server è un sistema che mette a disposizione risorse o servizi e risponde alle richieste dei client.

Un server può essere un potente computer in un data center, ma non deve esserlo necessariamente. Anche un piccolo computer, un NAS o perfino una scheda come ESP32, in determinate applicazioni, può eseguire un servizio accessibile da altri dispositivi.

  • un web server può fornire pagine web;
  • un file server può mettere a disposizione file;
  • un server multimediale può distribuire contenuti nella rete;
  • un server di gioco può coordinare una sessione multiplayer;
  • un piccolo web server su ESP32 può mostrare dati provenienti da sensori.
💻 Client 1 Richiede un servizio
→
🖥 Server Fornisce il servizio
←
📱 Client 2 Richiede un servizio

🔄 Come funziona il modello client-server?

Il principio può essere riassunto in uno scambio di richiesta e risposta. Il client vuole una determinata risorsa, contatta il server e formula la richiesta. Il server la riceve, la elabora e invia una risposta.

Questo modello permette di centralizzare servizi e informazioni. Molti client possono utilizzare lo stesso server senza dover possedere localmente tutti i dati o tutte le funzionalità offerte dal servizio.

🔑 Concetto chiave

Client e server descrivono dei ruoli. Non indicano necessariamente due categorie rigide di hardware. Lo stesso computer può comportarsi da client in una situazione e fornire un servizio da server in un’altra.

🤝 Cos’è una rete peer-to-peer?

Peer-to-peer, spesso abbreviato in P2P, indica un modello nel quale i partecipanti possono comunicare direttamente e condividere risorse senza dipendere necessariamente da un unico server centrale per lo scambio.

La parola peer può essere tradotta come “pari”. Un dispositivo può quindi ricevere dati e, allo stesso tempo, mettere proprie risorse a disposizione degli altri peer.

💻 Peer AInvia e riceve
↔
💻 Peer BInvia e riceve
↔
💻 Peer CInvia e riceve

Nella pratica esistono anche sistemi ibridi: alcune funzioni possono essere centralizzate mentre lo scambio di determinati dati avviene direttamente tra peer. Quindi non tutti i sistemi reali rientrano perfettamente in una sola categoria.

📋 Client-server e peer-to-peer a confronto

Caratteristica Client-server Peer-to-peer
Organizzazione Servizio principalmente centralizzato Risorse distribuite tra i peer
Ruoli Client e server hanno funzioni distinte nello scambio I peer possono fornire e ricevere risorse
Esempio semplice Browser che richiede una pagina a un web server Dispositivi che condividono direttamente risorse tra loro
Gestione Può essere più semplice centralizzare dati e servizi Le risorse possono essere distribuite su più partecipanti

🏠 Client e server anche dentro casa

Questi concetti non riguardano soltanto Internet. Puoi incontrarli anche nella tua rete locale.

Se possiedi un NAS e dal computer apri una cartella condivisa, il NAS sta fornendo una risorsa e il computer la sta utilizzando. Allo stesso modo, se realizzi un progetto ESP32 con una pagina web per visualizzare temperatura e umidità, l’ESP32 può svolgere il ruolo di piccolo web server mentre smartphone e computer accedono alla pagina come client.

🤖 ESP32 come server

Immagina un ESP32 collegato a un sensore di temperatura. La scheda crea una pagina web accessibile dalla rete locale. Quando inserisci l’indirizzo dell’ESP32 nel browser, il browser richiede la pagina e l’ESP32 la invia.

In questo esempio il browser è il client e l’ESP32 svolge il ruolo di server.

🎯 Cosa devi ricordare

  • Il client richiede una risorsa o un servizio.
  • Il server fornisce risorse o servizi ai client.
  • Client e server indicano ruoli, non necessariamente tipi specifici di computer.
  • Nel peer-to-peer i partecipanti possono condividere direttamente risorse tra loro.
  • Esistono anche architetture che combinano elementi centralizzati e P2P.
  • Questi modelli possono essere utilizzati sia su Internet sia nella rete locale.

🧠 Verifica rapida

Prova a rispondere prima di aprire le soluzioni.

1. Quando il browser richiede una pagina web, che ruolo svolge?

Il browser svolge il ruolo di client perché richiede una risorsa al server.

2. Un ESP32 può essere un server?

Sì. Per esempio può eseguire un piccolo web server e fornire una pagina ai dispositivi della rete.

3. Un computer può essere sia client sia server?

Sì. Client e server descrivono il ruolo assunto in uno specifico servizio o scambio, non una caratteristica immutabile del dispositivo.

4. Cosa distingue in generale il peer-to-peer?

I peer possono mettere risorse a disposizione degli altri partecipanti e riceverne, senza basare necessariamente lo scambio su un unico server centrale.

🎉 Livello 1 completato!

Ora sai cos’è una rete, conosci la differenza tra LAN, WAN e Internet e hai imparato i concetti di client, server e peer-to-peer. Nel Livello 2 entreremo finalmente dentro la rete domestica e studieremo modem, router, switch, access point e ONT.