Question

En regardant les normes de niveau de liaison de données, tels que le format de cadre général de PPP ou Ethernet , on ne sait pas ce qui se passe si la somme de contrôle est invalide. Comment le protocole sait où la trame suivante commence?

Est-il juste pour scanner l'occurrence suivante du « drapeau » (dans le cas des PPP)? Si oui, ce qui se passe si la charge utile du paquet se trouve juste à contenir lui-même « drapeau »? Mon point est que, que ce soit par paquets cadrage ou champs « longueur » sont utilisés, on ne sait pas comment récupérer des paquets invalides où le champ « longueur » pourrait être corrompue ou les octets « de cadrage » pourrait juste pour arriver à faire partie de la charge utile du paquet.

UPDATE : J'ai trouvé ce que je cherchais (ce qui est pas strictement ce que je leur ai demandé) en recherchant « l'encadrement basé CRC-GFP ». Selon Communication réseaux

  

Le récepteur de la GFP se synchronise sur la frontière de trame de la GFP par un procédé à trois états. Le récepteur est d'abord dans le Etat de chasse où il examine quatre octets à la fois pour voir si le CRC calculé sur les deux premiers octets est égal au contenu des deux octets. Si aucune correspondance est trouvée, la GFP se déplace vers l'avant par un octet en octet GFP suppose une transmission synchrone donnée par la couche physique. Lorsque le récepteur trouve une correspondance, il se déplace à la état pré-synchronisation . Dans cet état intermédiaire le récepteur utilise le champ de principe PLI (indicateur de longueur de charge utile) pour déterminer l'emplacement de la limite de trame suivante. Si un numéro de cible N de détection de trame succès a été atteint, puis le récepteur se déplace dans le état de synchronisation . L'état de synchronisation est l'état normal lorsque le récepteur examine chaque PLI, valide à l'aide de chec (vérification de noyau d'erreur d'en-tête), extrait la charge utile, et passe à la trame suivante.

En bref, chaque paquet commence par « longueur » et « CRC (longueur) ». Il n'y a pas besoin d'échapper à tous les caractères et la longueur du paquet est connu à l'avance.

Il semble y avoir deux grandes approches de cadrage de paquets:

  • schémas de codage (bit / octet farce, codage Manchester, 4B5B, 8b10b, etc)
  • données non modifié + somme de contrôle (GFP)

Le premier est plus sûr, celui-ci est plus efficace. Les deux sont sujettes à des erreurs si la charge utile se produit juste pour contenir une corruption paquet valide et la ligne provoque les octets pour contenir la précédentes séquence d'octets « début de trame », mais cela semble très improbable. Il est difficile de trouver des chiffres précis pour la robustesse de la GFP, mais beaucoup de protocoles modernes semblent l'utiliser si on peut supposer qu'ils savent ce qu'ils font.

Était-ce utile?

La solution

Vous êtes assez proche de la bonne réponse déjà. En gros, si elle commence par un préambule et se termine par quelque chose qui correspond à une somme de contrôle, il est un cadre et laissé passer aux couches supérieures.

PPP

et Ethernet à la fois rechercher le signal suivant de début de trame. Dans le cas d'Ethernet, il est le préambule, une séquence de 64 bits alternés. Si un décodeur Ethernet voit, il suppose simplement ce qui suit est un cadre. En capturant les bits, puis vérifier si la somme de contrôle correspond, elle décide si elle a une trame valide.

En ce qui concerne la charge utile contenant le drapeau, en PPP, il se réfugiera avec des octets supplémentaires pour empêcher une telle erreur d'interprétation.

Autres conseils

Les deux PPP et Ethernet ont des mécanismes pour l'encadrement - qui est, pour briser un flux de bits en trames, de telle sorte que si un récepteur perd la trace de ce qui est quoi, il peut ramasser au début de la trame suivante . Ceux-ci sont assis à droite en bas de la pile de protocoles; tous les autres détails du protocole sont construits sur l'idée de cadres. En particulier, le préambule, LCP, et FCS sont à un niveau supérieur, et sont pas utilisé pour contrôler le cadrage.

PPP, sur les liaisons série comme dialup, est encadrée en utilisant HDLC-like d'encadrement. Une valeur d'octet de 0x7E, appelée séquence de drapeau, indiquant le début de la trame. Le cadre se poursuit jusqu'à ce que le prochain octet de drapeau. Toute occurrence de l'octet de drapeau dans le contenu du cadre est échappé. Echapper à se fait par écrit 0x7D, connu sous le nom de l'octet d'échappement de commande, suivi de l'octet à échapper XOR avec 0x20. La séquence d'indicateur est échappé à 0x5E; l'évasion de contrôle lui-même doit également être échappé, à 0x5D. D'autres valeurs peuvent également être échappés si leur présence romprait le modem. Par conséquent, si un récepteur perd la synchronisation, il peut juste lire et jeter octets jusqu'à ce qu'il voit un 0x7e, auquel fait qu'il sait qu'il est au début d'un nouveau cadre. Le contenu du cadre sont ensuite structurés, contenant quelques petits champs impairs qui ne sont pas vraiment importants, mais sont conservés d'un protocole IBM plus tôt, en même temps que le paquet PPP (appelé une unité de données de protocole, PDU), ainsi que le contrôle de trame séquence (FCS).

Ethernet utilise une approche logique similaire, d'avoir des symboles qui sont reconnaissables comme marqueurs de début de trame et de fin plutôt que des données, mais plutôt que d'avoir des octets réservés plus un mécanisme d'échappement, il utilise un système de codage qui est capable d'exprimer des symboles de contrôle spéciaux qui sont distincts des octets de données - un peu comme utiliser la ponctuation pour briser une séquence de lettres. Les détails du système utilisé varient avec la vitesse.

Standard (10 Mb / s) Ethernet est codé en utilisant une chose appelée codage Manchester , dans où chaque bit à transmettre est représenté sous forme de deux niveaux successifs sur la ligne, de telle sorte qu'il y a toujours une transition entre les niveaux de chaque bit, ce qui permet au récepteur de rester synchronisée. limites du cadre sont indiqués en violant la règle de codage, ce qui conduit à l'existence d'un peu sans transition (i lu dans un livre il y a quelques années, mais ne peut pas trouver une citation en ligne - je peux me tromper à ce sujet). En effet, ce système étend le code binaire à trois symboles -. 0, 1 et violation

rapide (100 Mb / s) Ethernet utilise un autre schéma de codage, sur la base d'un le code 5B / 4b , où des groupes de quatre bits de données (quartets) sont représentés comme des groupes de cinq bits sur le fil, et transmises directement, sans régime de Manchester. L'expansion à cinq bits permet de seize modèles nécessaires utilisés être choisis pour répondre aux exigences des transitions de niveau fréquents, encore une fois pour aider le récepteur restent synchronisés. Cependant, il y a encore place à choisir des symboles supplémentaires, qui peuvent être transmises, mais ne correspondent pas à la valeur de données, en effet, étendre l'ensemble des quartets à vingt-quatre symboles - les quartets 0 à F, et les symboles appelés Q, je , J, K, T, R, S et H. Ethernet utilise une paire de JK pour marquer trame commence, et TR pour marquer les extrémités du cadre.

Ethernet Gigabit est similaire à Ethernet rapide, mais avec un schéma de codage différent - les versions de fibres optiques utilisent un 8b / 10b code au lieu du code 5b / 4b et la version paire torsadée utilise un arrangement de code quinary très complexe que je ne comprends pas vraiment. Les deux approches donnent le même résultat, qui est la capacité à transmettre soit des octets de données ou un d'un petit ensemble d'additional symboles spéciaux et les symboles spéciaux sont utilisés pour le cadrage.

En plus de cette structure d'encadrement de base, il y a alors un préambule fixe, suivi d'un délimiteur de trame, et des champs de contrôle de différents (bonjour futilité, LLC / SNAP!). La validité de ces champs peuvent être utilisés pour valider le cadre, mais ils ne peuvent pas être utilisés pour définir les cadres eux-mêmes.

Pour autant que je sache, PPP ne supporte que la détection d'erreur et ne supporte aucune forme de correction ou de récupération d'erreur.

Soutenu par Cisco ici: http: / /www.cisco.com/en/US/docs/internetworking/technology/handbook/PPP.html

section activation de la ligne PPP Wikipedia décrit les bases de la RFC 1661. Une séquence de contrôle de trame est utilisé pour détecter les erreurs de transmission dans une trame (décrit dans la section d'encapsulation plus tôt).

Le diagramme de la RFC 1661 sur cette page Wikipedia décrit comment la phase du protocole de réseau peut redémarrer avec Link Création d'une erreur.


En outre, les notes de la page Cisco visés par Suvesh.

  

PPP Protocole de liaison-Control

     

Le LCP PPP fournit un procédé pour établir, configurer, maintenir et mettre fin à la connexion point-à-point. LCP passe par quatre phases distinctes.

     

Tout d'abord, l'établissement de liens et la négociation de configuration se produisent. Avant toute datagrammes de la couche réseau (par exemple, IP) peut être échangé, premier LCP doit ouvrir la connexion et négocier les paramètres de configuration. Cette phase est terminée quand une trame de configuration d'accusé de réception a été envoyé et reçu à la fois.

     

Il est suivi par la détermination de la qualité de la liaison. LCP permet une phase de détermination de la qualité de la liaison en option suivant le lien-établissement et la phase de configuration négociation. Dans cette phase, le lien est testé pour déterminer si la qualité du lien est suffisant pour mettre en place des protocoles de couche réseau. Cette phase est facultative. LCP peuvent retarder la transmission des informations de protocole de couche de réseau jusqu'à ce que cette phase est terminée.

     

À ce stade, la négociation de configuration de protocole de couche de réseau se produit. Après LCP a terminé la phase de détermination de qualité de liaison, les protocoles de couche réseau peuvent être configurés séparément par le PCN approprié et peuvent être montés et démontés à tout moment. Si LCP ferme le lien, il informe les protocoles de couche réseau afin qu'ils puissent prendre les mesures appropriées.

     

Enfin, la terminaison de lien se produit. LCP peut mettre fin au lien à tout moment. Cela se fait généralement à la demande d'un utilisateur, mais peut se produire en raison d'un événement physique, comme la perte du transporteur ou de l'expiration d'une temporisation d'inactivité période.

     

Trois classes de cadres existent LCP. cadres d'établissement de liaison sont utilisés pour établir et configurer un lien. cadres lien de terminaison sont utilisés pour mettre fin à un lien et des trames lien d'entretien sont utilisés pour gérer et déboguer un lien.

     

Ces cadres sont utilisés pour accomplir le travail de chacune des phases LCP.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top