Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 2 – UDP e TCP a confronto
La scelta di UDP rispetto a TCP si basa su: –funzionalità; –prestazioni. Prestazioni a confronto: –lo schema di controllo del flusso di TCP basato sulle finestre porta a bulk transfer a ondate; –l’algoritmo “slow start” può ridurre il throughput; –TCP ha un elevato overhead per segmento (header grande); –d’altro canto, UDP può inviare datagram piccoli e non efficaci. Differenze tra UDP e TCP (1)
Affidabilità –TCP fornisce trasferimenti affidabili e ordinati. –UDP fornisce un servizio inaffidabile, l’applicazione deve accettare o considerare: perdite di pacchetti dovute a overflow ed errori; datagram non in ordine. Multicast e broadcast –Supportati solo da UDP. –Lo schema di controllo degli errori di TCP non si presta al multicast affidabile. Dimensione dei dati –Datagram UDP limitati a MTU IP (64 KB). Differenze tra UDP e TCP (2)
Complessità delle applicazioni –Il framing a livello applicativo può essere reso difficile da TCP a causa dell’algoritmo di Nagle. L’algoritmo di Nagle controlla quando i segmenti TCP vengono inviati per usare i datagram IP in modo efficace. –I dati, però, possono essere ricevuti e letti da applicazioni in unità diverse rispetto a come sono stati inviati. Differenze tra UDP e TCP (3)
Quale dei due protocolli è usato per: –HyperText Transfer Protocol (HTTP)? –File Transfer Protocol (FTP)? –Telnet? –Post Office Protocol (POP)? –Remote WHO (rwho)? –Audio/video MBONE? –Real Player? –Network File System (NFS)? Differenze tra UDP e TCP (4)
UDP si usa soprattutto quando parte dei compiti di gestione delle connessioni sono delegati al livello applicativo, attraverso uno strato di middleware. UDP e “middleware”
Servizi di livello più alto possono essere forniti per lo sviluppo di applicazioni tramite il cosiddetto “middleware”. –Possono essere incorporati nel sistema operativo (e girare su vari sistemi operativi). –Possono far parte del sistema operativo. Funzioni possibili: trasmissione dei messaggi, gestione distribuita degli oggetti, servizi di directory, tipi di dati definiti dall’utente, RPC (Remote Procedure Calls), astrazioni di comunicazione alternative. FINE Modello “middleware”