TCP (Transmission Control Protocol) è un protocollo di trasmissione che garantisce la trasmissione dei dati in modo ordinato e sicuro. Invia e riceve i pacchetti di dati nello stesso ordine. TCP è un quattro strati protocollo rispetto a OSI (Open System Interconnection Model), che è a sette strati processo di trasmissione. Si consiglia di trasmettere dati da protocolli di alto livello a causa della sua integrità e sicurezza tra server e client.
TCP necessita di un handshake a 4 vie per la sua terminazione. Per stabilire una connessione, TCP necessita di un handshake a 3 vie. Quindi, qui discuteremo il processo dettagliato di TCP per creare un file Stretta di mano a 3 vie per la connessione e a Handshake a 4 vie per la sua terminazione . Qui discuteremo di quanto segue:
Cos'è il TCP?
Strati di TCP
Connessione TCP (handshake a 3 vie)
Terminazione TCP (handshake a 4 vie)
Iniziamo.
coda di priorità Java
Cos'è il TCP?
TCP è un protocollo orientato alla connessione, ciò significa che stabilisce innanzitutto la connessione tra mittente e destinatario sotto forma di a stretta di mano . Dopo che entrambe le connessioni sono state verificate, inizia a trasmettere i pacchetti. Rende il processo di trasmissione privo di errori e garantisce la consegna dei dati. È una parte importante dei protocolli di comunicazione utilizzati per interconnettere i dispositivi di rete su Internet. L'intero sistema Internet si basa su questa rete.
TCP è uno dei protocolli più comuni che garantiscono da un capo all'altro consegna. Garantisce la sicurezza e l'integrità dei dati trasmessi. Stabilisce sempre una connessione sicura tra mittente e destinatario. Il trasmettitore è il server , e il ricevitore è noto come cliente . Possiamo anche dire che la trasmissione dei dati avviene tra server e client. Pertanto, TCP viene utilizzato nella maggior parte dei protocolli di alto livello, come FTP (File Transfer Protocol) , HTTP (Protocollo di trasferimento ipertesto) , E SMTP (Protocollo di trasferimento Mai semplice) .
Strati di TCP
I dati vengono quindi suddivisi in pacchetti, assegnati all'indirizzo, trasmessi, instradati e ricevuti a destinazione. Il processo di trasmissione comprende quattro livelli, livello di applicazione, livello di trasporto, livello Internet e livello di collegamento dati. IL livello di applicazione esegue la funzione simile ai tre livelli principali (applicazione, presentazione e sessione) del Modello OSI e controllare le specifiche dell'interfaccia utente. L'utente interagisce con il livello applicativo del modello TCP, come i sistemi di messaggistica e di posta elettronica. IL strato di trasporto fornisce una connessione dati affidabile e priva di errori. Divide i dati ricevuti dal livello dell'applicazione in pacchetti, il che aiuta a creare una sequenza ordinata. IL strato internet controlla l'instradamento del pacchetto e garantisce la consegna di un pacchetto a destinazione. Il livello di collegamento dati svolge la funzione simile ai due livelli inferiori (collegamento dati e fisico) del modello OSI. È responsabile della trasmissione dei dati tra le applicazioni o i dispositivi nella rete.
Prima di procedere verso la terminazione TCP è fondamentale comprendere il concetto di connessione TCP. Ci aiuterà a comprendere meglio il processo di risoluzione.
Connessione TCP (handshake a 3 vie)
L'handshake si riferisce al processo per stabilire una connessione tra il client e il server. La stretta di mano è semplicemente definita come il processo per stabilire un collegamento di comunicazione. Per trasmettere un pacchetto, TCP necessita di un handshake a tre vie prima di iniziare a inviare i dati. La comunicazione affidabile in TCP è definita come DI (Ritrasmissione del riconoscimento positivo). Quando un mittente invia i dati al destinatario, richiede una conferma positiva da parte del destinatario che confermi l'arrivo dei dati. Se la conferma non ha raggiunto il mittente, è necessario inviare nuovamente i dati. La conferma positiva da parte del ricevitore stabilisce una connessione riuscita.
string.valuedi Java
Qui, il server è il server e il client è il ricevitore. Il diagramma sopra mostra 3 passaggi per una connessione riuscita. Un handshake a 3 vie è comunemente noto come SYN-SYN-ACK e richiede sia la risposta del client che quella del server per scambiare i dati. SYN significa sincronizzare il numero di sequenza e ACK significa riconoscimento . Ogni passaggio è una sorta di stretta di mano tra il mittente e il destinatario.
Di seguito è mostrato il diagramma di una connessione TCP riuscita che mostra i tre handshake:
Le tre strette di mano vengono discusse nei passaggi seguenti:
Passaggio 1: SYN
SYN è un segmento inviato dal client al server. Agisce come a richiesta di connessione tra il client e il server. Informa il server che il client desidera stabilire una connessione. La sincronizzazione dei numeri di sequenza aiuta anche a sincronizzare i numeri di sequenza inviati tra due dispositivi qualsiasi, dove lo stesso segmento SYN richiede il numero di sequenza con la richiesta di connessione.
Passaggio 2: SYN-ACK
È un segmento SYN-ACK o un segmento SYN + ACK inviato dal server. Il segmento ACK informa il client che il server ha ricevuto la richiesta di connessione ed è pronto per costruire la connessione. Il segmento SYN informa il numero di sequenza con cui il server è pronto per iniziare con i segmenti.
Passaggio 3: ACK
ACK (Riconoscimento) è l'ultimo passaggio prima di stabilire una connessione TCP riuscita tra il client e il server. Il segmento ACK viene inviato dal client come risposta all'ACK e al SN ricevuti dal server. Il risultato è la creazione di una connessione dati affidabile.
dichiarazione del caso Java
Dopo questi tre passaggi, il client e il server sono pronti per il processo di comunicazione dei dati. La connessione e la terminazione TCP sono full-duplex, il che significa che i dati possono viaggiare contemporaneamente in entrambe le direzioni.
Terminazione TCP (handshake a 4 vie)
Qualsiasi dispositivo stabilisce una connessione prima di procedere con la terminazione. TCP richiede l'handshake a 3 vie per stabilire una connessione tra il client e il server prima di inviare i dati. Allo stesso modo, per terminare o interrompere la trasmissione dei dati, è necessario un handshake a 4 vie. I segmenti richiesti per la terminazione TCP sono simili ai segmenti per costruire una connessione TCP (ACK e SYN) ad eccezione del segmento FIN. Il segmento FIN specifica una richiesta di terminazione inviata da un dispositivo all'altro.
Il client è il trasmettitore dei dati e il server è il ricevitore in un processo di trasmissione dei dati tra mittente e destinatario. Considera il diagramma di terminazione TCP seguente che mostra lo scambio di segmenti tra client e server.
Di seguito è mostrato il diagramma di una terminazione TCP riuscita che mostra i quattro handshake:
Parliamo del processo di terminazione TCP con l'aiuto di sei passaggi che includono le richieste inviate e gli stati di attesa. I passi sono come segue:
Passaggio 1: FIN
FIN si riferisce a richiesta di cessazione inviato dal client al server. La prima richiesta di terminazione FIN viene inviata dal client al server. Rappresenta l'inizio del processo di terminazione tra client e server.
Passaggio 2: FIN_ACK_WAIT
Il client attende l'ACK della richiesta di terminazione FIN da parte del server. È un stato di attesa per il cliente.
matematica pow java
Passaggio 3: ACK
Il server invia il segmento ACK (Acknowledgement) quando riceve la richiesta di terminazione FIN. Indica che il server è pronto per chiudere e terminare la connessione.
Passaggio 4: FIN _WAIT_2
Il client attende il segmento FIN dal server. È un tipo di segnale approvato inviato dal server che mostra che il server è pronto a terminare la connessione.
Passaggio 5: FIN
Il segmento FIN viene ora inviato dal server al client. È un segnale di conferma che il server invia al client. Raffigura l'avvenuta approvazione della risoluzione.
Passaggio 6: ACK
Il client ora invia il segmento ACK (Acknowledgement) al server che ha ricevuto il segnale FIN, che è un segnale dal server per terminare la connessione. Non appena il server riceve il segmento ACK, termina la connessione.