Il protocollo TCP

Guzzo Antonio 02/07/09
Scarica PDF Stampa
Protocollo TCP
Il protocolloTCP (Transmission Control Protocol) è stato progettato per offrire un flusso di byte affidabile orientato alla connessione. Infatti permette la conversazione tra due peer entitities (utenti, applicazioni, dispositivi, reti o sistemi autonomi che agiscono sullo stesso livello della gerarchia) sul nodo mittente e destinatario come il T.L. (Transport Layer) nel modello OSI. Esso offre una connessione affidabile e connection oriented che permette ad un flusso di byte di essere consegnato senza errori ad un’altra macchina della internet, frammentandolo in pacchetti e riassemblandoli a destinazione. Gestisce anche il controllo del flusso. Risulta essere un protocollo affidabile, orientato alla connessione ed offre i seguenti servizi di base al livello applicativo (Application Layer) nel modello OSI.
1) segmentazione dei dati provenienti dagli strati più alti e realizzazioni di operazioni di tipo end-to-end;
2) trasporto dei segmenti da un’estremità all’altra;
3) controllo di flusso mediante meccanismi di sliding-windows ( );
4) robustezza mediante l’utilizzo di sequence numbers e acknowledgments.
Il protocollo TCP risulta essere a differenza del protocollo UDP orientato alla connessione, con un elevata affidabilità dei dati (controllo, ritrasmissione, ordinamento), una gestione del controllo di flusso ed una gestione della congestione.
TCP trasmette dati in segmenti, ciascuno costituito da un header ed un campo dati. Inoltre il protocollo TCP considera i dati da trasmettere come flusso di byte (a differenza di UDP che opera in termini di messaggi). TCP utilizza buffer in trasmissione e ricezione per la gestione dei dati e non invia necessariamente i dati appena li riceve dalla applicazione. Infatti per motivi di efficienza può tenere nei buffer i dati da inviare fino a che non ce ne siano abbastanza per evitare messaggi troppo piccoli. L’informazione sul numero di sequenza è quindi riferito al byte trasmesso, ed è utilizzato sia per l’acknowledge che per il riordinamento e la ritrasmissione. Il segmento TCP è costituito da un header di 20 byte (più campi opzionali, come in IP) seguito dal campo dati. La dimensione massima del segmento TCP deve stare nel campo dati di un pacchetto IP poichè il pacchetto IP ha lunghezza massima 65535 byte, con un header di 20 byte, il campo dati di TCP avrà valore massimo 65495 byte (ma in caso di utilizzo di intestazione estesa sarà meno).
Il protocollo TCP genera infine un altro protocollo definito TCP/IP in quanto risultante dalla combinazione di due protocolli :
1) IP
Opera a livello 3 del modello OSI (Network) e fornisce un meccanismo di besth path determination mediante un servizio best-effort senza connessione
2) TCP
Opera a livello 4 del modello OSI (Transport) gestisce il flusso dei dati in modo robusto mediante un servizio con connessione (connection-oriented). Una buona parte dei servizi oggi implementati risiede sulla combinazione dei due protocolli considerati. A livello Transport vi sono due tipi di servizio: uno connection oriented, l’altro connectionless. Il primo implica che per inviare un pacchetto dati prima è necessario stabilire una connessione; questo servizio utilizza il protocollo di trasporto TCP. Si veda il seguente grafico:
Struttura del pacchetto TCP
A livello Application vi sono un set di applicazioni, alcune standardizzate, altre no. Il modello Osi si presta a discussioni di tipo accademico e tecnico, il modello TCP/IP sebbene non sia uno standard è quello più diffuso. Della struttura TCP/IP quello che viene realmente utilizzato è il seguente schema: livello fisico, livello Data Link (generalmente l’architettura ethernet), il livello network (IP), il livello transport (TCP), l’application (internet, ftp, http… ) TCP e UDP utilizzano numeri di porte per comunicare con gli strati superiori.
Tali numeri vengono stabiliti da un’opportuna Authority (IANA, Internet Assigned Numbers Authority) che ha un range di assegnazione così definito:
1-1023 : applicazioni well-known
1024-65535 : numeri assegnati dinamicamente
a cura del Dottor Antonio Guzzo
Responsabile CED – Sistemi Informativi del Comune di Praia a Mare

Guzzo Antonio

Scrivi un commento

Accedi per poter inserire un commento