


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.
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
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.
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.
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.
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.
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!

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.

MaintenanceModeinLinuxisasaspecialBooTenvironmentForCriticalSystemMaintenancetasks.itallowsAdministratorStoperformtasksLikeSettingPasswords, RepairingFilesystems, andrecoveringfrombootfailesinaminimalenvironment.

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.

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.

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.

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.

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.

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.


Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

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 !

Article chaud

Outils chauds

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

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
L'éditeur open source le plus populaire

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

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.