Le travail de contrôle du trafic sur la liaison entre deux nœuds adjacents est réalisé dans la « couche liaison » ; la fonction la plus fondamentale de la couche liaison de données est de fournir des services de transmission de données de base transparents et fiables aux utilisateurs de cette couche. liaison de données La couche chemin améliore la fonction de transmission des flux binaires d'origine de la couche physique, en transformant les éventuelles connexions physiques sujettes aux erreurs fournies par la couche physique en liaisons de données logiquement sans erreur, de sorte qu'elles apparaissent comme une ligne sans erreur vers le réseau couche.
L'environnement d'exploitation de ce tutoriel : système Windows 10, ordinateur DELL G3.
Cela se fait au niveau de la couche liaison
La fonction la plus basique de la couche liaison de données est de fournir des données transparentes et fiables aux utilisateurs de ce couche Services de base de transfert de données. La transparence signifie qu'il n'y a aucune restriction sur le contenu, le format et le codage des données transmises sur cette couche, et qu'il n'est pas nécessaire d'expliquer la signification de la structure de l'information. Une transmission fiable élimine les inquiétudes des utilisateurs concernant la perte d'informations, les interférences ; ordre incorrect. Ces situations peuvent se produire dans la couche physique et des codes de correction d'erreurs doivent être utilisés dans la couche liaison de données pour détecter et corriger les erreurs. La couche liaison de données améliore la fonction de transmission des flux binaires d'origine de la couche physique, en transformant les éventuelles connexions physiques sujettes aux erreurs fournies par la couche physique en liaisons de données logiquement sans erreur, de sorte qu'elles apparaissent comme une ligne sans erreur vers la couche réseau. .
Connaissances approfondies : contrôle de flux
Le contrôle des erreurs fait partie de la fonction de la couche de liaison de données, et une autre partie importante est le contrôle de flux. Le contrôle de flux consiste à contrôler le taux de transmission des caractères ou des trames sur une liaison afin que le récepteur dispose de suffisamment d'espace de stockage tampon pour accepter chaque caractère ou trame avant la réception. Par exemple, dans une liaison terminal-ordinateur orientée caractères, si l'ordinateur distant dessert de nombreux terminaux, il peut être temporairement surchargé car il ne peut pas transmettre tous les caractères à un débit prédéterminé pendant les heures de pointe. De même, dans un système de demande de retransmission automatique orienté trame, lorsque le nombre de trames à accuser réception augmente, la capacité de stockage tampon peut être dépassée, provoquant une surcharge.
XON/ et restrictions. D'une part, le système ne permet pas d'établir un espace tampon trop grand ; d'autre part, lorsque la vitesse est très inadaptée et que des fichiers volumineux sont transmis, l'espace tampon sera toujours insuffisant. La solution XON/XOFF est une méthode de contrôle de flux plus active et plus active. Dans le schéma XON/XOFF, une paire de caractères de contrôle est utilisée pour implémenter le contrôle de flux. XON utilise le caractère de contrôle DC1 dans le jeu de caractères ASCII, et XOFF utilise le caractère de contrôle DC3 dans le jeu de caractères ASCII. Lorsque le récepteur sur la chaîne de communication est surchargé, il envoie un caractère XOFF à l'expéditeur puis arrête temporairement d'envoyer des données. Une fois que le récepteur a traité les données dans la mémoire tampon et que la surcharge est restaurée, il envoie un caractère XON à l'expéditeur. , pour demander à l'expéditeur de reprendre l'envoi des données. Lors d'un processus de transmission de données, les cycles XOFF et XON peuvent être répétés plusieurs fois, mais ils sont transparents pour l'utilisateur. De nombreux progiciels de communication de données asynchrones prennent en charge le protocole XON/XOFF. Ce schéma peut également être utilisé par un ordinateur pour envoyer des caractères à une imprimante ou à un autre terminal, auquel cas le composant de contrôle de l'imprimante ou du terminal est utilisé pour contrôler le flux de caractères.
Mécanisme de fenêtre
Afin d'améliorer l'utilisation efficace de la chaîne. Comme mentionné dans la section précédente, l'expéditeur envoie en continu plusieurs trames sans attendre le retour de la trame de confirmation. Ce processus d'envoi est comme un pipeline continu, c'est pourquoi on l'appelle également technologie de pipeline. Étant donné que plusieurs trames pliées non accusées de réception peuvent être envoyées en continu, le numéro de trame peut être distingué à l'aide d'un nombre binaire à plusieurs chiffres. Étant donné que toute trame envoyée mais qui n'a pas été accusée de réception peut être erronée ou perdue et nécessiter une retransmission, ces trames doivent être conservées. Cela nécessite que l'expéditeur dispose d'un grand tampon d'envoi pour conserver les trames non acquittées qui peuvent nécessiter une retransmission. Cependant, la capacité du tampon est toujours limitée. Si le récepteur ne peut pas traiter les trames reçues au débit d'envoi de l'expéditeur, il peut quand même manquer de capacité en tampon et être temporairement surchargé. À cette fin, des mesures d'ajustement similaires au schéma RQ inactif peuvent être introduites. L'essence est de limiter le nombre de trames que l'expéditeur peut envoyer avant de recevoir une certaine trame. L'expéditeur ajuste ainsi le nombre de trames à conserver. dans la réédition. Ceci est réalisé en confirmant le nombre d’images. Si le récepteur n'a pas le temps de traiter la trame reçue, il arrête d'envoyer les informations d'accusé de réception. À ce moment, la réimpression de l'expéditeur augmente. Lorsque la limite de réémission est atteinte, aucune nouvelle trame ne sera envoyée jusqu'à ce que les informations d'accusé de réception soient à nouveau reçues. Afin de mettre en œuvre cette solution, il convient de fixer le nombre maximum de trames non acquittées dans la retransmission des trames non acquittées. Cette limite est appelée fenêtre de transmission du lien. Évidemment, si la fenêtre est définie sur 1, c'est-à-dire que la capacité tampon de l'expéditeur est égale à une trame, le schéma de contrôle de transmission reviendra au schéma RQ inactif. À ce moment, l'efficacité de la transmission est très faible, donc le. La limite de fenêtre doit être sélectionnée afin que le récepteur puisse la traiter ou l'accepter autant que possible. Toutes les trames reçues. Bien entendu, des facteurs tels que la longueur maximale de la trame, la capacité tampon disponible et le débit binaire de transmission doivent également être pris en compte lors du choix. Une réémission est une liste de numéros de séquence consécutifs correspondant aux trames que l'expéditeur a envoyées mais n'a pas encore accusé réception. Les numéros de séquence de ces trames ont une valeur maximale, qui est la limite de la fenêtre d'envoi. La fenêtre d'envoi fait référence aux limites de la file d'attente des numéros de trame qui ont été envoyés mais non encore confirmés par l'expéditeur. Les limites supérieure et inférieure sont appelées respectivement les bords supérieur et inférieur de la fenêtre d'envoi, ainsi que la distance entre eux. les bords supérieur et inférieur sont appelés la taille de la fenêtre. Le récepteur possède également une fenêtre de réception qui indique le numéro de séquence des trames pouvant être reçues. Les limites supérieure et inférieure de la fenêtre de réception glissent également avec le temps.
Chaque fois que l'expéditeur envoie une trame, le nombre de trames à accuser réception augmente de 1 ; de la même manière, chaque fois que l'expéditeur reçoit un message de confirmation, le nombre de trames à accuser réception diminue de 1. Lorsque la valeur du compte de retransmission, c'est-à-dire le nombre de trames à accuser réception, est égale à la fenêtre de transmission, l'envoi de nouvelles trames cesse. Généralement, le numéro de trame ne prend qu'un nombre binaire limité, et il cyclera à plusieurs reprises après une certaine période de temps. Si le numéro de trame est équipé d'un nombre binaire à 3 chiffres, le numéro de trame circulera entre 0 et 7. Lorsque le processus de transmission est en cours, la position de la fenêtre continue de glisser, c'est pourquoi on l'appelle également fenêtre coulissante (Slidding Window), ou simplement fenêtre coulissante.
Le processus de changement d'état de la fenêtre glissante peut être décrit comme suit (en supposant que la fenêtre d'envoi est 2 et la fenêtre de réception est 1).
Dans l'état initial, l'expéditeur n'envoie aucune trame et les bords avant et arrière de la fenêtre d'envoi sont égaux. La limite de la fenêtre de réception est 1, ce qui permet de recevoir la trame 0.
L'expéditeur a envoyé la trame n° 0. À ce moment, le port de transmission est ouvert (c'est-à-dire que le bord avant est augmenté de 1) et la fenêtre est alignée sur le n° 0, indiquant que la trame a été envoyée mais le message de retour de confirmation n'a pas encore été reçu. L'état de la fenêtre de réception est le même qu'auparavant, indiquant que la réception de 0 trame est autorisée.
L'expéditeur continue d'envoyer la trame n°1 avant de recevoir les informations de retour de confirmation de la trame 0. Le statut de la fenêtre d'envoi reste inchangé.
L'expéditeur a reçu la trame 0 et la fenêtre glisse d'un espace, indiquant qu'elle est prête à recevoir la trame n°1. Le statut de la fenêtre d'envoi reste inchangé.
L'expéditeur a reçu les informations de retour de confirmation de la trame n°0, et le bord arrière de la fenêtre d'envoi est incrémenté de 1, indiquant que la trame n°0 est supprimée de la republication, et l'état de la fenêtre de réception reste inchangé .
L'expéditeur continue d'envoyer 2 trames et le bord avant de la fenêtre d'envoi est augmenté de 1, indiquant que la trame 2 est également incluse dans la liste des confirmations en attente. Le statut de la fenêtre de réception
reste inchangé.
Le récepteur a reçu la trame n°1, et la fenêtre de réception glisse d'un espace, indiquant qu'elle est prête à recevoir la trame n°2. Le statut de la fenêtre d'envoi reste inchangé.
Lorsque l'expéditeur reçoit le message de confirmation du destinataire indiquant que la trame n°1 a été reçue, le bord arrière de la fenêtre d'envoi augmente de 1, indiquant que la première trame entrante n°1 est supprimée de la republication. L'état de la fenêtre de réception reste inchangé. De manière générale, toute trame arrivant dans une certaine plage, même si elle est hors séquence, doit être reçue par le récepteur. Si cette plage est considérée comme une fenêtre de réception, la taille de la fenêtre de réception doit être supérieure à 1, et Go-back-N est un cas particulier où la fenêtre de réception est égale à 1. La retransmission sélective peut également être considérée comme un protocole à fenêtre glissante, sauf que ses fenêtres d'envoi et de réception sont toutes deux supérieures à 1. Si l'on regarde uniformément les trois protocoles de ralenti RQ, Go-back-N et de retransmission sélective du point de vue des fenêtres glissantes, la différence entre eux réside dans la taille de leurs fenêtres respectives :
Idle RQ : fenêtre d'envoi = 1, fenêtre de réception = 1
Retour-N : fenêtre d'envoi>1, fenêtre de réception=1
Sélectionner renvoyer : fenêtre d'envoi>1, fenêtre de réception>1
Si le numéro de séquence de trame adopte un codage binaire à 3 chiffres, le numéro de séquence maximum est SMAX=2^3-1=7. Pour le mode de réception ordonné, la taille maximale de la fenêtre d'envoi est sélectionnée comme étant SMAX ; pour le mode de réception sans clôture, la taille maximale de la fenêtre d'envoi est au plus égale à la moitié de la plage de numéros de séquence. Le temporisateur qui gère le contrôle du délai d'attente doit être égal au nombre de tampons d'envoi, et non à la taille de l'espace des numéros de séquence. En fait, chaque tampon doit correspondre à un timer. Lorsque le timer expire, le contenu du buffer correspondant est retransmis. Le nombre de tampons qui doivent être définis par le récepteur doit être égal à la taille de la fenêtre de réception, et non à la taille de l'espace des numéros de séquence.
Pour plus de connaissances connexes, veuillez visiter la rubrique FAQ !
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!