Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Greenpeace
Le reti di computer: il protocollo TCP (1/2)
Scritto da Ciro Fiorillo il 01-12-2009 ore 11:24
Intel Cluster Studio XE
Il Transmission Control Protocol (TCP) è il primo protocollo del livello di trasporto dello stack ISO/OSI che introduciamo in questo tutorial sulle reti. Le sue caratteristiche sono illustrate nella RFC 793, di cui è disponibile anche una traduzione in italiano.

Il protocollo TCP è noto anche come TCP/IP, ma sarebbe meglio parlare di suite di protocolli, in quanto il protocollo TCP e il protocollo IP non costituiscono un'entità unica, e appartengono anche a due diversi livelli del modello ISO/OSI.

Il motivo della diffusione di tale denominazione è da ricondurre all'introduzione dei due protocolli prima che il modello ISO/OSI vedesse la luce, grazie al lavoro di Vinton Cerf e Bob Kahn all'interno del Defense Advanced Research Projects Agency (DARPA); ulteriori dettagli sulla storia del TCP/IP sono consultabili sul sito Living Internet.

Il protocollo TCP è orientato a fornire una connessione, che garantisce un canale di comunicazione affidabile fra una coppia di processi in esecuzione, ad esempio un server web e un browser, ai quali fornisce un canale su cui inviare e ricevere flussi di dati in modalità full-duplex. È compito del protocollo TCP provvedere alla gestione della comunicazione mediante il protocollo IP del livello rete, che fornisce il trasferimento e l'instradamento del pacchetto fino a destinazione.

Una delle caratteristiche salienti del protocollo TCP è la capacità di tenere traccia dei dati trasmessi per consentire la ritrasmissione di quelle informazioni, che non sono giunte correttamente a destinazione, ovviando in tal modo alle inaffidabilità proprie del protocollo IP; in questo senso è da intendere l'attributo affidabile usato in precedenza.

Per capire quando è necessario ritrasmettere un pacchetto di dati, il protocollo TCP utilizza un meccanismo di acknowledgment: se non giunge una risposta dalla destinazione entro un certo tempo limite, il pacchetto è considerato perso e viene ritrasmesso. La durata di tale tempo di attesa dipende da diverse condizioni: si va dai microsecondi tipici delle reti Ethernet, a un paio di secondi necessari per una trasmissione su rete internet, fino a qualche minuto se volessimo tentare una trasmissione con protocollo TCP dalla Terra a Marte, per esempio.

In tutte le moderne implementazioni del protocollo TCP, per valutare tale intervallo di tempo viene utilizzato un processo detto Round-Trip Time (RTT): il sistema esegue un monitoraggio del normale scambio di pacchetti, sulla base del quale può effettuare una stima del tempo necessario a considerare come non consegnato un pacchetto. Poiché il protocollo TCP è orientato alla connessione, prima di poter trasmettere dei dati è necessario stabilire una connessione fra origine e destinazione; nel protocollo sono dunque definite le funzionalità necessarie a stabilire tale connessione e a terminarla quando non più necessaria.
Precedente: Layout multicolonna con CSS3
Successiva: YouTube Direct, le API di Google per i video di YouTube
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.291 secondi.