Ham Ethernet Çerçeveleri


10

Son zamanlarda Raw-Ethernet çerçeveleri ile ilgili aşağıdaki yazılara şaşırdım:

Ham Ethernet Çerçeveleri Kullanarak RAW ethernet ve UDP
İletisi Geçişi

Kısacası, her ikisi de sadece Ethernet katmanını kullanarak noktadan noktaya iletişim kurmanın mümkün olduğunu tartışıyor. Bu durumda IP ve TCP katmanlarının ek yükü önlenir ve verim artar (bazı kıyaslama ölçütlerine göre kabaca% 50).

Benzer bir testi yapmak istiyorum ama kablosuz bir ortamda. Ancak, bazı sorunlarım var:

1. Sorun
Böyle bir çabayı zayıflatabilecek herhangi bir donanım kısıtlaması var mı (yani: Wi-Fi kartı)?

2. Sayı
Her iki makale de aşağıdaki çerçeve biçimini seçti:

Önsöz | Sınırlayıcı | Mac Başlıkları | Yük | Pad | CRC

Bildiğim kadarıyla, giriş cihazı, sınırlayıcı, ped ve CRC, Ethernet cihazı tarafından her kareye eklenir ve yazılımla değiştirilemez. Wi-Fi cihazları ile benzer olduğunu düşünüyorum. Bu nedenle, Mac Üstbilgilerini kaldırmayı baltalayacak herhangi bir donanım kısıtlaması (ör: Wi-Fi kartı) var mı?

ps: iletişimin noktadan noktaya temelde olacağını, yani yönlendirici, anahtar, köprü, internet bağlantısı olmayacağını düşünün.


2
Ethernet üzerinden IP dışı trafik onlarca yıldır ağın bir parçası olmuştur, bu yüzden gerçekten cevap almaya çalıştığınız konusunda gerçekten net değilim ve belki de ağın temelleri hakkında biraz daha fazla bilgi edinmeniz gerekir. 802.3 Ethernet ve 802.11 kablosuz tamamen farklı iki standart olduğu için "Ethernet Kablosuz kartı" diye bir şey yoktur. Bu nedenle, 2. sayıdaki çerçeve biçiminiz 802.11 ağına hiç uygulanmaz, ancak çerçevelerin standartlara göre belirli gereksinimleri vardır, bu nedenle listelediğiniz çerçevenin bileşenlerinin çoğu yapılandırılamaz.
YLearn

1
@YLearn Ethernet üzerinden IP dışı trafik on yıllardır ağ kurmanın bir parçası olmuştur , ancak o zaman Ethernet cihazları bugünkü kadar akıllı değildi ve CPU tarafından çok fazla iş yapıldı. 'Akıllı' olmanın maliyetinin esnekliğini kaybedip kaybetmediğini merak ediyordum.
Mark Messa

@YLearn bir 802.11 ağına hiç uygulanmaz Tamam, standart bir 802.11 ağına bağlı diğer bilgisayarların bu çerçeveleri geçerli olanlar olarak tanımayacağını biliyorum. Ancak, bu tür çerçeveleri göndermek / almak mümkün müdür? Yoksa donanım izin vermiyor mu?
Mark Messa

@MarkMessa, bir ana bilgisayardan aynı LAN üzerindeki başka bir ana bilgisayara çerçeveler ikinci ana bilgisayar tarafından alınır. Soru, ana bilgisayarın içindeki ağ yığınındaki üst katmanlara geçirilip geçirilmeyecekleri. Alıcı ana bilgisayarda yalnızca bir IP yığını varsa ve çerçeve yükü IP değilse, veriler yoksayılır. Verilerin bir ana bilgisayardan diğerine nasıl aktarıldığı hakkında genel bir fikir edinmek için OSI modeli hakkında bilgi edinmeniz gerekir.
Ron Maupin

@MarkMessa, Ethernet cihazlarınızın "daha akıllı" olmasına rağmen, ilk yorumunuzla ilgili olarak Ethernet hala Ethernet olarak çalışmaktadır. 802.3 hiçbir zaman IP kullanımını gerektirmez veya gerektirmez. Örneğin, nadir olsa da, Ethernet bugün Appletalk veya IPX / SPX'i her zamanki gibi mutlu bir şekilde veya herhangi bir üst katman protokolü olmadan destekleyecektir (birçok şey iletişim için sadece L2'yi kullanır). İkinci yorumunuza gelince, "Bu çerçeveleri göndermek / almak mümkün mü?" 802.11 çerçevelerini 802.11 üzerinden gönderemezsiniz, ancak yalnızca IP içermeyen 802.11 iletişimleri vardır.
YLearn

Yanıtlar:


8

İlk olarak, Wi-Fi (IEEE 802.11), token ring (IEEE 802.5) veya 802.3 dışındaki diğer IEEE LAN standartlarından herhangi biri ethernet (IEEE 802.3) değildir. Çerçeve başlıkları Wi-Fi ve ethernet için farklıdır.

Wi-Fi, ethernet, token ring, FDDI, vb., OSI katman-1 ve katman2 için üst katman protokolleri için datagramları kapsayan LAN standartlarıdır. Her biri IP'si sadece bir tane olan katman-3 protokollerini taşıyabilir.

IEEE LAN protokollerinden biri için kendi katmanınızı oluşturmak veya mevcut katman-3 protokollerinden birini kullanmakta özgürsünüz, ancak seçtiğiniz LAN protokolü için çerçeveye sahip olmanız gerekir. Protokol yığınınızı çalıştırmayan herhangi bir cihazla birlikte çalışmayı beklemeyin veya protokol yığınınıza sahip olmayan herhangi bir yönlendirici üzerinde çalışmasını bekleyemezsiniz (bu, IP kullanan hiçbir İnternet anlamına gelmez). Ethernet anahtarları veya WAP'ler gibi köprüler üst katman protokollerinizi katman-2'de çalıştıkları için taşırlar, böylece bir LAN oluşturabilirsiniz.

Bulunduğunuz LAN türü için çerçeve başlığına sahip olmanız gerekir. Birincisi, bir ana bilgisayar aslında karedeki katman-2 adresi olmadan başka bir ana bilgisayara nasıl gönderir. Temelde çerçeve veya üstbilgisi olmayan RS-232 gibi seri iletişime geri döneceğinizi düşünüyorum, ancak veri kontrolü için ekstra kablolara dayanıyor.


Wi-Fi (IEEE 802.11) ethernet (IEEE 802.3) değil Tamam, bu karışıklığı önlemek için sorunun bir kısmını değiştirdim. Şimdi, tamamen konu dışı, sadece düşünmek için: birkaç ürün 'kablosuz ethernet LAN' olarak ilan edilir.
Mark Messa

Böyle şeyler gördüm, ama bu doğru olduğu anlamına gelmiyor. Wi-Fi ve ethernet çerçeveleri farklıdır ve ethernet çarpışma algılamayı kullanır, ancak Wi-Fi çarpışmadan kaçınma kullanır. Diğer LAN'lar, çarpışmaları tamamen önlemek için jeton gibi şeyler kullanır. Hepsi farklı LAN'lar ve bazı reklamlar onları aynı şey yapmıyor.
Ron Maupin

bu doğru olduğu anlamına gelmez. Tamam sana katılıyorum. Beni düzelttiğin için teşekkürler. CSMA / CD, CSMA / CA ve belirteçler gibi farklılıkların farkındayım. Ancak, 'Wi-Fi kablosuz ethernet LAN' gibi reklamlar tarafından kör edildim.
Mark Messa

ne de herhangi bir yönlendirici üzerinden çalışmasını bekleyemezsiniz Hiçbir yönlendirici, anahtar veya köprü olmayacak, sadece noktadan noktaya iletişim olacak. Bu karışıklığı önlemek için soruyu yeni düzenledim.
Mark Messa

1
@MarkMessa Çerçeve kullanmaktan kaçınmak istemiyorum, sadece MAC üstbilgisini kullanmaktan kaçınmayı düşünüyorum. Bu yüzden talebiniz kafa karıştırıcı. L2 üstbilgileri olmadan artık Ethernet veya 802.11 çerçeve olmadığını anlamıyorsunuz. 802.3 veya 802.11'de L2 başlıkları olmadan çalışmak için kendi L2 protokolünüzü yazmanız gerekir.
YLearn

7

Sorularınıza ve yorumlarınıza dayanarak, referans verdiğiniz iki makalenin noktasını kaçırdığınızı düşünüyorum.

"Ham Ethernet" hakkında konuşurken IP (L3) veya TCP / UDP (L4) üstbilgileri içermeyen veri çerçeveleri hakkında konuşuyorlar. L2 üstbilgileri olmadan L2 çerçevelerini kullanmaktan bahsetmiyorlar.

L2 başlıkları olmadan, çerçeve ne 802.3 (Ethernet) ne de 802.11 çerçeve değildir. Tamamen başka bir şey olurdu. Ayrı bir L2 protokolü.

Böyle bir çabayı zayıflatabilecek herhangi bir donanım kısıtlaması var mı (yani: Wi-Fi kartı)?

L2 başlıkları dahil değil mi? Kesinlikle. Belirli bir yanıt almak için belirli bir bağdaştırıcı belirtmeniz gerekir, ancak L2 başlıklarını içermeyen çoğu 802.3 veya 802.11 bağdaştırıcısıyla çalışacak sürücüleri bile yazabileceğinizden şüpheliyim. Benim tahminim çoğu adaptör göndermeden önce veya aldıktan sonra çerçeveyi hatalı biçimlendirilmiş olarak reddeder / düşürür.

Yalnızca IP veya TCP / UDP üstbilgileri içermeyen bir 802.3 veya 802.11 çerçevesi göndermek mi? Hayır. Bu her zaman normal ağ işlemlerinin bir parçası olarak gerçekleşir ve onlarca yıldır vardır (en azından 802.3; 802.11 uzun süredir değil, en az on yıldır).

Bu nedenle, Mac Üstbilgilerini kaldırmayı baltalayacak herhangi bir donanım kısıtlaması (ör: Wi-Fi kartı) var mı?

Yukarıyı görmek.


Çoğu adaptör çerçeveyi reddeder / düşürür sanırım bu cevap sorum. Daha sonra ilginç 'geçici' tüm yorumları kaybetmemek için kendi cevabımı vereceğim.
Mark Messa

göndermeden önce veya aldıktan sonra çerçeveyi hatalı biçimlendirilmiş olarak reddedin / bırakın. Bildiğim kadarıyla, monitör modunda, hatalı biçimlendirilmiş olanlar da dahil olmak üzere her türlü kareyi duyabilirsiniz (örn: yanlış CRC). Ancak, merakla, donanım MAC başlıkları olmadan kareler yayınlamanıza izin vermez.
Mark Messa

küçük düzeltme: Ancak, merakla, bağdaştırıcı MAC başlıkları olmadan kareleri yayınlamanıza izin vermez.
Mark Messa

2
@MarkMessa "Bildiğim kadarıyla, monitör modunda, hatalı biçimlendirilmiş olanlar bile (örn: yanlış CRC) her türlü kareyi duyabilirsiniz" Bu tamamen söz konusu cihaza bağlıdır. Birçok adaptör (anahtarlar dahil), yakalanmaları / yansıtılmaları / dağılmaları için gönderilmeden önce bunları işleyip bırakır. Çoğunlukla CRC'nin yakalandığı Ethernet fragmanını bile görmezsiniz.
YLearn

1

Benzer bir testi yapmak istiyorum ama kablosuz bir ortamda.

Tam olarak bunu yapan Wifibroadcast'e (Linux, bazı Android desteği) bakın. Kısa özet: Biri enjeksiyon modunda, diğeri monitör modunda bir çift wifi adaptörü kullanır ve ham wifi çerçeveleri kullanarak veri iletir. Bu tek yönlü bir bağlantıdır. Başlangıçta düşük gecikmeli video beslemesi iletmek için bir yöntem olarak düşünülse de, elbette her türlü veri için kullanılabilir.

Böyle bir çabayı zayıflatabilecek herhangi bir donanım kısıtlaması var mı (yani: Wi-Fi kartı)?

Evet. Daha iyi çalışan adaptörler ve daha az iyi çalışan adaptörler var. Ham moddaki bazı bağdaştırıcılar yüksek verim içeremez, bazı bağdaştırıcıların ürün bilgilerinin değiştirilmesi gerekir. Bazı adaptörler 2.4GHz bandında, bazıları 5GHz ve bazılarında ikisi de çalışır.


0

Evet. Teorik olarak , noktadan noktaya ethernet'i böyle çalıştırabilirsiniz. Her iki uç noktanın da 802.3 Ethernet MAC başlıklarını kaldırmak için karışık modda olması gerekir (aksi takdirde çerçeveler NIC'ye ait değildir ve yok sayılır.) Elbette bunu yapmak "ethernet" çalıştırmamanız anlamına gelir.


karışık mod Bu gündeme getirilmeyi umduğum çok önemli bir konudur. Karışık modda sizinkinden farklı bir MAC adresine gönderilen çerçeveler Wi-Fi kartı tarafından atılmaz. Ancak, BSSID için de aynı şey geçerli değildir (yanılıyorsam beni düzeltin). Çerçeve BSSID'nize yönelik değilse, Wi-Fi kartı onu atar. Bundan kaçınmak ve kartınıza ulaşan TÜM çerçeveleri almak mümkün mü? (monitör modu?)
Mark Messa

802.3 Ethernet MAC başlıklarını kaldırmak için karışık mod @YLearn yanıtına dayanarak, donanımın L2 başlıkları olmayan çerçeveleri kabul etmeyeceği anlaşılıyor.
Mark Messa
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.