recherche
MaisonOpération et maintenanceexploitation et maintenance LinuxComprendre le principe de transmission fiable de TCP dans un article

La couche IP sous TCP est une livraison au mieux et n'est pas fiable, donc TCP doit effectuer lui-même une transmission fiable. Ensuite, nous commençons par un simple protocole d’arrêt et d’attente pour expliquer comment mettre en œuvre une transmission fiable. Nous devons prêter attention à plusieurs caractéristiques d’une transmission fiable : pas de perte, pas de duplication et arrivée dans l’ordre.

Notez que TCP n'utilise pas le protocole stop-and-wait pour obtenir une transmission fiable.

Stop Waiting Protocol

L'unité de transmission de données de la couche de transport est appelée un segment. Ci-dessous, pour plus de commodité, ils sont tous appelés groupes.

Le principe du protocole stop-and-wait est très simple. Après l'envoi d'un paquet, il arrête l'envoi, attend la confirmation du paquet précédent, puis continue d'envoyer les paquets suivants.

Ce qui suit est analysé à travers plusieurs situations différentes :

Aucune situation d'erreur

La situation sans erreur est très simple , comme indiqué ci-dessous. Après l'envoi de chaque paquet, il arrête l'envoi et attend la confirmation du paquet avant de continuer à envoyer les paquets suivants.

Comprendre le principe de transmission fiable de TCP dans un article

Une erreur se produit

Il existe deux situations dans lesquelles une erreur se produit. La première est que le. Le paquet envoyé n'est pas envoyé. La livraison réussit à l'adresse de destination. Une autre situation est qu'il y a une erreur dans le paquet de données transmis. A travers l'illustration, analysons les deux situations

Comprendre le principe de transmission fiable de TCP dans un article

Comprendre le principe de transmission fiable de TCP dans un article

Regardons d'abord le fonctionnement de B : A envoie le paquet M1 Si le. Si le paquet est erroné, B rejettera le paquet après l'avoir reçu, puis ne fera rien (A ne sera pas averti qu'il a reçu le mauvais paquet). Si B ne reçoit pas le paquet M1, alors il ne sait rien et ne prendra aucune mesure.

Voyons ce que A fait ensuite : après que A envoie le paquet, mais ne parvient pas à recevoir la confirmation de B du paquet M1, lorsque le délai d'attente expire, le paquet M1 doit être renvoyé. Pour implémenter la retransmission avec délai d'attente, vous devez définir un délai d'attente. Lorsqu'un paquet envoyé est confirmé avant le délai d'expiration, le délai d'attente est réinitialisé, sinon le paquet doit être retransmis.

Il y a plusieurs points à noter :

  • A Après l'envoi d'un paquet, vous devez également enregistrer une copie du paquet afin d'expirer et de retransmettre. Lorsqu'un accusé de réception pour ce paquet est reçu, la copie du paquet peut être rejetée.

  • Vous devez numéroter chaque groupe afin de pouvoir connaître le statut d'arrivée de chaque groupe.

  • Le délai d'attente doit être réglé légèrement plus long que le temps de transmission moyen pour éviter les retransmissions inutiles.

Perte de confirmation et confirmation tardive

En plus des erreurs lors de la transmission des paquets, lorsque la confirmation est renvoyée, des erreurs cela se produira également - confirmations perdues et confirmations tardives.

Comprendre le principe de transmission fiable de TCP dans un article

Regardez d'abord la situation de perte de confirmation. Le paquet B de A l'a reçu et a envoyé une confirmation à A, mais la confirmation a été perdue et A ne l'a pas reçue. Parce que A n'a pas reçu la confirmation de M1, il retransmettra M1 à B après avoir attendu plus que le délai d'attente. A ce moment, B reçoit le paquet en double M1 et doit effectuer deux opérations :

  • Rejeter le paquet en double M1

  • Envoyer M1 à A confirmation. Car puisque A a retransmis M1, cela veut dire que A n’a pas reçu le paquet de M1. B doit donc continuer à envoyer des confirmations à M1.

Comprendre le principe de transmission fiable de TCP dans un article

En regardant une autre situation, la confirmation de groupe pour M1 est en retard (reçue après le délai mort). Après avoir reçu la confirmation en double, A la supprimera et ne fera rien d’autre.

Grâce au mécanisme de retransmission avec délai d'attente ci-dessus, une transmission fiable peut être obtenue sur une transmission réseau peu fiable.

Utilisation des canaux

Le protocole d'arrêt et d'attente ci-dessus est simple, mais il présente un très gros inconvénient : l'utilisation des canaux l'est également faible . Pendant le temps d'attente de la confirmation, la chaîne est complètement inactive, ce qui représente un gaspillage considérable.

Comprendre le principe de transmission fiable de TCP dans un article

Afin d'améliorer l'utilisation des canaux, la transmission par pipeline peut être utilisée. La transmission par pipeline peut envoyer en continu plusieurs paquets, ce qui peut considérablement améliorer l'utilisation des canaux.

Comprendre le principe de transmission fiable de TCP dans un article

Les protocoles qui utilisent la transmission par pipeline incluent le Protocole ARQ continu et le Protocole coulissant de fenêtre. TCP utilise le protocole de fenêtre glissante pour effectuer une transmission fiable.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Opérations Linux: gestion des fichiers, répertoires et autorisationsOpérations Linux: gestion des fichiers, répertoires et autorisationsApr 23, 2025 am 12:19 AM

Dans Linux, la gestion des fichiers et des répertoires utilise des commandes LS, CD, MKDIR, RM, CP, MV et la gestion des autorisations utilise des commandes ChMOD, CHOWN et CHGRP. 1. Commandes de gestion des fichiers et des répertoires telles que LS-L Liste des informations détaillées, MKDIR-P créent des répertoires récursivement. 2. Commandes de gestion de l'autorisation telles que ChMOD755FILE SET Fichier Autorisations, ChownuserFile modifie le propriétaire du fichier et ChgrpGroupFile modifie le groupe de fichiers. Ces commandes sont basées sur la structure des systèmes de fichiers et les systèmes utilisateur et de groupe, et fonctionnent et contrôlent via les appels système et les métadonnées.

Qu'est-ce que le mode de maintenance dans Linux? ExpliquéQu'est-ce que le mode de maintenance dans Linux? ExpliquéApr 22, 2025 am 12:06 AM

MaintenanceModeinLinuxisasaspecialBooTenvironmentForCriticalSystemMaintenancetasks.itallowsAdministratorStoperformtasksLikeSettingPasswords, RepairingFilesystems, andrecoveringfrombootfailesinaminimalenvironment.

Linux: une plongée profonde dans ses parties fondamentalesLinux: une plongée profonde dans ses parties fondamentalesApr 21, 2025 am 12:03 AM

Les composants principaux de Linux incluent le noyau, le système de fichiers, le shell, l'espace utilisateur et le noyau, les pilotes de périphériques et l'optimisation des performances et les meilleures pratiques. 1) Le noyau est le cœur du système, gérant le matériel, la mémoire et les processus. 2) Le système de fichiers organise des données et prend en charge plusieurs types tels que Ext4, BTRFS et XFS. 3) Shell est le centre de commande pour les utilisateurs pour interagir avec le système et prend en charge les scripts. 4) Séparez l'espace utilisateur de l'espace du noyau pour assurer la stabilité du système. 5) Le pilote de périphérique connecte le matériel au système d'exploitation. 6) L'optimisation des performances comprend la configuration du système de réglage et les meilleures pratiques suivantes.

Architecture Linux: dévoiler les 5 composants de baseArchitecture Linux: dévoiler les 5 composants de baseApr 20, 2025 am 12:04 AM

Les cinq composants de base du système Linux sont: 1. Kernel, 2. Bibliothèque système, 3. Utilitaires système, 4. Interface utilisateur graphique, 5. Applications. Le noyau gère les ressources matérielles, la bibliothèque système fournit des fonctions précompilées, les utilitaires système sont utilisés pour la gestion du système, l'interaction GUI fournit une interaction visuelle et les applications utilisent ces composants pour implémenter des fonctions.

Opérations Linux: Utilisation du mode de maintenanceOpérations Linux: Utilisation du mode de maintenanceApr 19, 2025 am 12:08 AM

Le mode de maintenance Linux peut être entré via le menu Grub. Les étapes spécifiques sont: 1) Sélectionnez le noyau dans le menu Grub et appuyez sur «E» pour modifier, 2) Ajouter «unique» ou «1» à la fin de la ligne «Linux», 3) Appuyez sur Ctrl x pour démarrer. Le mode de maintenance fournit un environnement sécurisé pour les tâches telles que la réparation du système, la réinitialisation du mot de passe et la mise à niveau du système.

Linux: comment entrer le mode de récupération (et la maintenance)Linux: comment entrer le mode de récupération (et la maintenance)Apr 18, 2025 am 12:05 AM

Les étapes pour entrer le mode de récupération Linux sont: 1. Redémarrez le système et appuyez sur la touche spécifique pour entrer dans le menu GRUB; 2. Sélectionnez l'option avec (RecoveryMode); 3. Sélectionnez l'opération dans le menu Mode de récupération, tel que FSCK ou Root. Le mode de récupération vous permet de démarrer le système en mode utilisateur unique, d'effectuer des vérifications et des réparations du système de fichiers, modifier les fichiers de configuration et d'autres opérations pour aider à résoudre les problèmes système.

Composants essentiels de Linux: expliqués pour les débutantsComposants essentiels de Linux: expliqués pour les débutantsApr 17, 2025 am 12:08 AM

Les composants principaux de Linux incluent le noyau, le système de fichiers, le shell et les outils communs. 1. Le noyau gère les ressources matérielles et fournit des services de base. 2. Le système de fichiers organise et stocke les données. 3. Shell est l'interface permettant aux utilisateurs d'interagir avec le système. 4. Les outils courants aident à effectuer des tâches quotidiennes.

Linux: un regard sur sa structure fondamentaleLinux: un regard sur sa structure fondamentaleApr 16, 2025 am 12:01 AM

La structure de base de Linux comprend le noyau, le système de fichiers et le shell. 1) Ressources matérielles de gestion du noyau et utiliser uname-R pour afficher la version. 2) Le système de fichiers EXT4 prend en charge les fichiers volumineux et les journaux et est créé à l'aide de MKFS.EXT4. 3) Shell fournit une interaction de ligne de commande telle que Bash et répertorie les fichiers à l'aide de LS-L.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Navigateur d'examen sécurisé

Navigateur d'examen sécurisé

Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.