TCP (Transmission Control Protocol) est un protocole de transmission qui garantit la transmission des données de manière ordonnée et sécurisée. Il envoie et reçoit les paquets de données dans le même ordre. TCP est un quatre couches protocole par rapport à OSI (Open System Interconnection Model), qui est un sept couches processus de transmission. Il est recommandé de transmettre des données à partir de protocoles de haut niveau en raison de leur intégrité et de leur sécurité entre le serveur et le client.
TCP a besoin d'une négociation à 4 voies pour sa terminaison. Pour établir une connexion, TCP a besoin d’une négociation à trois. Nous allons donc discuter ici du processus détaillé de TCP pour construire un Poignée de main à 3 pour la connexion et un Poignée de main à 4 voies pour sa terminaison . Ici, nous discuterons des points suivants :
Qu’est-ce que TCP ?
Couches de TCP
Connexion TCP (une poignée de main à 3 voies)
Terminaison TCP (une poignée de main à 4 voies)
Commençons.
Qu’est-ce que TCP ?
TCP est un protocole orienté connexion, ce qui signifie qu'il établit d'abord la connexion entre l'expéditeur et le destinataire sous la forme d'un poignée de main . Une fois les deux connexions vérifiées, la transmission des paquets commence. Cela rend le processus de transmission sans erreur et garantit la livraison des données. Il s'agit d'une partie importante des protocoles de communication utilisés pour interconnecter les appareils réseau sur Internet. L’ensemble du système Internet repose sur ce réseau.
c'est en python
TCP est l'un des protocoles les plus courants qui garantissent de bout en bout livraison. Il garantit la sécurité et l’intégrité des données transmises. Il établit toujours une connexion sécurisée entre l’expéditeur et le destinataire. L'émetteur est le serveur , et le récepteur est connu sous le nom de client . On peut également dire que la transmission des données s'effectue entre le serveur et le client. Par conséquent, TCP est utilisé dans la plupart des protocoles de haut niveau, tels que FTP (Protocole de transfer de fichier) , HTTP (Protocole de transfert hypertexte) , et SMTP (Protocole de transfert simple Mai) .
Couches de TCP
Les données sont ensuite divisées en paquets, attribuées à l'adresse, transmises, acheminées et reçues à destination. Le processus de transmission comprend quatre couches : la couche application, la couche transport, la couche Internet et la couche liaison de données. Le couche d'application remplit une fonction similaire aux trois couches supérieures (application, présentation et session) du Modèle OSI et contrôler les spécifications de l’interface utilisateur. L'utilisateur interagit avec la couche application du modèle TCP, comme les systèmes de messagerie et de courrier électronique. Le couche de transport fournit une connexion de données fiable et sans erreur. Il divise les données reçues de la couche application en paquets, ce qui contribue à créer une séquence ordonnée. Le couche Internet contrôle le routage du paquet et assure la livraison d'un paquet à destination. La couche liaison de données remplit une fonction similaire aux deux couches inférieures (liaison de données et physique) du modèle OSI. Il est responsable de la transmission des données entre les applications ou les appareils du réseau.
Avant de procéder vers la terminaison TCP, il est essentiel de comprendre le concept de connexion TCP. Cela nous aidera à mieux comprendre le processus de résiliation.
Connexion TCP (une poignée de main à 3 voies)
La poignée de main fait référence au processus permettant d'établir une connexion entre le client et le serveur. La poignée de main est simplement définie comme le processus permettant d'établir un lien de communication. Pour transmettre un paquet, TCP a besoin d'une négociation à trois avant de commencer à envoyer des données. La communication fiable dans TCP est appelée À PROPOS (Retransmission d'accusé de réception positif). Lorsqu'un expéditeur envoie les données au destinataire, il nécessite un accusé de réception positif de la part du destinataire confirmant l'arrivée des données. Si l'accusé de réception n'est pas parvenu à l'expéditeur, celui-ci doit renvoyer ces données. L'accusé de réception positif du récepteur établit une connexion réussie.
Ici, le serveur est le serveur et le client est le récepteur. Le diagramme ci-dessus montre 3 étapes pour une connexion réussie. Une prise de contact à trois est communément appelée SYN-SYN-ACK et nécessite à la fois la réponse du client et celle du serveur pour échanger les données. SYN signifie synchroniser le numéro de séquence et ACK signifie reconnaissance . Chaque étape est une sorte de poignée de main entre l’expéditeur et le destinataire.
qu'est-ce que le haut-parleur
Le diagramme d'une connexion TCP réussie montrant les trois poignées de main est présenté ci-dessous :
Les trois poignées de main sont abordées dans les étapes ci-dessous :
Étape 1 : SYNCHRONISATION
SYN est un segment envoyé par le client au serveur. Il agit comme un demande de connexion entre le client et le serveur. Il informe le serveur que le client souhaite établir une connexion. La synchronisation des numéros de séquence permet également de synchroniser les numéros de séquence envoyés entre deux appareils quelconques, où le même segment SYN demande le numéro de séquence avec la demande de connexion.
Étape 2 : SYN-ACK
Il s'agit d'un segment SYN-ACK ou d'un segment SYN + ACK envoyé par le serveur. Le segment ACK informe le client que le serveur a reçu la demande de connexion et qu'il est prêt à établir la connexion. Le segment SYN renseigne le numéro de séquence avec lequel le serveur est prêt à démarrer les segments.
Étape 3 : ACCK
ACK (Acknowledgement) est la dernière étape avant d'établir une connexion TCP réussie entre le client et le serveur. Le segment ACK est envoyé par le client en réponse à l'ACK et au SN reçus du serveur. Il en résulte l’établissement d’une connexion de données fiable.
Après ces trois étapes, le client et le serveur sont prêts pour le processus de communication des données. La connexion et la terminaison TCP sont en duplex intégral, ce qui signifie que les données peuvent voyager simultanément dans les deux sens.
Terminaison TCP (une poignée de main à 4 voies)
Tout appareil établit une connexion avant de procéder à la résiliation. TCP nécessite une négociation à trois voies pour établir une connexion entre le client et le serveur avant d'envoyer les données. De même, pour terminer ou arrêter la transmission de données, une négociation à 4 voies est nécessaire. Les segments requis pour la terminaison TCP sont similaires aux segments permettant d'établir une connexion TCP (ACK et SYN), à l'exception du segment FIN. Le segment FIN spécifie une demande de terminaison envoyée par un appareil à l'autre.
Le client est l'émetteur de données et le serveur est un récepteur dans un processus de transmission de données entre l'expéditeur et le destinataire. Considérez le diagramme de terminaison TCP ci-dessous qui montre l'échange de segments entre le client et le serveur.
Le diagramme d'une terminaison TCP réussie montrant les quatre poignées de main est présenté ci-dessous :
Discutons du processus de terminaison TCP à l'aide de six étapes qui incluent les requêtes envoyées et les états d'attente. Les étapes sont les suivantes:
Étape 1 : FIN
FIN fait référence au demande de résiliation envoyé par le client au serveur. La première demande de terminaison FIN est envoyée par le client au serveur. Il représente le début du processus de terminaison entre le client et le serveur.
Étape 2 : FIN_ACK_WAIT
Le client attend l'ACK de la demande de terminaison FIN du serveur. C'est un état d'attente pour le client.
comment supprimer une colonne dans postgresql
Étape 3 : ACCK
Le serveur envoie le segment ACK (Acknowledgement) lorsqu'il reçoit la demande de terminaison FIN. Il indique que le serveur est prêt à fermer et à mettre fin à la connexion.
Étape 4 : FIN _WAIT_2
Le client attend le segment FIN du serveur. Il s'agit d'un type de signal approuvé envoyé par le serveur qui montre que le serveur est prêt à mettre fin à la connexion.
Étape 5 : FIN
Le segment FIN est désormais envoyé par le serveur au client. C'est un signal de confirmation que le serveur envoie au client. Il représente l’approbation réussie de la résiliation.
Étape 6 : ACCK
Le client envoie maintenant le segment ACK (Acknowledgement) au serveur indiquant qu'il a reçu le signal FIN, qui est un signal du serveur pour mettre fin à la connexion. Dès que le serveur reçoit le segment ACK, il met fin à la connexion.