Détection de différentes trames Ethernet

12

Comment peut-on distinguer différents paquets dans le protocole Ethernet? Il n'a pas de champ / zone de "longueur" comme les protocoles de niveau supérieur le font.

Parce que ce protocole a une gestion à la fois physique et logique, je suppose que la distinction est également séparée.

La séparation logique est-elle effectuée à l'aide du champ de protocole "EtherType"? (c'est-à-dire obtenir la longueur de paquet en utilisant le type du protocole de niveau supérieur, qui a un champ de longueur dans ses en-têtes).

La distinction physique est-elle simplement la non-transmission de signaux électriques? (À ma connaissance, les signaux électriques hauts / bas représentent 0/1 bits).

Réflexion
la source

Réponses:

14

Bien que ytti ait répondu, il y a quelques détails pertinents qui pourraient vous intéresser ...

Comment peut-on distinguer différents paquets dans le protocole Ethernet? Il n'a pas de champ / zone de "longueur" comme les protocoles de niveau supérieur le font.

En fait, Ethernet a plusieurs encapsulations:

  • Ethernet II (généralement utilisé pour IP, comme spécifié dans [RFC 894], est l'encapsulation la plus courante): n'a pas de champ de longueur , mais un champ de type est utilisé ...
       +----+----+------+------+-----+
       | DA | SA | Type | Data | FCS |
       +----+----+------+------+-----+
                 ^^^^^^^^

       DA      Destination MAC Address (6 bytes)
       SA      Source MAC Address      (6 bytes)
       Type    Protocol Type           (2 bytes: >= 0x0600 or 1536 decimal)  <---
       Data    Protocol Data           (46 - 1500 bytes)
       FCS     Frame Checksum          (4 bytes)
  • 802.2 LLC Ethernet: a un champ de longueur
       +----+----+------+------+------+------+-----+
       | DA | SA | Len  | LLC  | SNAP | Data | FCS |
       +----+----+------+------+------+------+-----+
                 ^^^^^^^^

       DA      Destination MAC Address (6 bytes)
       SA      Source MAC Address      (6 bytes)
       Len     Length of Data field    (2 bytes: <= 0x05DC or 1500 decimal)  <---
       LLC     802.2 LLC Header        (3 bytes)
       SNAP                            (5 bytes)
       Data    Protocol Data           (46 - 1492 bytes)
       FCS     Frame Checksum          (4 bytes)

Indépendamment de l'existence du champ de longueur 802.2, vous pouvez toujours détecter la fin d'une trame Ethernet sur le fil en recherchant l'intervalle entre les trames 96 bits .

La séparation logique est-elle effectuée à l'aide du champ de protocole "EtherType"? (c'est-à-dire obtenir la longueur de paquet en utilisant le type du protocole de niveau supérieur, qui a un champ de longueur dans ses en-têtes).

Par séparation logique, je suppose que vous entendez la séparation entre différents protocoles transportés à l'intérieur d'Ethernet, telle que la distinction entre IPv4, IPv6 ou peut-être les cadres Spanning Tree.

  • Ethernet II utilise normalement le champ Type
  • 802.2 LLC Ethernet utilise normalement l' extension SNAP Ethernet 802.2 de cinq octets . Les protocoles ne sont décodés avec l'extension SNAP que lorsque les octets 802.2 DSAP / SSAP sont 0xAAAA.

La distinction physique est-elle simplement la non-transmission de signaux électriques? (À ma connaissance, les signaux électriques hauts / bas représentent 0/1 bits)

Simplement, oui, il y a un écart de 96 bits entre les trames Ethernet; Cependant, notez qu'Ethernet utilise un codage 8b / 10b (FastEthernet) et un codage 64b / 66b (GigabitEthernet), il n'est donc pas techniquement correct de dire la "non-transmission des signaux électriques", car le 8b / 10b n'a pas de " état "silencieux".


Pour les curieux, je fais également un lien vers la spécification Ethernet version 2 originale .

Mike Pennington
la source
7

Ethernet a un préambule et un délimiteur de trame de début au début et à la fin, il a un «IFG» ou un intervalle entre les trames. Ils sont utilisés pour déterminer le début et la fin de la trame.

ytti
la source
S'agit-il d'une séparation dans la portée physique ou logique? Cependant, que se passe-t-il si le champ de données du protocole comprendra des informations / caractères / signaux identiques aux délimiteurs de début / fin?
Réflexion
1
L'écart est littéralement juste cela, il n'y a aucun risque de le trouver dans la charge utile. Cependant, dans un autre contexte non Ethernet, cela est un problème et peut être résolu en s'assurant que certains symboles ne sont jamais utilisés pour coder des données, mais uniquement pour la signalisation, mais cela réduirait l'efficacité de gaspiller certains symboles pour `` non utiles ''. Les données.
ytti