Frame Raw-Ethernet


10

Di recente sono rimasto perplesso dai seguenti articoli sui frame Raw-Ethernet:

Ethernet RAW vs. UDP
Passaggio di messaggi mediante frame Ethernet grezzi

In breve, entrambi discutono che è possibile stabilire una comunicazione punto-punto usando solo il livello Ethernet. In tal caso, il sovraccarico dei livelli IP e TCP verrebbe evitato e il throughput aumenterebbe (circa il 50% secondo alcuni parametri di riferimento).

Vorrei fare un test simile ma in un ambiente wireless. Tuttavia, ho alcuni problemi:

1a edizione
Esistono vincoli hardware (ad es. La scheda Wi-Fi) che potrebbero minare tale sforzo?

2a edizione
Entrambi gli articoli hanno scelto il seguente formato di frame:

Preambolo | Delimitatore | Intestazioni Mac | Carico utile | Pad | CRC

Per quanto ne so, preambolo, delimitatore, pad e CRC vengono aggiunti dal dispositivo Ethernet a ogni frame e non possono essere modificati tramite software. Immagino che con i dispositivi Wi-Fi sia simile. Pertanto, esiste qualche vincolo hardware (ovvero: la scheda Wi-Fi) che minerebbe la rimozione delle intestazioni del Mac?

ps: considera che la comunicazione avverrà da punto a punto, ad es. non ci saranno router, switch, bridge, ... nessuna connettività Internet.


2
Il traffico non IP su Ethernet fa parte del networking da decenni, quindi non sono molto chiaro su cosa stai veramente cercando di ottenere una risposta e forse devi imparare un po 'di più sulle basi del networking. Non esiste una "scheda wireless Ethernet" in quanto 802.3 Ethernet e 802.11 wireless sono due standard completamente diversi. Pertanto, il formato del frame nel secondo numero non si applica affatto a una rete 802.11, ma i frame hanno determinati requisiti in base agli standard, motivo per cui molti dei componenti del frame elencati non sono configurabili.
Impara

1
@YLearn Il traffico non IP su Ethernet fa parte della rete da decenni , ma a quel tempo i dispositivi Ethernet non erano così "intelligenti" come oggi e gran parte del lavoro è stato svolto dalla CPU. Mi chiedevo se il costo dell'essere "intelligente" stia perdendo flessibilità.
Mark Messa del

@YLearn non si applica affatto a una rete 802.11 Ok, sono consapevole che altri computer collegati in una rete 802.11 standard non riconoscono tali frame come validi. Tuttavia, è possibile inviare / ricevere tali frame? O l'hardware non lo consentirà?
Mark Messa del

@MarkMessa, i frame da un host a un altro host sulla stessa LAN saranno ricevuti dal secondo host. La domanda è se verranno passati o meno ai livelli superiori nello stack di rete all'interno dell'host. Se l'host ricevente ha solo uno stack IP e il payload del frame non è IP, i dati verranno ignorati. È necessario conoscere il modello OSI per ottenere idee generali su come i dati vengono passati da un host a un altro.
Ron Maupin

@MarkMessa, per quanto riguarda il tuo primo commento, nonostante i dispositivi Ethernet siano "più intelligenti", Ethernet funziona ancora come Ethernet. 802.3 non ha mai né mai richiesto l'uso dell'IP. Ad esempio, sebbene raro, oggi Ethernet supporterà ancora Appletalk o IPX / SPX nel modo più felice che mai, o senza alcun protocollo di livello superiore (molte cose usano ancora solo L2 per la comunicazione). Per quanto riguarda il tuo secondo commento, non sono sicuro di cosa intendi per "è possibile inviare / ricevere tali frame". Non è possibile inviare frame 802.3 su 802.11, ma ci sono solo comunicazioni 802.11 che non riguardano IP.
Impara

Risposte:


8

In primo luogo, il Wi-Fi (IEEE 802.11) non è Ethernet (IEEE 802.3) non più di token ring (IEEE 802.5) o qualsiasi altro standard IEEE LAN diverso da 802.3 sono Ethernet. Le intestazioni dei frame sono diverse per Wi-Fi ed Ethernet.

Wi-Fi, Ethernet, token ring, FDDI, ecc. Sono tutti standard LAN per OSI layer-1 e layer2 che incapsulano datagrammi per i protocolli di livello superiore. Ciascuno può trasportare protocolli di livello 3, di cui IP è solo uno.

Sei libero di crearne uno tuo o di utilizzare uno dei protocolli di livello 3 esistenti per uno dei protocolli IEEE LAN, ma dovrai disporre del frame per il protocollo LAN che scegli. Non aspettarti di essere in grado di interagire con qualsiasi dispositivo che non stia eseguendo il tuo stack di protocollo, né puoi aspettarti che funzioni su qualsiasi router che non ha il tuo stack di protocollo (questo significa che non c'è Internet che utilizza IP). Ponti come switch Ethernet o WAP trasporteranno i tuoi protocolli di livello superiore poiché funzionano su layer-2, quindi potresti creare una LAN.

Dovrai avere l'intestazione del frame per il tipo di LAN in cui ti trovi. Per prima cosa, come fa un host a inviare effettivamente a un altro host senza l'indirizzo di livello 2 nel frame. Penso che fondamentalmente stai tornando alla comunicazione seriale come RS-232 che non ha frame o header, ma si basa su fili extra per il controllo dei dati.


Il Wi-Fi (IEEE 802.11) non è ethernet (IEEE 802.3) Ok, ho appena cambiato parte della domanda per evitare questa confusione. Ora, completamente fuori tema, solo per pensarci: diversi prodotti sono pubblicizzati come "LAN ethernet wireless".
Mark Messa del

Ho visto cose del genere, ma ciò non significa che sia corretto. I frame Wi-Fi ed Ethernet sono diversi e Ethernet utilizza il rilevamento delle collisioni, ma il Wi-Fi utilizza la prevenzione delle collisioni. Altre LAN usano cose come i token per prevenire del tutto le collisioni. Sono tutte LAN diverse e alcune pubblicità non le rendono la stessa cosa.
Ron Maupin

ciò non significa che sia corretto. Ok, sono d'accordo con te. Grazie per correggermi. Sono a conoscenza di differenze come CSMA / CD, CSMA / CA e token. Tuttavia, sono stato accecato da annunci come "Wi-Fi è la LAN ethernet wireless".
Mark Messa del

né ci si può aspettare che funzioni su qualsiasi router Non ci saranno router, switch o bridge, ma solo comunicazioni punto-punto. Ho appena modificato la domanda per evitare questa confusione.
Mark Messa del

1
@MarkMessa Non voglio evitare di usare i frame, sto solo considerando di evitare di usare l'intestazione MAC. Ecco perché la tua richiesta è confusa. Sembra che tu non capisca che senza le intestazioni L2 non sono più frame Ethernet o 802.11. Dovresti scrivere il tuo protocollo L2 per funzionare senza le intestazioni L2 presenti in 802.3 o 802.11.
YLearn

7

Sulla base delle vostre domande e commenti, penso che vi manchi il punto dei due articoli a cui vi riferite.

Quando parlano di "Raw Ethernet", parlano di frame di dati che non contengono intestazioni IP (L3) o TCP / UDP (L4). Non stanno parlando dell'utilizzo di frame L2 senza intestazioni L2.

Senza le intestazioni L2, un frame non sarebbe né un frame 802.3 (Ethernet) né un frame 802.11. Sarebbe qualcos'altro del tutto. Un protocollo L2 separato.

C'è qualche vincolo hardware (es: la scheda Wi-Fi) che potrebbe minare tale sforzo?

Di non includere le intestazioni L2? Assolutamente. Dovresti specificare un adattatore specifico per ottenere una risposta specifica, ma dubito che potresti persino scrivere driver che funzionino con la maggior parte degli adattatori 802.3 o 802.11 che non includessero le intestazioni L2. La mia ipotesi è che la maggior parte degli adattatori rifiuterebbe / lascerebbe cadere il frame come malformato prima di inviarlo o dopo averlo ricevuto.

Di inviare solo un frame 802.3 o 802.11 che non include le intestazioni IP o TCP / UDP? No. Questo accade continuamente come parte delle normali operazioni di rete e lo è da decenni (almeno per 802.3; 802.11 non esiste da molto tempo ma almeno da un decennio).

Pertanto, esiste qualche vincolo hardware (ovvero: la scheda Wi-Fi) che minerebbe la rimozione delle intestazioni del Mac?

Vedi sopra.


la maggior parte degli adattatori rifiuta / rilascia il frame, credo che questa risposta alla mia domanda. In seguito invierò la mia risposta per non perdere tutti gli interessanti commenti "effimeri".
Mark Messa

rifiutare / rilasciare il frame come non valido prima di inviarlo o dopo averlo ricevuto. Per quanto ne so, in modalità monitor è possibile ascoltare qualsiasi tipo di frame, anche quelli malformati (es: CRC errato). Tuttavia, curiosamente, l'hardware non consente di trasmettere frame senza intestazioni MAC.
Mark Messa

piccola correzione: Tuttavia, curiosamente, l' adattatore non consente di trasmettere frame senza intestazioni MAC.
Mark Messa

2
@MarkMessa "Per quanto ne so, in modalità monitor è possibile ascoltare qualsiasi tipo di frame, anche quelli malformati (es: CRC errato)" Dipende interamente dal dispositivo in questione. Molti adattatori (compresi gli switch) li elaborano e li rilasciano anche prima di inviarli per essere acquisiti / sottoposti a mirroring / con spanning. Spesso non vedrai nemmeno il trailer Ethernet con il CRC nelle acquisizioni.
YLearn

1

Vorrei fare un test simile ma in un ambiente wireless.

Guarda Wifibroadcast (Linux, qualche supporto Android) che fa esattamente questo. Breve riepilogo: utilizza una coppia di adattatori wifi, uno in modalità iniezione, l'altro in modalità monitor e trasmette i dati utilizzando frame wifi grezzi. Questa è una connessione unidirezionale. Sebbene originariamente concepito come un metodo per trasmettere feed video a bassa latenza, può ovviamente essere utilizzato per tutti i tipi di dati.

C'è qualche vincolo hardware (es: la scheda Wi-Fi) che potrebbe minare tale sforzo?

Sì. Esistono adattatori che funzionano meglio e adattatori che funzionano meno bene, se non del tutto. Alcuni adattatori in modalità raw non possono contenere un throughput elevato, per alcuni adattatori è necessario modificare il firmware. Alcuni adattatori funzionano nella banda da 2,4 GHz e alcuni in 5 GHz e alcuni in entrambi.


0

Sì. In teoria , puoi eseguire Ethernet punto-punto in questo modo. Entrambi gli endpoint dovrebbero essere in modalità promiscua per rimuovere le intestazioni MAC Ethernet 802.3 (altrimenti i frame non appartengono a nessuna NIC e verrebbero ignorati). Naturalmente, ciò significa che non si esegue "Ethernet".


modalità promiscua Questa è una questione molto importante che speravo di essere sollevata. In modalità promiscua i frame indirizzati a un indirizzo MAC diverso dal tuo non verrebbero scartati dalla scheda Wi-Fi. Tuttavia, lo stesso non è vero per BSSID (correggimi se sbaglio). Se il frame non è indirizzato al tuo BSSID, la scheda Wi-Fi lo eliminerà. È possibile evitarlo e ricevere TUTTI i frame che raggiungono la tua carta? (modalità monitor?)
Mark Messa il

modalità promiscua per rimuovere le intestazioni MAC Ethernet 802.3 Sulla base della risposta @YLearn, sembra che l'hardware non accetti i frame senza intestazioni L2.
Mark Messa
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.