Sono protocolli end-to-end, non vengono interpretati dai nodi di mezzo, ma solo dagli host.
I vantaggi di una scelta di questo genere, sono che gli host conoscono le necessità e le esigenze delle applicazioni (banda, latenza, …). Gli svantaggi sono che gli host non conoscono la capacità di rete disponibile, e non conoscono la gestione delle risorse a livello più basso (TCP riesce a stimare qualcosa).
Datagramma UDP
Offre un servizio connectionless, non è necessaria una fase di apertura della connessione, quindi è orientato al messaggio. E’ un protocollo privo di stato (stateless). Non offre:
A cosa serve UDP? Multiplazione dei flussi di pacchetti da/verso più applicazioni (porta).
Multiplazione UDp
Rilevamento dell’errore opzionale.
Adatto ai servizi di livello applicativo che sono tolleranti alla perdita, ma sensibili al ritardo, si pensi ad una app di streaming.
A differenza di UDP offre servizio connection oriented, permettendo di trasferire in maniera affidabile un flusso di byte da una sorgente ad una destinazione.
Inoltre garantisce:
Ovviamente come UDP offre la multiplazione di più flussi contemporanei. Come detto all’inizio TCP è un protocollo orientato alla connessione, quindi viene creata un’associazione tra host sorgente e host destinatario. Da un certo punto di vista si crea un “canale” tra host sorgente e destinazione, essendo che lo strato di rete IP è connectionless e non vi è traccia della connessione dei nodi di rete.