Comment tester une connexion de port TCP/IP ?
Grâce au modèle TCP/IP, nous pouvons envoyer des messages à nos proches et communiquer avec des personnes sur internet. Les données que nous envoyons sur internet doivent être exactes et parvenir à la personne visée à temps et intactes. Cela est possible grâce au modèle TCP/IP, dans lequel les données sont d'abord décomposées en paquets et envoyées sur internet. Une fois qu'elles ont atteint leur cible, elles sont réassemblées et envoyées au client. Dans cet article, je vais expliquer comment construire une connexion TCP/IP simple. Ensuite, nous la testerons en utilisant le module de test intégré de Python, unit test, et le framework de test Python appelé pytest.
Qu'est-ce qu'une connexion TCP/IP ?
Le protocole de contrôle de transmission/protocole Internet est connu sous l'acronyme TCP/IP. Il s'agit d'un ensemble de directives et de procédures utilisées pour connecter des périphériques réseau sur Internet. Il s'agit d'un protocole de communication de données qui permet aux ordinateurs et aux périphériques d'envoyer et de recevoir des données.
Un client ou une machine (le client) reçoit une prestation (telle que l'envoi d'une page web) d'un autre ordinateur (un serveur) sur le réseau lorsqu'il utilise le modèle de communication TCP/client-serveur IP.
La suite de normes TCP/IP est classée comme étant sans état dans son ensemble, ce qui implique que chaque demande du client est considérée comme unique car elle n'a aucune incidence sur les demandes précédentes. Le fait d'être sans état libère les chemins du réseau, ce qui permet une utilisation continue.
Comment fonctionne une connexion TCP/IP ?
Nous allons commencer par parler de la manière d'envoyer un paquet sur un port TCP/IP.
1. La première étape consiste à établir une relation/connexion
Lorsque deux ordinateurs veulent envoyer des données par TCP, ils doivent d'abord établir une connexion avec une poignée de main à trois voies.
Le bit SYN est réglé sur (SYN = "synchroniser ?") lorsque le premier ordinateur transmet un paquet. Le deuxième ordinateur répond en envoyant un message avec le bit ACK réglé sur (ACK = "acknowledge !"). Le premier ordinateur répond par un ACK.
En fait, les trois paquets qui constituent la poignée de main à trois voies ne contiennent souvent aucune donnée. Les ordinateurs sont prêts à recevoir des paquets contenant des données réelles une fois la poignée de main terminée.
Recommandé par LinkedIn
2. Dans l'étape suivante, nous envoyons des paquets de données
Le destinataire doit toujours accuser réception d'un paquet de données envoyé par TCP. Le premier ordinateur délivre un paquet contenant des données et un numéro de séquence. Afin d'en accuser réception, le second ordinateur active le bit ACK et augmente le numéro d'accusé de réception de la taille des données qu'il a reçues.
Les numéros de séquence et d'accusé de réception sont contenus dans l'en-tête TCP, comme indiqué ci-dessous :
Lorsque le bit ACK est à 1, il indique que le numéro d'accusé de réception contenu dans l'en-tête TCP est valide.
Grâce à ces deux numéros (le numéro de séquence et le numéro d'accusé de réception), les ordinateurs peuvent savoir quelles données ont été reçues avec succès, quelles données ont été supprimées et quelles données ont été envoyées deux fois par inadvertance.
3. Nous déconnectons ensuite la connexion
Pour cesser d'envoyer ou de recevoir des données, chaque ordinateur peut interrompre la connexion.
En transmettant un paquet avec le bit FIN à 1 (FIN = fin), un ordinateur peut commencer le processus de coupure de la connexion. La réponse de l'autre ordinateur est un ACK et un autre FIN. Après un autre ACK de l'ordinateur initiateur, la connexion est fermée.
Comment construire le côté serveur ?
Lisez l'article en intégralité sur le blog d'Agilitest. Un article par Sarima C.