Differenza tra protocollo TCP e UDP nelle reti di telecomunicazioni

Differenza tra protocollo TCP e UDP nelle reti di telecomunicazioni

Nelle reti di telecomunicazioni, il protocollo TCP (Transmission Control Protocol) è un protocollo con modalità orientata alla connessione ed affidabile, mentre il protocollo UDP (User Datagram Protocol) è un protocollo non orientato alla connessione e non affidabile.

Differenza tra protocollo TCP e UDP nelle reti di telecomunicazioni

Entrambi i protocolli sono collocati nello strato di trasporto, corrispondono al livello quattro della pila ISO/OSI, cioè la pila di protocolli attraverso i quali è ridotta la complessità implementativa di un sistema di comunicazione. Essa è costituita da strati (o livelli) che racchiudono uno o più aspetti fra loro correlati della comunicazione fra nodi di una rete. Gli strati sono in totale sette e vanno dal livello fisico (ad esempio, quello relativo al mezzo fisico) sino al livello delle applicazioni attraverso cui, si realizza la comunicazione di più alto livello. La pila è costituita infatti dai seguenti strati posti in ordine decrescente. In particolare, il livello di trasporto, deve sia poter raccogliere i dati provenienti da applicazioni diverse e trasmetterli attraverso un unico strato di rete (multiplexing), sia ricevere i dati dallo strato di rete e smistarli correttamente verso le diverse applicazioni (demultiplexing). Consiste anche in un numero di porta identificativo, che determina univocamente un particolare processo applicativo in esecuzione su un host. Inoltre, il numero di porta su cui si inviano le richieste al server, è scelto secondo una convenzione, tramite la quale tutti i server di un certo tipo, devono utilizzare un numero di porta definito a priori tra le cosiddette well-known port.

Il processo Server si predispone a ricevere una richiesta eseguendo un’apertura passiva che si attua:

  1. nel protocollo UDP, aprendo un socket di comunicazione ove si mette in ascolto sulla relativa porta, in attesa dell’arrivo di una richiesta;
  2. nel protocollo TCP, aprendo un socket di comunicazione ove si mette in ascolto sulla relativa porta, in attesa dell’arrivo di una richiesta di apertura della connessione.

Invece, il processo Client quando è interessato ad un determinato servizio, esegue un’apertura attiva, tentando di collegarsi al processo Server che offre tale servizio:

  1. nel protocollo UDP, aprendo un socket di comunicazione ed inviando direttamente la richiesta al server;
  2. nel protocollo TCP, aprendo un socket di comunicazione ed inviando una richiesta di apertura della connessione.

Il client, deve conoscere l’indirizzo IP e il numero di porta usati dal server per potersi collegare al socket (identifica l’interfaccia software attraverso cui il livello di trasporto scambia dati con le applicazioni) di destinazione.
Altresì, viene detto indirizzo del socket, un numero di porta concatenato ad un indirizzo IP (es. 137.204.57.85:80). Inoltre, nel trasporto UDP basta conoscere l’indirizzo del socket di destinazione, mentre l’indirizzo di quello sorgente serve per poter confezionare eventuali risposte.Invece, nel trasporto TCP sono necessari entrambi gli indirizzi (sorgente-destinatario) componenti il socket, che identificano univocamente le connessioni attive. Infine, ritornando al protocollo UDP, esso è un protocollo non affidabile di tipo connectionless, concepito per tutte quelle applicazioni, che trasmettono pacchetti singoli, senza necessità di riscontro (acknowledgment), come avviene invece nel caso del protocollo TCP (Transmission Control Protocol).

Differenza tra protocollo TCP e UDP nelle reti di telecomunicazioni

Differenza tra TCP o UDP per il real-time

Per la trasmissione di dati real-time può portare diversi problemi se si vuole utilizzare protocolli più comuni come il protocollo TCP o UDP. Il TCP crea collegamenti bidirezionali per il trasporto di dati, garantisce la consegna dei pacchetti senza perdere informazioni, controlla le congestioni, il flusso dati e adatta automaticamente la comunicazione di rete e lo stato del ricevente. Però i dati ricevuti attraverso il protocollo TCP può subire latenze che non possono essere gestite diretta- mente da un sistema distribuito e non è per niente adatto a comunicazioni multimediali low-latency se sono presenti congestioni. Invece nel protocollo UDP avremo poche funzionalità in aggiunta dell’IP, ogni pacchetto trasmesso è indipendente dalle altre, fornisce il controllo di integrità per il carico utile. Però lascia molti aspetti all’applicazione, è più adatto per le comunicazioni multimediali però in condizioni difficili come per esempio le congestioni di rete.
La soluzione che si può seguire è quella di utilizzare protocolli progettati per la comunicazione che ha la proprietà della bassa latenza come ad esempio RTP.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: www.vitolavecchia.altervista.org

Lascia un commento

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