TCP sta per Protocollo di controllo della trasmissione . È un protocollo del livello di trasporto che facilita la trasmissione dei pacchetti dalla sorgente alla destinazione. È un protocollo orientato alla connessione, il che significa che stabilisce la connessione prima della comunicazione che avviene tra i dispositivi informatici in una rete. Questo protocollo viene utilizzato con un protocollo IP, quindi insieme vengono indicati come TCP/IP.
La funzionalità principale del TCP è prendere i dati dal livello dell'applicazione. Quindi divide i dati in diversi pacchetti, fornisce la numerazione a questi pacchetti e infine li trasmette alla destinazione. Il TCP, d'altro canto, riassemblerà i pacchetti e li trasmetterà al livello dell'applicazione. Poiché sappiamo che TCP è un protocollo orientato alla connessione, la connessione rimarrà stabilita finché la comunicazione tra mittente e destinatario non sarà completata.
arraylist.sort
Caratteristiche del protocollo TCP
Di seguito sono riportate le caratteristiche di un protocollo TCP:
TCP è un protocollo del livello di trasporto poiché viene utilizzato per trasmettere i dati dal mittente al destinatario.
TCP è un protocollo affidabile poiché segue il meccanismo di controllo del flusso e degli errori. Supporta anche il meccanismo di riconoscimento, che controlla lo stato e l'arrivo del suono dei dati. Nel meccanismo di riconoscimento, il destinatario invia una conferma positiva o negativa al mittente in modo che il mittente possa sapere se il pacchetto di dati è stato ricevuto o deve essere inviato nuovamente.
Questo protocollo garantisce che i dati raggiungano il destinatario previsto nello stesso ordine in cui vengono inviati. Ordina e numera ciascun segmento in modo che il livello TCP sul lato di destinazione possa riassemblarli in base al loro ordinamento.
Si tratta di un servizio orientato alla connessione, ovvero lo scambio di dati avviene solo dopo la creazione della connessione. Una volta completato il trasferimento dei dati, la connessione verrà interrotta.
È full-duplex significa che i dati possono essere trasferiti in entrambe le direzioni contemporaneamente.
TCP è un protocollo orientato al flusso in quanto consente al mittente di inviare i dati sotto forma di un flusso di byte e consente anche al destinatario di accettare i dati sotto forma di un flusso di byte. TCP crea un ambiente in cui sia il mittente che il destinatario sono collegati da un tubo immaginario noto come circuito virtuale. Questo circuito virtuale trasporta il flusso di byte attraverso Internet.
convertire l'array di byte in stringa
Necessità di un protocollo di controllo dei trasporti
Nell'architettura a strati di un modello di rete, l'intero compito è suddiviso in compiti più piccoli. Ogni attività è assegnata a un livello particolare che elabora l'attività. Nel Modello TCP/IP , cinque livelli sono livello di applicazione, livello di trasporto, livello di rete , livello di collegamento dati e livello fisico. Il livello di trasporto ha un ruolo fondamentale nel fornire la comunicazione end-to-end ai processi applicativi diretti. Crea 65.000 porte in modo che sia possibile accedere a più applicazioni contemporaneamente. Prende i dati dallo strato superiore, li divide in pacchetti più piccoli e poi li trasmette allo strato di rete.
Funzionamento del TCP
In TCP, la connessione viene stabilita utilizzando l'handshaking a tre vie. Il client invia il segmento con il relativo numero di sequenza. Il server, in cambio, invia il suo segmento con il proprio numero di sequenza oltre alla sequenza di riconoscimento, che è una in più rispetto al numero di sequenza del client. Quando il client riceve la conferma del suo segmento, invia la conferma al server. In questo modo viene stabilita la connessione tra il client e il server.
Vantaggi del TCP
- Fornisce un servizio affidabile orientato alla connessione, il che significa che garantisce la consegna dei pacchetti di dati. Se il pacchetto di dati viene perso attraverso la rete, il TCP invierà nuovamente i pacchetti persi.
- Fornisce un meccanismo di controllo del flusso utilizzando un protocollo a finestra scorrevole.
- Fornisce il rilevamento degli errori utilizzando il checksum e il controllo degli errori utilizzando il protocollo Go Back o ARP.
- Elimina la congestione utilizzando un algoritmo per evitare la congestione della rete che include vari schemi come l'aumento/diminuzione moltiplicativa additiva (AIMD), l'avvio lento e la finestra di congestione.
Svantaggio del TCP
Aumenta notevolmente il sovraccarico poiché ogni segmento ottiene la propria intestazione TCP, quindi la frammentazione da parte del router aumenta il sovraccarico.
Formato dell'intestazione TCP
Esistono sei bit o flag di controllo:
È un campo a 16 bit. Contiene la dimensione dei dati che il destinatario può accettare. Questo campo viene utilizzato per il controllo del flusso tra mittente e destinatario e determina anche la quantità di buffer allocato dal destinatario per un segmento. Il valore di questo campo è determinato dal ricevitore.
È un campo a 16 bit. Questo campo è facoltativo in UDP, ma nel caso di TCP/IP è obbligatorio.
È un puntatore che punta al byte di dati urgenti se il flag URG è impostato su 1. Definisce un valore che verrà aggiunto al numero di sequenza per ottenere il numero di sequenza dell'ultimo byte urgente.
Fornisce opzioni aggiuntive. Il campo opzionale è rappresentato a 32 bit. Se questo campo contiene dati inferiori a 32 bit, è necessario il riempimento per ottenere i bit rimanenti.