Ramki Raw-Ethernet

10

Ostatnio byłem zaskoczony następującymi artykułami na temat ramek Raw-Ethernet:

Przesyłanie wiadomości RAW ethernet vs. UDP
przy użyciu surowych ramek Ethernet

W skrócie, oba omawiają, że możliwe jest ustanowienie komunikacji punkt-punkt przy użyciu tylko warstwy Ethernet. W takim przypadku uniknięto by narzutu warstw IP i TCP, a przepustowość wzrosła (w przybliżeniu 50% według niektórych testów porównawczych).

Chciałbym zrobić podobny test, ale w środowisku bezprzewodowym. Mam jednak pewne problemy:

1. problem
Czy są jakieś ograniczenia sprzętowe (np. Karta Wi-Fi), które mogą podważyć taki wysiłek?

Drugi numer W
obu artykułach wybrano następujący format ramki:

Preambuła | Separator | Nagłówki Maca Ładowność | Pad | CRC

O ile mi wiadomo, preambuła, separator, pad i CRC są dodawane przez urządzenie Ethernet do każdej ramki i nie można ich zmienić za pomocą oprogramowania. Myślę, że z urządzeniami Wi-Fi jest podobnie. Czy w związku z tym istnieje jakieś ograniczenie sprzętowe (np. Karta Wi-Fi), które zagroziłoby usunięciu nagłówków Mac?

ps: należy wziąć pod uwagę, że komunikacja będzie odbywać się w trybie punkt-punkt, tj. nie będzie routerów, przełączników, mostów, ... żadnych połączeń internetowych.

Mark Messa
źródło
2
Ruch non-IP przez Ethernet jest częścią sieci od dziesięcioleci, więc nie jestem do końca pewien, na co tak naprawdę próbujesz uzyskać odpowiedź i być może musisz dowiedzieć się nieco więcej o podstawach sieci. Nie ma czegoś takiego jak „karta bezprzewodowa Ethernet”, ponieważ 802.3 Ethernet i 802.11 to dwa zupełnie różne standardy. W związku z tym format ramki w drugim wydaniu w ogóle nie miałby zastosowania do sieci 802.11, ale ramki mają określone wymagania zgodnie ze standardami, dlatego wiele składników wymienionej ramki nie jest konfigurowalnych.
YLearn
1
@YLearn Ruch non-IP przez Ethernet jest od dziesięcioleci częścią sieci , ale w tamtym czasie urządzenia Ethernet nie były tak „inteligentne” jak dziś, a procesor wykonał wiele pracy. Zastanawiałem się, czy koszt bycia „inteligentnym” traci elastyczność.
Mark Messa,
@YLearn w ogóle nie ma zastosowania do sieci 802.11 Ok, wiem, że inne komputery podłączone do standardowej sieci 802.11 nie rozpoznają takich ramek jako prawidłowych. Czy można jednak wysyłać / odbierać takie ramki? Czy sprzęt nie pozwoli?
Mark Messa,
@MarkMessa, ramki od jednego hosta do drugiego hosta w tej samej sieci LAN będą odbierane przez drugiego hosta. Pytanie brzmi, czy zostaną one przekazane do wyższych warstw w stosie sieciowym w hoście. Jeśli host odbierający ma tylko stos IP, a ładunek ramki nie jest IP, dane zostaną zignorowane. Musisz zapoznać się z modelem OSI, aby uzyskać ogólne pomysły na temat przekazywania danych z jednego hosta na drugi.
Ron Maupin
@MarkMessa, odnośnie twojego pierwszego komentarza, mimo że urządzenia Ethernet są „inteligentniejsze”, Ethernet nadal działa jako Ethernet. 802.3 nigdy nie wymagało i nigdy nie będzie wymagało użycia IP. Na przykład, choć rzadko, dziś Ethernet nadal będzie obsługiwał Appletalk lub IPX / SPX tak samo szczęśliwie, jak nigdy wcześniej, lub w ogóle bez protokołu wyższej warstwy (wiele rzeczy nadal używa tylko L2 do komunikacji). Co do drugiego komentarza, nie jestem pewien, co rozumiesz przez „czy można wysyłać / odbierać takie ramki”. Nie można wysyłać ramek 802.3 przez 802.11, ale komunikacja 802.11 nie obejmuje IP.
YLearn

Odpowiedzi:

8

Po pierwsze, Wi-Fi (IEEE 802.11) nie jest Ethernetem (IEEE 802.3), podobnie jak Token Ring (IEEE 802.5), ani żaden inny standard IEEE LAN inny niż 802.3 to Ethernet. Nagłówki ramek są różne dla Wi-Fi i Ethernet.

Wi-Fi, Ethernet, Token Ring, FDDI itp. To wszystkie standardy LAN dla OSI warstwa-1 i warstwa2, które hermetyzują datagramy dla protokołów wyższych warstw. Każdy może przenosić protokoły warstwy 3, z których IP to tylko jeden.

Możesz dowolnie tworzyć własne lub używać jednego z istniejących protokołów warstwy 3 dla jednego z protokołów IEEE LAN, ale musisz mieć ramkę dla wybranego protokołu LAN. Nie oczekuj, że będziesz w stanie współpracować z dowolnym urządzeniem, które nie obsługuje stosu protokołów, ani nie możesz oczekiwać, że będzie ono działać na routerach, które nie mają stosu protokołów (oznacza to brak Internetu korzystającego z protokołu IP). Mosty, takie jak przełączniki Ethernet lub WAP, będą transportować protokoły wyższej warstwy, ponieważ działają one w warstwie 2, dzięki czemu można utworzyć sieć LAN.

Musisz mieć nagłówek ramki dla typu sieci LAN, w której się znajdujesz. Po pierwsze, w jaki sposób jeden host faktycznie wysyła do innego hosta bez adresu warstwy 2 w ramce. Myślę, że w zasadzie powracasz do komunikacji szeregowej, takiej jak RS-232, która nie ma ramki ani nagłówka, ale do kontroli danych wykorzystuje dodatkowe przewody.

Ron Maupin
źródło
Wi-Fi (IEEE 802.11) nie jest Ethernetem (IEEE 802.3) Ok, właśnie zmieniłem część pytania, aby uniknąć tego zamieszania. Teraz całkowicie poza tematem, aby się nad tym zastanowić: kilka produktów jest reklamowanych jako „bezprzewodowa sieć Ethernet Ethernet”.
Mark Messa,
Widziałem takie rzeczy, ale to nie znaczy, że jest poprawne. Ramki Wi-Fi i Ethernet są różne, a Ethernet wykorzystuje wykrywanie kolizji, ale Wi-Fi stosuje unikanie kolizji. Inne sieci LAN używają takich rzeczy, jak tokeny, aby całkowicie uniknąć kolizji. Wszystkie są różnymi sieciami LAN, a niektóre reklamy nie sprawiają, że są takie same.
Ron Maupin
to nie znaczy, że jest poprawne. Ok, zgadzam się z tobą. Dzięki, że mnie poprawiłeś. Mam świadomość takich różnic, jak CSMA / CD, CSMA / CA i tokeny. Jednak oślepiły mnie reklamy typu „Wi-Fi to bezprzewodowa sieć Ethernet”.
Mark Messa,
nie można też oczekiwać, że będzie działał na dowolnych routerach. Nie będzie routerów, przełączników ani mostów, tylko komunikacja typu punkt-punkt. Właśnie zredagowałem pytanie, aby uniknąć tego zamieszania.
Mark Messa,
1
@MarkMessa Nie chcę unikać używania ramek, rozważam tylko uniknięcie użycia nagłówka MAC. Dlatego twoja prośba jest myląca. Wydaje się, że nie rozumiesz, że bez nagłówków L2 nie są one już ramkami Ethernet ani 802.11. Będziesz musiał napisać własny protokół L2 do pracy bez nagłówków L2 obecnych w 802.3 lub 802.11.
YLearn
7

Na podstawie twoich pytań i komentarzy, myślę, że brakuje ci sensu dwóch artykułów, do których się odwołujesz.

Kiedy mówią o „Raw Ethernet”, mówią o ramkach danych, które nie zawierają żadnych nagłówków IP (L3) ani TCP / UDP (L4). Nie mówią o używaniu ramek L2 bez nagłówków L2.

Bez nagłówków L2 ramka nie byłaby ramką 802.3 (Ethernet) ani 802.11. Byłoby to coś zupełnie innego. Oddzielny protokół L2.

Czy są jakieś ograniczenia sprzętowe (np. Karta Wi-Fi), które mogą podważyć taki wysiłek?

Nie uwzględniając nagłówków L2? Absolutnie. Aby uzyskać konkretną odpowiedź, musisz określić konkretny adapter, ale wątpię, czy mógłbyś nawet napisać sterowniki, które działałyby z większością adapterów 802.3 lub 802.11, które nie zawierały nagłówków L2. Domyślam się, że większość kart odrzuca / upuszcza ramkę jako zniekształconą przed wysłaniem lub po otrzymaniu.

Wysyłania tylko ramki 802.3 lub 802.11, która nie zawiera nagłówków IP ani TCP / UDP? Nie. Dzieje się tak przez cały czas w ramach normalnych operacji sieciowych i ma miejsce od dziesięcioleci (przynajmniej dla 802.3; 802.11 nie było tak długo, ale przynajmniej dekadę).

Czy w związku z tym istnieje jakieś ograniczenie sprzętowe (np. Karta Wi-Fi), które zagroziłoby usunięciu nagłówków Mac?

Patrz wyżej.

YLearn
źródło
większość adapterów odrzuciłaby / upuściła ramkę. Chyba odpowiedź na to pytanie. Później przedstawię własną odpowiedź, aby nie stracić wszystkich interesujących „efemerycznych” komentarzy.
Mark Messa,
odrzuć / upuść ramkę jako zniekształconą przed wysłaniem lub po otrzymaniu. O ile mi wiadomo, w trybie monitorowania można usłyszeć dowolne ramki, nawet te zniekształcone (np. Zły CRC). Co ciekawe, sprzęt nie pozwala na emisję ramek bez nagłówków MAC.
Mark Messa,
mała korekta: Co ciekawe, adapter nie pozwala na rozgłaszanie ramek bez nagłówków MAC.
Mark Messa,
2
@MarkMessa „O ile mi wiadomo, w trybie monitorowania można usłyszeć wszelkiego rodzaju ramki, nawet te zniekształcone (np. Nieprawidłowe CRC)” Jest to całkowicie zależne od danego urządzenia. Wiele adapterów (w tym przełączników) będzie je przetwarzać i upuszczać nawet przed wysłaniem ich do przechwycenia / dublowania / łączenia. Często nawet nie widzisz przyczepy Ethernet z CRC w przechwytywaniu.
YLearn
1

Chciałbym zrobić podobny test, ale w środowisku bezprzewodowym.

Spójrz na Wifibroadcast (Linux, niektóre wsparcie Androida), który właśnie to robi. Krótkie podsumowanie: wykorzystuje parę adapterów Wi-Fi, jeden w trybie wstrzykiwania, drugi w trybie monitorowania i przesyła dane przy użyciu surowych ramek WiFi. Jest to połączenie jednokierunkowe. Choć pierwotnie pomyślany jako metoda przesyłania obrazu wideo o niskim opóźnieniu, może oczywiście być wykorzystywany do wszelkiego rodzaju danych.

Czy są jakieś ograniczenia sprzętowe (np. Karta Wi-Fi), które mogą podważyć taki wysiłek?

Tak. Są adaptery, które działają lepiej i adaptery, które działają gorzej, jeśli w ogóle. Niektóre karty w trybie surowym nie mogą zawierać dużej przepustowości, niektóre karty wymagają modyfikacji oprogramowania układowego. Niektóre adaptery działają w paśmie 2,4 GHz, a niektóre w 5 GHz, a niektóre w obu.

Radovan Garabík
źródło
0

Tak. Teoretycznie można uruchamiać Ethernet typu punkt-punkt. Oba punkty końcowe musiałyby znajdować się w trybie rozwiązawczym, aby usunąć nagłówki MAC MAC Ethernet 802.3 (w przeciwnym razie ramki nie należą do żadnej karty sieciowej i zostaną zignorowane). Oczywiście oznacza to, że nie uruchamiasz „ethernet”.

Ricky Beam
źródło
tryb rozwiązły Jest to bardzo ważna kwestia, na którą miałem nadzieję zostać podniesiony. W trybie rozwiązanym ramki zaadresowane na inny adres MAC niż twój nie zostaną odrzucone przez kartę Wi-Fi. Jednak to samo nie dotyczy BSSID (popraw mnie, jeśli się mylę). Jeśli ramka nie jest zaadresowana do Twojego identyfikatora BSSID, karta Wi-Fi go odrzuci. Czy można tego uniknąć i otrzymać WSZYSTKIE ramki docierające do karty? (tryb monitorowania?)
Mark Messa,
tryb rozwiązany, aby usunąć nagłówki MAC 802.3 Ethernet Na podstawie odpowiedzi @YLearn wydaje się, że sprzęt nie zaakceptuje ramek bez nagłówków L2.
Mark Messa,