logo

Cos'è il protocollo di controllo della trasmissione (TCP)?

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:

    Protocollo del livello di trasporto

TCP è un protocollo del livello di trasporto poiché viene utilizzato per trasmettere i dati dal mittente al destinatario.

    Affidabile

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.

    L'ordine dei dati viene mantenuto

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.

    Orientato alla connessione

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.

    Duplex completo

È full-duplex significa che i dati possono essere trasferiti in entrambe le direzioni contemporaneamente.

    Orientato al flusso

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.

TCP

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.

TCP

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

TCP
    Porta di origine:Definisce la porta dell'applicazione, che sta inviando i dati. Quindi, questo campo contiene l'indirizzo della porta di origine, che è di 16 bit.Porto di destinazione:Definisce la porta dell'applicazione sul lato ricevente. Quindi, questo campo contiene l'indirizzo della porta di destinazione, che è di 16 bit.Sequenza di numeri:Questo campo contiene il numero progressivo di byte di dati in una particolare sessione.Numero di conferma:Quando è impostato il flag ACK, questo contiene il numero di sequenza successivo del byte di dati e funziona come un riconoscimento per i dati precedentemente ricevuti. Ad esempio, se il destinatario riceve il numero di segmento 'x', risponderà 'x+1' come numero di riconoscimento.HLEN:Specifica la lunghezza dell'intestazione indicata dalle parole da 4 byte nell'intestazione. La dimensione dell'intestazione è compresa tra 20 e 60 byte. Pertanto, il valore di questo campo sarà compreso tra 5 e 15.Riservato:È un campo a 4 bit riservato per uso futuro e, per impostazione predefinita, tutti sono impostati su zero.Bandiere
    Esistono sei bit o flag di controllo:
      URG:Rappresenta un indicatore urgente. Se è impostato, i dati vengono elaborati urgentemente.RISPOSTA:Se l'ACK è impostato su 0, significa che il pacchetto dati non contiene alcuna conferma.PSH:Se questo campo è impostato, richiede al dispositivo ricevente di inviare i dati all'applicazione ricevente senza memorizzarli nel buffer.RST:Se è impostato, richiede di riavviare una connessione.SIN:Viene utilizzato per stabilire una connessione tra gli host.FINE:Viene utilizzato per rilasciare una connessione e non avrà luogo alcun ulteriore scambio di dati.
    Dimensione della finestra
    È 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.Somma di controllo
    È un campo a 16 bit. Questo campo è facoltativo in UDP, ma nel caso di TCP/IP è obbligatorio.Puntatore urgente
    È 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.Opzioni
    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.