Raw-Ethernet-Frames


10

Vor kurzem haben mich die folgenden Artikel über Raw-Ethernet-Frames verwirrt:

RAW-Ethernet vs. UDP-
Nachrichtenübermittlung mit Raw-Ethernet-Frames

Beide diskutieren kurz, dass es möglich ist, eine Punkt-zu-Punkt-Kommunikation nur über die Ethernet-Schicht herzustellen. In diesem Fall würde der Overhead der IP- und TCP-Schichten vermieden und der Durchsatz erhöht (nach einigen Benchmarks ungefähr 50%).

Ich würde gerne einen ähnlichen Test machen, aber in einer drahtlosen Umgebung. Ich habe jedoch einige Probleme:

1. Problem
Gibt es Hardwareeinschränkungen (z. B. die Wi-Fi-Karte), die diese Bemühungen untergraben könnten?

2. Ausgabe
Beide Artikel wählten das folgende Rahmenformat:

Präambel | Trennzeichen | Mac-Header | Nutzlast | Pad | CRC

Soweit ich weiß, werden Präambel, Trennzeichen, Pad und CRC vom Ethernet-Gerät zu jedem Frame hinzugefügt und können nicht per Software geändert werden. Ich denke mit Wi-Fi-Geräten ist ähnlich. Gibt es daher Hardwareeinschränkungen (z. B. die Wi-Fi-Karte), die das Entfernen der Mac-Header untergraben würden?

ps: bedenke, dass die Kommunikation auf Punkt-zu-Punkt-Basis erfolgt, dh es gibt keine Router, Switches, Bridges, ... keine Internetverbindung.


2
Nicht-IP-Verkehr über Ethernet ist seit Jahrzehnten Teil des Netzwerks, daher ist mir nicht klar, was Sie wirklich beantworten möchten, und vielleicht müssen Sie etwas mehr über die Grundlagen des Netzwerks lernen. Es gibt keine "Ethernet Wireless-Karte", da 802.3 Ethernet und 802.11 Wireless zwei völlig unterschiedliche Standards sind. Daher würde Ihr Frame-Format in der zweiten Ausgabe überhaupt nicht für ein 802.11-Netzwerk gelten, aber für Frames gelten bestimmte Anforderungen gemäß den Standards, weshalb viele der von Ihnen aufgelisteten Komponenten des Frames nicht konfigurierbar sind.
YLearn

1
@YLearn Non-IP-Verkehr über Ethernet ist seit Jahrzehnten ein Teil des Netzwerks , aber zu dieser Zeit waren die Ethernet-Geräte nicht so „intelligent“ wie heute, und ein Großteil der Arbeit wurde von der CPU erledigt. Ich habe mich gefragt, ob die Kosten für "intelligent" an Flexibilität verlieren.
Mark Messa

@YLearn würde für ein 802.11-Netzwerk überhaupt nicht gelten. Ok, ich bin mir bewusst, dass andere Computer, die in einem Standard-802.11-Netzwerk verbunden sind, solche Frames nicht als gültige erkennen würden. Ist es jedoch möglich, solche Frames zu senden / empfangen? Oder erlaubt die Hardware nicht?
Mark Messa

@ MarkMessa, Frames von einem Host zu einem anderen Host im selben LAN werden vom zweiten Host empfangen. Die Frage ist, ob sie an die oberen Schichten im Netzwerkstapel innerhalb des Hosts übergeben werden oder nicht. Wenn der empfangende Host nur einen IP-Stack hat und die Frame-Nutzdaten nicht IP sind, werden die Daten ignoriert. Sie müssen sich mit dem OSI-Modell vertraut machen, um allgemeine Vorstellungen darüber zu erhalten, wie Daten von einem Host an einen anderen übertragen werden.
Ron Maupin

@MarkMessa, in Bezug auf Ihren ersten Kommentar, obwohl Ethernet-Geräte "intelligenter" sind, arbeitet Ethernet immer noch als Ethernet. 802.3 hat und wird niemals die Verwendung von IP erfordern. Obwohl dies heute selten vorkommt, unterstützt Ethernet Appletalk oder IPX / SPX heute genauso glücklich wie immer oder ohne Protokoll einer höheren Schicht (viele Dinge verwenden immer noch nur L2 für die Kommunikation). Was Ihren zweiten Kommentar betrifft, bin ich mir nicht sicher, was Sie unter "Ist es möglich, solche Frames zu senden / zu empfangen" verstehen. Sie können keine 802.3-Frames über 802.11 senden, aber es gibt nur 802.11-Kommunikationen ohne IP.
YLearn

Antworten:


8

Erstens ist Wi-Fi (IEEE 802.11) nicht mehr Ethernet (IEEE 802.3) als Token Ring (IEEE 802.5), oder andere IEEE LAN-Standards als 802.3 sind Ethernet. Die Frame-Header unterscheiden sich für Wi-Fi und Ethernet.

Wi-Fi, Ethernet, Token Ring, FDDI usw. sind alle LAN-Standards für OSI-Schicht 1 und Schicht 2, die Datagramme für Protokolle der oberen Schicht kapseln. Jeder kann Layer-3-Protokolle transportieren, von denen IP nur eines ist.

Es steht Ihnen frei, ein eigenes zu erstellen oder eines der vorhandenen Layer-3-Protokolle für eines der IEEE-LAN-Protokolle zu verwenden. Sie benötigen jedoch den Rahmen für das von Ihnen ausgewählte LAN-Protokoll. Erwarten Sie nicht, dass Sie mit einem Gerät zusammenarbeiten können, auf dem Ihr Protokollstapel nicht ausgeführt wird, und Sie können auch nicht erwarten, dass es über Router ausgeführt wird, auf denen Ihr Protokollstapel nicht vorhanden ist (dies bedeutet, dass kein Internet IP verwendet). Bridges wie Ethernet-Switches oder WAPs transportieren Ihre Protokolle der oberen Schicht, da sie auf Schicht 2 funktionieren, sodass Sie ein LAN erstellen können.

Sie benötigen den Frame-Header für den LAN-Typ, in dem Sie sich befinden. Zum einen, wie sendet ein Host tatsächlich an einen anderen Host ohne die Layer-2-Adresse im Frame. Ich denke, Sie kehren im Grunde genommen zur seriellen Kommunikation wie RS-232 zurück, die keinen Frame oder Header hat, aber für die Datensteuerung zusätzliche Kabel benötigt.


Wi-Fi (IEEE 802.11) ist kein Ethernet (IEEE 802.3) Ok, ich habe gerade einen Teil der Frage geändert, um diese Verwirrung zu vermeiden. Ganz weg vom Thema, nur um darüber nachzudenken: Mehrere Produkte werden als "Wireless Ethernet LAN" beworben.
Mark Messa

Ich habe solche Dinge gesehen, aber das heißt nicht, dass es richtig ist. Wi-Fi- und Ethernet-Frames unterscheiden sich, und Ethernet verwendet die Kollisionserkennung, Wi-Fi jedoch die Kollisionsvermeidung. Andere LANs verwenden beispielsweise Token, um Kollisionen insgesamt zu verhindern. Sie sind alle verschiedene LANs, und manche Werbung macht sie nicht gleich.
Ron Maupin

das heißt nicht, dass es richtig ist. OK ich stimme dir zu. Danke mich zu korrigieren. Mir sind Unterschiede wie CSMA / CD, CSMA / CA und Token bekannt. Anzeigen wie "Wi-Fi ist das drahtlose Ethernet-LAN" haben mich jedoch geblendet.
Mark Messa

Sie können auch nicht erwarten, dass es über Router läuft. Es gibt keine Router, Switches oder Bridges, nur Punkt-zu-Punkt-Kommunikation. Ich habe gerade die Frage bearbeitet, um diese Verwirrung zu vermeiden.
Mark Messa

1
@MarkMessa Ich möchte die Verwendung von Frames nicht vermeiden, ich denke nur darüber nach, die Verwendung des MAC-Headers zu vermeiden. Deshalb ist Ihre Anfrage verwirrend. Sie scheinen nicht zu verstehen, dass es sich ohne die L2-Header nicht mehr um Ethernet- oder 802.11-Frames handelt. Sie müssten Ihr eigenes L2-Protokoll schreiben, um ohne die in 802.3 oder 802.11 vorhandenen L2-Header zu arbeiten.
YLearn

7

Aufgrund Ihrer Fragen und Kommentare fehlt Ihnen meiner Meinung nach der Punkt der beiden Artikel, auf die Sie verweisen.

Wenn es sich um "Raw Ethernet" handelt, handelt es sich um Datenrahmen, die keine IP- (L3) oder TCP / UDP- (L4) Header enthalten. Sie sprechen nicht über die Verwendung von L2-Frames ohne L2-Header.

Ohne die L2-Header wäre ein Frame weder ein 802.3 (Ethernet) noch ein 802.11-Frame. Es wäre etwas ganz anderes. Ein separates L2-Protokoll.

Gibt es Hardwareeinschränkungen (z. B. die Wi-Fi-Karte), die diese Bemühungen untergraben könnten?

Ohne L2-Header? Absolut. Sie müssten einen bestimmten Adapter angeben, um eine bestimmte Antwort zu erhalten, aber ich bezweifle, dass Sie sogar Treiber schreiben können, die mit den meisten 802.3- oder 802.11-Adaptern funktionieren, die die L2-Header nicht enthalten. Ich vermute, dass die meisten Adapter den Frame entweder vor dem Senden oder nach dem Empfang als fehlerhaft ablehnen / löschen würden.

Nur einen 802.3- oder 802.11-Frame ohne IP- oder TCP / UDP-Header senden? Nein. Dies geschieht ständig im Rahmen des normalen Netzwerkbetriebs und seit Jahrzehnten (zumindest für 802.3; 802.11 gibt es nicht so lange, aber mindestens ein Jahrzehnt).

Gibt es daher Hardwareeinschränkungen (z. B. die Wi-Fi-Karte), die das Entfernen der Mac-Header untergraben würden?

Siehe oben.


Die meisten Adapter würden den Frame ablehnen / löschen. Ich denke, dies beantwortet meine Frage. Später werde ich meine eigene Antwort einreichen, um nicht alle interessanten "kurzlebigen" Kommentare zu verlieren.
Mark Messa

Verwerfen / Löschen des Frames als fehlerhaft, entweder vor dem Senden oder nach dem Empfang. Soweit ich weiß, können Sie im Monitormodus alle Arten von Frames hören, auch die fehlerhaften (z. B. falsche CRC). Seltsamerweise erlaubt Ihnen die Hardware jedoch nicht, Frames ohne MAC-Header zu senden.
Mark Messa

kleine Korrektur: Seltsamerweise erlaubt der Adapter jedoch nicht, Frames ohne MAC-Header zu senden.
Mark Messa

2
@MarkMessa "Soweit ich weiß, können Sie im Monitormodus alle Arten von Frames hören, auch die fehlerhaften (z. B. falsche CRC)." Dies hängt vollständig vom jeweiligen Gerät ab. Viele Adapter (einschließlich Switches) verarbeiten und löschen diese, noch bevor sie zur Erfassung / Spiegelung / Spannung weitergeleitet werden. Oft wird der Ethernet-Trailer mit dem CRC nicht einmal in Captures angezeigt.
YLearn

1

Ich würde gerne einen ähnlichen Test machen, aber in einer drahtlosen Umgebung.

Schauen Sie sich Wifibroadcast (Linux, einige Android-Unterstützung) an, das genau das tut. Kurze Zusammenfassung: Es werden zwei WLAN-Adapter verwendet, einer im Injektionsmodus und der andere im Überwachungsmodus. Die Daten werden mithilfe von rohen WLAN-Frames übertragen. Dies ist eine unidirektionale Verbindung. Während es ursprünglich als Methode zur Übertragung von Video-Feeds mit geringer Latenz konzipiert wurde, kann es natürlich für alle Arten von Daten verwendet werden.

Gibt es Hardwareeinschränkungen (z. B. die Wi-Fi-Karte), die diese Bemühungen untergraben könnten?

Ja. Es gibt Adapter, die besser funktionieren, und Adapter, die, wenn überhaupt, weniger gut funktionieren. Einige Adapter im Raw-Modus können keinen hohen Durchsatz enthalten. Bei einigen Adaptern muss die Firmware geändert werden. Einige Adapter arbeiten im 2,4-GHz-Band und einige im 5-GHz-Band und einige in beiden.


0

Ja. Theoretisch können Sie so ein Punkt-zu-Punkt-Ethernet ausführen. Beide Endpunkte müssten sich im Promiscuous-Modus befinden, um die 802.3-Ethernet-MAC-Header zu entfernen (andernfalls gehören die Frames zu keiner der Netzwerkkarten und werden ignoriert). Dies bedeutet natürlich, dass Sie kein "Ethernet" ausführen.


Promiscuous Mode Dies ist ein sehr wichtiges Thema, von dem ich gehofft hatte, dass es angesprochen wird. Im Promiscuous-Modus werden Frames, die an eine andere MAC-Adresse als Ihre adressiert sind, von der Wi-Fi-Karte nicht verworfen. Dies gilt jedoch nicht für BSSID (korrigieren Sie mich, wenn ich falsch liege). Wenn der Frame nicht an Ihre BSSID adressiert ist, wird er von der Wi-Fi-Karte verworfen. Ist es möglich, dies zu vermeiden und ALLE Frames zu erhalten, die Ihre Karte erreichen? (Überwachungsmodus?)
Mark Messa

Promiscuous-Modus zum Entfernen der 802.3-Ethernet-MAC-Header Basierend auf der Antwort von @YLearn scheint die Hardware keine Frames ohne L2-Header zu akzeptieren.
Mark Messa
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.