Frame Raw-Ethernet

10

Baru-baru ini saya bingung dengan artikel berikut tentang frame Raw-Ethernet:

Ethernet RAW vs Passing Pesan UDP
Menggunakan Frame Ethernet Mentah

Secara singkat, keduanya membahas bahwa dimungkinkan untuk membangun komunikasi point-to-point hanya menggunakan lapisan Ethernet. Dalam hal ini, overhead lapisan IP dan TCP akan dihindari dan throughput akan meningkat (kira-kira 50% menurut beberapa tolok ukur).

Saya ingin melakukan tes serupa tetapi di lingkungan nirkabel. Namun, saya memiliki beberapa masalah:

Masalah 1
Apakah ada kendala perangkat keras (yaitu: kartu Wi-Fi) yang dapat merusak upaya tersebut?

Edisi
Kedua Kedua artikel memilih format bingkai berikut:

Pembukaan | Pembatas | Header Mac | Muatan | Pad | CRC

Sejauh yang saya tahu, mukadimah, pembatas, pad dan CRC ditambahkan oleh perangkat Ethernet ke setiap frame dan tidak dapat diubah melalui perangkat lunak. Saya kira dengan perangkat Wi-Fi serupa. Oleh karena itu, apakah ada kendala perangkat keras (yaitu: kartu Wi-Fi) yang akan merusak penghapusan Header Mac?

ps: pertimbangkan bahwa komunikasi akan dilakukan secara point-to-point, yaitu, tidak akan ada router, switch, jembatan, ... tidak ada konektivitas internet.

Tandai Messa
sumber
2
Lalu lintas non-IP melalui Ethernet telah menjadi bagian dari jaringan selama beberapa dekade, jadi saya tidak begitu jelas tentang apa yang Anda benar-benar coba untuk dijawab dan mungkin Anda perlu belajar lebih banyak tentang dasar-dasar jaringan. Tidak ada yang namanya "kartu Ethernet Nirkabel" seperti 802.3 Ethernet dan 802.11 nirkabel adalah dua standar yang sama sekali berbeda. Dengan demikian, format frame Anda pada edisi ke-2 tidak akan berlaku sama sekali untuk jaringan 802.11, tetapi frame memiliki persyaratan tertentu sesuai dengan standar yang mengapa banyak komponen dari frame yang Anda daftar tidak dapat dikonfigurasi.
YPelajari
1
@YLearn Non-IP traffic melalui Ethernet telah menjadi bagian dari jaringan selama beberapa dekade ok, tetapi pada saat itu perangkat Ethernet tidak sepintar hari ini, dan banyak pekerjaan yang dilakukan oleh CPU. Saya bertanya-tanya apakah biaya 'pintar' kehilangan fleksibilitas.
Mark Messa
@YLearn tidak akan berlaku sama sekali untuk jaringan 802.11 Oke, saya sadar bahwa komputer lain yang terhubung dalam jaringan 802.11 standar tidak akan mengenali bingkai seperti yang valid. Namun, apakah mungkin untuk mengirim / menerima bingkai seperti itu? Atau perangkat keras tidak memungkinkan?
Mark Messa
@MarkMessa, frame dari satu host ke host lain di LAN yang sama akan diterima oleh host kedua. Pertanyaannya adalah apakah mereka akan dilewatkan ke lapisan atas di tumpukan jaringan di dalam host. Jika host penerima hanya memiliki tumpukan IP dan muatan bingkai bukan IP, maka data akan diabaikan. Anda perlu belajar tentang model OSI untuk mendapatkan ide umum tentang bagaimana data dikirimkan dari satu host ke host lainnya.
Ron Maupin
@MarkMessa, mengenai komentar pertama Anda, meskipun perangkat Ethernet "lebih pintar," Ethernet masih beroperasi sebagai Ethernet. 802.3 tidak pernah atau tidak akan pernah membutuhkan penggunaan IP. Misalnya, walaupun jarang, Ethernet saat ini masih akan mendukung Appletalk atau IPX / SPX sama bahagia seperti sebelumnya, atau tanpa protokol lapisan yang lebih tinggi sama sekali (banyak hal masih menggunakan L2 hanya untuk komunikasi). Adapun komentar kedua Anda, saya tidak yakin apa yang Anda maksud dengan "apakah mungkin mengirim / menerima bingkai seperti itu." Anda tidak dapat mengirim 802,3 frame melalui 802.11, tetapi hanya ada 802.11 komunikasi yang tidak melibatkan IP.
YPelajari

Jawaban:

8

Pertama, Wi-Fi (IEEE 802.11) bukan ethernet (IEEE 802.3) tidak lebih dari token ring (IEEE 802.5) atau standar IEEE LAN lainnya selain 802.3 adalah ethernet. Header frame berbeda untuk Wi-Fi dan ethernet.

Wi-Fi, ethernet, token ring, FDDI, dll. Adalah semua standar LAN untuk OSI layer-1 dan layer2 yang merangkum datagram untuk protokol lapisan atas. Masing-masing dapat mengangkut protokol layer-3, yang IP-nya hanya satu.

Anda bebas membuat sendiri atau menggunakan salah satu protokol layer-3 yang ada untuk salah satu protokol LAN IEEE, tetapi Anda harus memiliki bingkai untuk protokol LAN yang Anda pilih. Jangan berharap dapat beroperasi dengan perangkat apa pun yang tidak menjalankan tumpukan protokol Anda, dan Anda juga tidak dapat beroperasi di router apa pun yang tidak memiliki tumpukan protokol Anda (ini berarti tidak ada Internet yang menggunakan IP). Bridge seperti switch ethernet atau WAP akan mentransport protokol layer atas Anda karena mereka bekerja pada layer-2, sehingga Anda bisa membuat LAN.

Anda harus memiliki frame header untuk tipe LAN yang Anda gunakan. Untuk satu hal, bagaimana satu host benar-benar mengirim ke host lain tanpa alamat layer-2 dalam bingkai. Saya pikir Anda pada dasarnya akan kembali ke komunikasi serial seperti RS-232 yang tidak memiliki bingkai atau header, tetapi bergantung pada kabel tambahan untuk kontrol data.

Ron Maupin
sumber
Wi-Fi (IEEE 802.11) bukan ethernet (IEEE 802.3) Ok, saya baru saja mengubah bagian dari pertanyaan untuk menghindari kebingungan ini. Sekarang, sama sekali keluar dari topik, hanya untuk memikirkannya: beberapa produk diiklankan sebagai 'LAN ethernet nirkabel'.
Mark Messa
Saya telah melihat hal-hal seperti itu, tetapi itu tidak berarti itu benar. Wi-Fi dan bingkai ethernet berbeda, dan ethernet menggunakan deteksi tabrakan, tetapi Wi-Fi menggunakan penghindaran tabrakan. LAN lain menggunakan hal-hal seperti token untuk mencegah tabrakan sama sekali. Mereka semua adalah LAN yang berbeda, dan beberapa iklan tidak menjadikannya hal yang sama.
Ron Maupin
itu tidak berarti itu benar. Oke, saya setuju dengan Anda. Terima kasih untuk memperbaiki saya. Saya mengetahui perbedaan seperti CSMA / CD, CSMA / CA dan token. Namun, saya dibutakan oleh iklan seperti 'Wi-Fi adalah LAN ethernet nirkabel'.
Mark Messa
Anda juga tidak dapat mengharapkannya untuk melewati router apa pun. Tidak akan ada router, switch atau jembatan, hanya komunikasi point-to-point. Saya baru saja mengedit pertanyaan untuk menghindari kebingungan ini.
Mark Messa
1
@MarkMessa Saya tidak ingin menghindari menggunakan bingkai, saya hanya mempertimbangkan untuk menghindari menggunakan header MAC. Itu sebabnya permintaan Anda membingungkan. Anda tampaknya tidak mengerti bahwa tanpa header L2 mereka tidak lagi Ethernet atau 802.11 frame. Anda harus menulis protokol L2 Anda sendiri agar berfungsi tanpa header L2 yang ada di 802.3 atau 802.11.
YPelajari
7

Berdasarkan pertanyaan dan komentar Anda, saya pikir Anda kehilangan poin dari dua artikel yang Anda referensikan.

Ketika mereka berbicara tentang "Raw Ethernet," mereka berbicara tentang bingkai data yang tidak mengandung header IP (L3) atau TCP / UDP (L4). Mereka tidak berbicara tentang menggunakan frame L2 tanpa header L2.

Tanpa header L2, sebuah frame tidak akan menjadi sebuah 802.3 (Ethernet) atau sebuah frame 802.11. Itu akan menjadi sesuatu yang sama sekali berbeda. Protokol L2 terpisah.

Apakah ada kendala perangkat keras (yaitu: kartu Wi-Fi) yang dapat merusak upaya tersebut?

Tidak termasuk header L2? Benar. Anda harus menentukan adaptor khusus untuk mendapatkan jawaban spesifik, tetapi saya ragu Anda bahkan dapat menulis driver yang akan bekerja dengan sebagian besar adapter 802.3 atau 802.11 yang tidak termasuk header L2. Dugaan saya adalah bahwa sebagian besar adaptor akan menolak / menjatuhkan frame sebagai cacat baik sebelum mengirim atau setelah menerimanya.

Mengirim hanya bingkai 802.3 atau 802.11 yang tidak termasuk header IP atau TCP / UDP? Tidak. Ini terjadi sepanjang waktu sebagai bagian dari operasi jaringan normal dan telah berlangsung selama beberapa dekade (setidaknya untuk 802,3; 802,11 belum ada selama tetapi setidaknya satu dekade).

Oleh karena itu, apakah ada kendala perangkat keras (yaitu: kartu Wi-Fi) yang akan merusak penghapusan Header Mac?

Lihat di atas.

YPelajari
sumber
kebanyakan adapter akan menolak / menjatuhkan frame saya kira ini menjawab pertanyaan saya. Nanti saya akan menyerahkan jawaban saya sendiri agar tidak kehilangan semua komentar 'singkat' yang menarik.
Mark Messa
tolak / jatuhkan bingkai sebagai cacat baik sebelum mengirim atau setelah menerimanya. Sejauh yang saya tahu, dalam mode monitor Anda dapat mendengar segala jenis bingkai, bahkan yang salah bentuk (mis: CRC yang salah). Namun, anehnya, perangkat keras tidak memungkinkan Anda untuk menyiarkan frame tanpa header MAC.
Mark Messa
koreksi kecil: Namun, anehnya, adaptor tidak memungkinkan Anda untuk menyiarkan frame tanpa header MAC.
Mark Messa
2
@MarkMessa "Sejauh yang saya tahu, dalam mode monitor Anda dapat mendengar segala jenis bingkai, bahkan yang cacat (mis: CRC yang salah)" Ini sepenuhnya tergantung pada perangkat yang dimaksud. Banyak adaptor (termasuk sakelar) akan memproses dan menjatuhkannya bahkan sebelum mengirimkannya untuk ditangkap / dicerminkan / dibentangkan. Seringkali Anda bahkan tidak akan melihat trailer Ethernet dengan CRC dalam tangkapan.
YPelajari
1

Saya ingin melakukan tes serupa tetapi di lingkungan nirkabel.

Lihatlah Wifibroadcast (Linux, beberapa dukungan Android) yang melakukan hal itu. Ringkasan singkat: ia menggunakan sepasang adapter wifi, satu dalam mode injeksi, yang lain dalam mode monitor, dan mentransmisikan data menggunakan frame wifi mentah. Ini adalah koneksi searah. Meskipun awalnya dipahami sebagai metode untuk mengirimkan umpan video latensi rendah, tentu saja dapat digunakan untuk semua jenis data.

Apakah ada kendala perangkat keras (yaitu: kartu Wi-Fi) yang dapat merusak upaya tersebut?

Iya. Ada adaptor yang berfungsi lebih baik, dan adaptor yang bekerja kurang baik, jika ada. Beberapa adapter dalam mode mentah tidak dapat mengandung throughput tinggi, beberapa adapter perlu memiliki firmware mereka yang dimodifikasi. Beberapa adapter bekerja di band 2.4GHz dan beberapa di 5GHz dan beberapa di keduanya.

Radovan Garabík
sumber
0

Iya. Secara teori , Anda dapat menjalankan ethernet point-to-point seperti itu. Kedua titik akhir harus dalam mode promiscuous untuk menghapus 802.3 header MAC Ethernet (jika tidak frame tidak termasuk NIC dan akan diabaikan.) Tentu saja, melakukan ini berarti Anda tidak menjalankan "ethernet".

Ricky Beam
sumber
mode promiscuous Ini adalah masalah yang sangat penting yang saya harap akan diangkat. Dalam mode promiscuous, frame yang ditujukan ke alamat MAC yang berbeda dari milik Anda tidak akan dibuang oleh kartu Wi-Fi. Namun, hal yang sama tidak berlaku untuk BSSID (koreksi saya jika saya salah). Jika frame tidak ditujukan ke BSSID Anda, kartu Wi-Fi akan membuangnya. Apakah mungkin untuk menghindari itu dan menerima SEMUA bingkai mencapai kartu Anda? (mode monitor?)
Mark Messa
mode promiscuous untuk menghapus 802.3 header Ethernet MAC Berdasarkan jawaban @YLearn, tampaknya perangkat keras tidak akan menerima frame tanpa header L2.
Mark Messa