Erkennen verschiedener Ethernet-Frames


12

Wie kann jemand im Ethernet-Protokoll zwischen verschiedenen Paketen unterscheiden? Es hat kein Feld / Gebiet "Länge", wie dies Protokolle höherer Ebenen verwenden.

Da dieses Protokoll sowohl im physischen als auch im logischen Bereich behandelt wird, gehe ich davon aus, dass die Unterscheidung ebenfalls getrennt ist.

Wird die logische Trennung über das Protokollfeld "EtherType" durchgeführt? (dh Ermitteln der Paketlänge unter Verwendung des Typs des übergeordneten Protokolls, dessen Header ein Längenfeld enthalten).

Ist die physikalische Unterscheidung einfach keine Übertragung von elektrischen Signalen? (Meines Wissens repräsentieren hohe / niedrige elektrische Signale 0/1 Bits).

Antworten:


14

Obwohl ytti geantwortet hat, gibt es einige relevante Details, die Sie interessieren könnten ...

Wie kann jemand im Ethernet-Protokoll zwischen verschiedenen Paketen unterscheiden? Es hat kein Feld / Gebiet "Länge", wie dies Protokolle höherer Ebenen verwenden.

Tatsächlich hat Ethernet mehrere Kapseln:

  • Ethernet II (Typischerweise wird für IP, wie in [RFC 894] angegeben, die häufigste Kapselung verwendet.): Hat kein Längenfeld , stattdessen wird ein Typfeld verwendet.
       +----+----+------+------+-----+
       | 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: hat eine Länge Feld
       +----+----+------+------+------+------+-----+
       | 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)

Unabhängig von der Existenz des 802.2-Längenfelds können Sie immer das Ende eines Ethernet-Frames auf der Leitung erkennen, indem Sie nach der 96-Bit-Interframe-Lücke suchen .

Wird die logische Trennung über das Protokollfeld "EtherType" durchgeführt? (dh Ermitteln der Paketlänge unter Verwendung des Typs des übergeordneten Protokolls, dessen Header ein Längenfeld enthalten).

Unter logischer Trennung verstehe ich die Trennung zwischen verschiedenen Protokollen, die im Ethernet übertragen werden, dh die Unterscheidung zwischen IPv4-, IPv6- oder vielleicht Spanning-Tree-Frames.

  • Ethernet II verwendet normalerweise das Feld Typ
  • 802.2 LLC Ethernet verwendet normalerweise die Fünf-Byte- 802.2-Ethernet-SNAP-Erweiterung . Protokolle werden nur mit der SNAP-Erweiterung decodiert, wenn die 802.2 DSAP / SSAP-Bytes 0xAAAA sind.

Ist die physikalische Unterscheidung einfach keine Übertragung von elektrischen Signalen? (Meines Wissens entsprechen hohe / niedrige elektrische Signale 0/1 Bits.)

Vereinfacht gesagt gibt es eine 96-Bit-Lücke zwischen Ethernet-Frames. Beachten Sie jedoch, dass Ethernet eine 8b / 10b-Codierung (FastEthernet) und eine 64b / 66b-Codierung (GigabitEthernet) verwendet. Daher ist es technisch nicht korrekt, von "Nichtübertragung elektrischer Signale" zu sprechen, da 8b / 10b kein "hat. stiller "Zustand.


Für die Neugierigen verknüpfe ich auch die ursprüngliche Ethernet-Version 2-Spezifikation .


7

Ethernet hat zu Beginn einen Präambel- und Start-Frame-Begrenzer und am Ende einen IFG-Wert (Inter-Frame-Gap). Diese werden verwendet, um den Beginn und das Ende eines Frames zu bestimmen.


Ist es eine Trennung im physischen oder im logischen Bereich? Was ist jedoch, wenn das Datenfeld des Protokolls Informationen / Zeichen / Signale enthält, die mit den Start- / Endbegrenzern identisch sind?
Reflexion

1
Gap ist buchstäblich nur das, es besteht kein Risiko, dass es in der Nutzlast gefunden wird. In einem anderen, nicht-ethernetischen Kontext ist dies jedoch bedenklich und kann behoben werden, indem sichergestellt wird, dass einige Symbole niemals zum Codieren von Daten, sondern nur zum Signalisieren verwendet werden. Es würde jedoch die Effizienz verringern, wenn einige Symbole für "nicht nützlich" verschwendet werden. Daten.
Ytti
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.