next up previous contents index return to home!
Next: Architettura Client-Server Up: Semafori classici Previous: Un esempio   Indice   Indice analitico


Esempio di architettura Client Server

Il paradigma client-server si basa sull'assunto che esiste un certo insieme di entità che ha bisogno di ottenere un certo servizio da un'altra entità e che esiste un meccanismo di comunicazione a scambio di messaggi. A ogni entità che richiede il servizio viene dato il nome di client, mentre a quella che lo offre il nome di server.

Con il termine entità si intende un'ampia casistica che può andare da un host in rete fino a un thread. Nel seguito intenderemo in modo implicito che client e server siano dei task o dei thread.

Questa semplice spiegazione nasconde in realtà la complessità del problema. Una complicazione che sorge subito è che l'architettura così prospettata si presta subito ad un attacco, che in gergo tecnico prende il nome di denial of service.

Tale attacco viene portato da un client che vuole negare, per scopi più o meno leciti, l'uso del server a tutti gli altri client. Quello che il client deve fare è richiedere al server un servizio valido ma il cui tempo di elaborazione sia così lungo da bloccare, di fatto, il server e quindi renderlo inaccessibile a tutti gli altri client.

Per evitare tale tipo di attacco il server agisce nel seguente modo :


next up previous contents index
Next: Architettura Client-Server Up: Semafori classici Previous: Un esempio   Indice   Indice analitico
Giuseppe Lipari 2002-10-27