Principles of Network Applications

Principalmente esistono due tipi di Network Applications:

Nel Client-Server abbiamo un server che invia i message a tutti i client. Un problema a cui si può incorrere è che il server deve sopportare un traffico troppo elevato e quindi subirà rallentamenti. Per questo, in applicazioni di grande dimensione, vengono utilizzati dei datacenter.

Screenshot 2024-10-12 202236.png

Nel P2P non esiste un server unico ma ogni client si comporta anche come server. In questo modo questo sistema può essere self-scalabile ma presenta diversi problemi:


Processes Communicating

Definiamo Processes come il programma che viene eseguito dall’end system (client o server).

Processes su due diversi end systems comunicano tra di loro scambiandosi messages attraverso il computer network

<aside> 💡

Nel contesto di una sessione di comunicazione tra una coppia di processi, il processo che inizia la comunicazione viene chiamato Client. Il processo che aspetta di essere contattato per iniziare la sessione è il Server

</aside>

L’interfaccia tra i processi e il Computer Network

Un processo invia messages a, e riceve messages da, il network attraverso un software chiamato Socket.

Il Socket è l’interfaccia tra il livello applicativo e il livello di trasporto in un host (client o server). Viene anche solitamente chiamato come Application Programming Interface (API) tra l’applicazione e il network.

Screenshot 2024-10-12 204947.png

Addressing Processes