Concetti Chiave
- Il protocollo TCP è orientato alla connessione, richiedendo una connessione attiva tra trasmittente e ricevente.
- Garantisce un trasferimento affidabile dei dati attraverso riscontri positivi e gestione di un timer.
- Il ricevente invia un ACK (riscontro positivo) solo quando i dati arrivano senza errori.
- In caso di errori o pacchetti persi, il trasmittente ritrasmette i dati dopo un certo periodo di attesa.
- TCP non utilizza riscontri negativi (NAK), ma solo riscontri positivi (ACK) per confermare la ricezione.
Gestione del trasferimento dati in TCP
Il protocollo TCP (Transmission Control Protocol) è un protocollo di rete a pacchetto di livello di trasporto.
E' un protocollo orientato alla connessione quindi deve essere stabilita una connessione tra il trasmittente(chi invia il pacchetto) e il ricevente(chi riceve il pacchetto) che rimane attiva anche quando i dati non vengono scambiati e che viene chiusa quando non serve più.
Garantisce un trasferimento affidabile dei dati tramite l'uso di riscontri positivi e la gestione di un timer.
Se i pacchetti di dati arrivano senza errori al ricevente, allora viene inviato un riscontro positivo (ACK = 1).
Se invece i pacchetti di dati arrivano con errori, non viene inviata alcuna risposta e il trasmittente non ricevendo conferma dopo un pò di tempo li ritrasmette.
Il trasmittente non è in grado di sapere se i pacchetti che ha inviato sono arrivati errati o se semplicemente si sono persi, quindi lui si limita a rispedirli.
Il ricevente, controllando i numeri di sequenza, è in grado di capire e identificare i pacchetti persi o duplicati.
A differenza di altri protocolli (come ad esempio HDLC) TCP non ricorre all'utilizzo di NAK (Not Acknowledge = riscontro negativo) ma usa solo l'ACK (Acknowledge = riscontro positivo), usato insieme al timer.