top of page
PROTOCOLLO TCP
Il protocollo TCP è un protocollo punto a punto, cioè orientato alla connessione tra due host (client/server). La connessione avviene mediante un handshaking (consiste nella trasmissione dei pacchetti necessari per regolare i parametri di connessione.). TCP suddivide i dati dell'utente in segmenti di non più di 64KB e li incapsula in datagrammi IP. I segmenti sono organizzati in due sezioni:
-
un'intestazione standard di 20byte ;
-
un playload di dimensione variabile (max 64KB).
Un servizio di trasferimento si dice affidabile se:
-
i messaggi trasmessi giungono senza errori;
-
i messaggi trasmessi è consegnato una sola volta;
-
i messaggi trasmessi sono nello stesso ordine in cui sono stati trasmessi.
-
RTT (round trip time) il tempo di andata e ritorno tra mittente e ricevente.
-
RTO (retransmission time out) il massimo intervallo di tempo di andata e ritorno tra mittente e ricevente, dopodichè si considera il segmento perso.
-
ACK (segnale di ricezione) Per rendere affidabile un canale è necessario che venga effettuata la rivelazione degli errori in ricezione e quindi avvenga la ritrasmissione dei segmenti persi.
Perciò per rendere una trasmissione affidabile vengono effettuate le seguenti operazioni:
-
numerazione dei segmenti persi;
-
temporizzazione della trasmissione: per ciascun segmento inviato, TCP avvia un timer detto timer di ritrasmissione (RTO);
-
Finestra di trasmissione e ricezione (viene utilizzata per scoprire i segmenti che devono essere ritrasmessi).
Tutto questo viene gestita come una struttura a coda, utilizzando due variabili, che sono:
-
SENDBASE: il numero d'ordine del byte più vecchio tra quelli trasmessi ma non raggiunti destinazione;
-
NEXTSEQNUM: il numero d'ordine del prossimo byte che deve essere ancora trasmesso.
bottom of page