Transmission Control Protocol: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.5
Riga 20:
* TCP possiede funzionalità di [[controllo di flusso]] tra terminali in comunicazione e [[controllo della congestione]] sulla connessione, attraverso il meccanismo della [[finestra scorrevole]]. Questo permette di ottimizzare l'utilizzo dei buffer di ricezione/invio sui due end devices (controllo di flusso) e di diminuire il numero di segmenti inviati in caso di [[congestione (reti)|congestione]] della rete.
* TCP fornisce un servizio di [[multiplazione#Multiplazione nei protocolli di trasporto|multiplazione]] delle connessioni su un [[host]], attraverso il meccanismo dei numeri di [[Porta (reti)|porta]] del mittente.
 
=== Confronto con UDP ===
Le principali differenze tra TCP e [[User Datagram Protocol|UDP]] (''User Datagram Protocol''), l'altro principale protocollo di [[Livello di trasporto|trasporto]] della [[suite di protocolli Internet]], sono:
* TCP è un protocollo orientato alla connessione. Pertanto, per stabilire, mantenere e chiudere una connessione, è necessario inviare segmenti di servizio i quali aumentano l'overhead di comunicazione. Al contrario, UDP è [[connectionless|senza connessione]] ed invia solo i [[datagramma|datagrammi]] richiesti dal [[Livello applicazioni|livello applicativo]]; (nota: i pacchetti prendono nomi diversi a seconda delle circostanze a cui si riferiscono: segmenti (TCP) o datagrammi (UDP));
* UDP non offre nessuna garanzia sull'affidabilità della comunicazione, ovvero sull'effettivo arrivo dei segmenti, né sul loro ordine in sequenza in arrivo; al contrario il TCP, tramite i meccanismi di acknowledgement e di ritrasmissione su timeout, riesce a garantire la consegna dei dati, anche se al costo di un maggiore [[Overhead#Reti di calcolatori|overhead]] (raffrontabile visivamente confrontando la dimensione delle intestazioni dei due protocolli); TCP riesce altresì a riordinare i segmenti in arrivo presso il destinatario attraverso un campo del suo header: il sequence number;
* l'oggetto della comunicazione di TCP è un ''flusso di byte,'' mentre quello di UDP sono ''singoli datagrammi''.
 
L'utilizzo del protocollo TCP rispetto a [[User Datagram Protocol|UDP]] è, in generale, preferito quando è necessario avere garanzie sulla consegna dei dati o sull'ordine di arrivo dei vari segmenti (come per esempio nel caso di trasferimenti di file).
Al contrario UDP viene principalmente usato quando l'interazione tra i due host è [[idempotente]] o nel caso si abbiano forti vincoli sulla velocità e l'economia di risorse della rete (es. [[streaming]] in tempo reale, videogiochi multiplayer).
 
=== Segmento TCP ===
Riga 97 ⟶ 88:
* '''Options''' - Opzioni (facoltative) per usi del protocollo avanzati.
* '''Data''' - rappresenta il carico utile o ''payload'' da trasmettere cioè la [[Protocol Data Unit|PDU]] proveniente dal livello superiore.
 
=== Confronto con UDP ===
Le principali differenze tra TCP e [[User Datagram Protocol|UDP]] (''User Datagram Protocol''), l'altro principale protocollo di [[Livello di trasporto|trasporto]] della [[suite di protocolli Internet]], sono:
* TCP è un protocollo orientato alla connessione. Pertanto, per stabilire, mantenere e chiudere una connessione, è necessario inviare segmenti di servizio i quali aumentano l'overhead di comunicazione. Al contrario, UDP è [[connectionless|senza connessione]] ed invia solo i [[datagramma|datagrammi]] richiesti dal [[Livello applicazioni|livello applicativo]]; (nota: i pacchetti prendono nomi diversi a seconda delle circostanze a cui si riferiscono: segmenti (TCP) o datagrammi (UDP));
* UDP non offre nessuna garanzia sull'affidabilità della comunicazione, ovvero sull'effettivo arrivo dei segmenti, né sul loro ordine in sequenza in arrivo; al contrario il TCP, tramite i meccanismi di acknowledgement e di ritrasmissione su timeout, riesce a garantire la consegna dei dati, anche se al costo di un maggiore [[Overhead#Reti di calcolatori|overhead]] (raffrontabile visivamente confrontando la dimensione delle intestazioni dei due protocolli); TCP riesce altresì a riordinare i segmenti in arrivo presso il destinatario attraverso un campo del suo header: il sequence number;
* l'oggetto della comunicazione di TCP è un ''flusso di byte,'' mentre quello di UDP sono ''singoli datagrammi''.
 
L'utilizzo del protocollo TCP rispetto a [[User Datagram Protocol|UDP]] è, in generale, preferito quando è necessario avere garanzie sulla consegna dei dati o sull'ordine di arrivo dei vari segmenti (come per esempio nel caso di trasferimenti di file).
Al contrario UDP viene principalmente usato quando l'interazione tra i due host è [[idempotente]] o nel caso si abbiano forti vincoli sulla velocità e l'economia di risorse della rete (es. [[streaming]] in tempo reale, videogiochi multiplayer).
 
== Connessione ==