Multiplexing e Demultiplexing

Multiplexing e Demultiplexing

La maggior parte delle comunicazioni che avvengono tramite il protocollo TCP/IP sono costituite da scambi di dati tra software in esecuzioni sugli host coinvolti nella comunicazione. Per la precisione, un software applicativo può creare delle proprie istanze in grado di inviare e ricevere messaggi: tali istanze sono chiamate processi

Si definisce quindi processo di un’applicazione TCP/IP un qualsiasi software di rete in grado di inviare e ricevere informazioni usando la suite di protocollo TCP/IP. Questa definizione include sia le applicazioni utente, sia quelle di sistema che si occupano di supportare e gestire le funzioni del protocollo.

Di conseguenza, nell’ambito di una comunicazione, un host TCP/IP ha sempre diversi processi che eseguono contemporaneamente, ognuno dei quali ha necessità di inviare e ricevere messaggi, che tuttavia dovranno necessariamente essere inviati usando la stessa interfaccia di rete, ovvero il livello IP. Questo implica che tutte i dati delle applicazioni e dei processi coinvolti verranno incanalati verso il livello inferiore, dove verranno gestita da TCP o da UDP. I messaggi, quindi, arrivati a livello IP, vengono impacchettati in datagrammi IP e spediti attraverso la rete alle diverse destinazioni: questa attività di chiama Multiplexing, e indica quindi una  combinazione di più pacchetti scambiati contemporaneamente.

Un meccanismo complementare è a sua volta responsabile della ricezione dei datagrammi. Arrivati i datagrammi dai mittenti, al livello IP del destinatario, essi dovranno essere smistati agli applicativi, e ai relativi processi, che ne hanno fatto richiesta. Il livello IP, quindi, dovrà occuparsi di gestire e smistare correttamente questo flusso di datagrammi e passarli al processo al livello superiore. Questa attività, inversa di quella svolta dal mittente, si chiama Demultiplexing.

Figura 28: Multiplexing e Demultiplexing
Figura 28: Multiplexing e Demultiplexing