เฟรม Raw-Ethernet


10

เมื่อเร็ว ๆ นี้ฉันสับสนกับบทความต่อไปนี้เกี่ยวกับเฟรม Raw-Ethernet:

อีเธอร์เน็ต RAW เทียบกับการส่งข้อความUDP
โดยใช้เฟรมอีเทอร์เน็ตแบบ Raw

สั้น ๆ พวกเขาทั้งสองกล่าวว่าเป็นไปได้ที่จะสร้างการสื่อสารแบบจุดต่อจุดโดยใช้เพียงอีเธอร์เน็ตเลเยอร์ ในกรณีดังกล่าวโอเวอร์เฮดของเลเยอร์ IP และ TCP จะหลีกเลี่ยงและปริมาณงานจะเพิ่มขึ้น (ประมาณ 50% ตามเกณฑ์มาตรฐานบางอย่าง)

ฉันต้องการทำแบบทดสอบที่คล้ายกัน แต่ในสภาพแวดล้อมแบบไร้สาย อย่างไรก็ตามฉันมีปัญหาบางอย่าง:

ปัญหาที่ 1
มีข้อ จำกัด ด้านฮาร์ดแวร์ (เช่น: การ์ด Wi-Fi) ที่อาจบ่อนทำลายความพยายามดังกล่าวหรือไม่?

ฉบับที่ 2
บทความทั้งสองเลือกรูปแบบเฟรมต่อไปนี้:

คำนำ ตัวคั่น | ส่วนหัวของ Mac น้ำหนักบรรทุก แพด | ซีอาร์ซี

เท่าที่ฉันรู้คำนำตัวคั่นแผ่นและ CRC จะถูกเพิ่มโดยอุปกรณ์อีเธอร์เน็ตในทุกเฟรมและไม่สามารถเปลี่ยนแปลงได้ผ่านซอฟต์แวร์ ฉันเดาด้วยอุปกรณ์ Wi-Fi คล้ายกัน ดังนั้นมีข้อ จำกัด ด้านฮาร์ดแวร์ (เช่น: การ์ด Wi-Fi) ที่จะบ่อนทำลายการลบส่วนหัวของ Mac หรือไม่

ps: พิจารณาว่าการสื่อสารจะเป็นแบบจุดต่อจุดเช่นไม่มีเราเตอร์สวิตช์สะพาน ... ไม่มีการเชื่อมต่ออินเทอร์เน็ต


2
การรับส่งข้อมูลที่ไม่ใช่ IP ผ่านอีเธอร์เน็ตเป็นส่วนหนึ่งของเครือข่ายมานานหลายสิบปีดังนั้นฉันจึงไม่ชัดเจนในสิ่งที่คุณพยายามตอบรับจริงๆและบางทีคุณอาจต้องเรียนรู้เพิ่มเติมเกี่ยวกับพื้นฐานของเครือข่าย ไม่มีสิ่งเช่น "อีเธอร์เน็ตการ์ดไร้สาย" เป็น 802.3 อีเธอร์เน็ตและไร้สาย 802.11 เป็นสองมาตรฐานที่แตกต่างกันอย่างสิ้นเชิง ดังนั้นรูปแบบเฟรมของคุณในฉบับที่ 2 จะไม่ใช้กับเครือข่าย 802.11 แต่เฟรมมีข้อกำหนดบางอย่างตามมาตรฐานซึ่งเป็นสาเหตุที่องค์ประกอบหลายรายการในเฟรมที่คุณระบุไม่สามารถกำหนดค่าได้
YLearn

1
@YLearn ทราฟฟิกNon-IP ผ่านอีเธอร์เน็ตเป็นส่วนหนึ่งของเครือข่ายมานานหลายทศวรรษแล้ว แต่ในเวลานั้นอุปกรณ์อีเธอร์เน็ตก็ไม่ได้ 'ฉลาด' เหมือนในทุกวันนี้ ฉันสงสัยว่าค่าใช้จ่ายในการ 'ฉลาด' กำลังสูญเสียความยืดหยุ่นหรือไม่
Mark Messa

@YLearn จะไม่ใช้กับเครือข่าย 802.11เลยฉันรู้ว่าคอมพิวเตอร์เครื่องอื่นที่เชื่อมต่อในเครือข่าย 802.11 มาตรฐานจะไม่รู้จักเฟรมดังกล่าวว่าเป็นเฟรมที่ถูกต้อง อย่างไรก็ตามมันเป็นไปได้ที่จะส่ง / รับเฟรมดังกล่าวหรือไม่? หรือฮาร์ดแวร์ไม่อนุญาต
Mark Messa

@MarkMessa เฟรมจากโฮสต์หนึ่งไปยังโฮสต์อื่นบน LAN เดียวกันจะได้รับโดยโฮสต์ที่สอง คำถามคือพวกเขาจะถูกส่งไปยังเลเยอร์ด้านบนในสแต็กเครือข่ายภายในโฮสต์หรือไม่ หากโฮสต์ที่รับมีสแต็ก IP เท่านั้นและเฟรมเพย์โหลดไม่ใช่ IP ข้อมูลจะถูกละเว้น คุณต้องเรียนรู้เกี่ยวกับแบบจำลอง OSI เพื่อรับแนวคิดทั่วไปเกี่ยวกับวิธีการส่งผ่านข้อมูลจากโฮสต์หนึ่งไปยังอีกโฮสต์หนึ่ง
Ron Maupin

@MarkMessa เกี่ยวกับความคิดเห็นแรกของคุณแม้ว่าอุปกรณ์อีเธอร์เน็ตจะ“ ฉลาดขึ้น” อีเธอร์เน็ตยังคงทำงานเป็นอีเธอร์เน็ต 802.3 ไม่เคยมีและไม่เคยต้องการการใช้ IP ตัวอย่างเช่นในขณะที่หายาก Ethernet ในปัจจุบันจะยังคงรองรับ Appletalk หรือ IPX / SPX อย่างมีความสุขเช่นเคยหรือไม่มีเลเยอร์โปรโตคอลที่สูงกว่าเลย (หลายสิ่งยังคงใช้เพียง L2 เพื่อการสื่อสาร) สำหรับความคิดเห็นที่สองของคุณฉันไม่แน่ใจว่าคุณหมายถึงอะไรโดย "เป็นไปได้ที่จะรับ / ส่งเฟรมดังกล่าว" คุณไม่สามารถส่งเฟรม 802.3 มากกว่า 802.11 แต่มีการสื่อสาร 802.11 เท่านั้นที่ไม่เกี่ยวข้องกับ IP
YLearn

คำตอบ:


8

อันดับแรก Wi-Fi (IEEE 802.11) ไม่ใช่อีเธอร์เน็ต (IEEE 802.3) มากกว่าโทเค็นริง (IEEE 802.5) หรือมาตรฐาน IEEE LAN อื่น ๆ ที่ไม่ใช่ 802.3 อื่น ๆ ที่เป็น 802.11 ส่วนหัวของเฟรมแตกต่างกันสำหรับ Wi-Fi และอีเธอร์เน็ต

Wi-Fi, อีเธอร์เน็ต, โทเค็นริง, FDDI ฯลฯ เป็นมาตรฐาน LAN ทั้งหมดสำหรับ OSI เลเยอร์ 1 และเลเยอร์ 2 ซึ่งห่อหุ้มดาตาแกรมสำหรับโปรโตคอลเลเยอร์บน แต่ละคนสามารถส่งเลเยอร์โปรโตคอล -3 ซึ่ง IP เป็นเพียงหนึ่งเดียว

คุณมีอิสระในการสร้างของคุณเองหรือใช้หนึ่งในโปรโตคอลเลเยอร์ 3 ที่มีอยู่สำหรับหนึ่งในโปรโตคอล IEEE LAN แต่คุณจะต้องมีเฟรมสำหรับโปรโตคอล LAN ที่คุณเลือก อย่าคาดหวังว่าจะสามารถทำงานร่วมกับอุปกรณ์ใด ๆ ที่ไม่ได้ใช้สแต็คโพรโทคอลของคุณและคุณไม่สามารถคาดหวังให้มันทำงานผ่านเราเตอร์ใด ๆ ที่ไม่มีโพรโทคอลสแต็คของคุณ บริดจ์เช่นสวิตช์อีเธอร์เน็ตหรือ WAP จะส่งโปรโตคอลเลเยอร์ชั้นบนของคุณเนื่องจากทำงานที่เลเยอร์ 2 ดังนั้นคุณจึงสามารถสร้าง LAN ได้

คุณจะต้องมีส่วนหัวของเฟรมสำหรับประเภท LAN ที่คุณใช้งาน สำหรับสิ่งหนึ่งโฮสต์หนึ่งส่งไปยังโฮสต์อื่นโดยไม่มีที่อยู่เลเยอร์ 2 ในเฟรมได้อย่างไร ฉันคิดว่าคุณจะกลับไปใช้การสื่อสารแบบอนุกรมเช่น RS-232 ที่ไม่มีเฟรมหรือส่วนหัว แต่อาศัยสายเพิ่มเติมสำหรับการควบคุมข้อมูล


Wi-Fi (IEEE 802.11) ไม่ใช่อีเธอร์เน็ต (IEEE 802.3)ตกลงฉันเพิ่งเปลี่ยนบางส่วนของคำถามเพื่อหลีกเลี่ยงความสับสนนี้ ตอนนี้ปิดหัวข้ออย่างสมบูรณ์เพื่อคิดดู: ผลิตภัณฑ์หลายรายการถูกโฆษณาเป็น 'LAN อีเธอร์เน็ตไร้สาย'
Mark Messa

ฉันได้เห็นสิ่งต่าง ๆ แต่นั่นไม่ได้หมายความว่าถูกต้อง เฟรม Wi-Fi และอีเธอร์เน็ตแตกต่างกันและอีเธอร์เน็ตใช้การตรวจจับการชนกัน แต่ Wi-Fi ใช้การหลีกเลี่ยงการชน LAN อื่น ๆ ใช้สิ่งต่าง ๆ เช่นโทเค็นเพื่อป้องกันการชนกันโดยสิ้นเชิง พวกเขาต่างกันทุก LAN และโฆษณาบางอย่างก็ไม่ทำให้พวกเขาเหมือนกัน
Ron Maupin

ไม่ได้หมายความว่าถูกต้อง ตกลงฉันเห็นด้วยกับคุณ ขอบคุณที่ถูกต้องฉัน ฉันตระหนักถึงความแตกต่างเช่น CSMA / CD, CSMA / CA และโทเค็น อย่างไรก็ตามฉันถูกโฆษณามืด ๆ เช่น 'Wi-Fi is wireless LAN Ethernet'
Mark Messa

และคุณไม่สามารถคาดหวังให้มันทำงานผ่านเราเตอร์ใด ๆจะไม่มีเราเตอร์สวิตช์หรือบริดจ์การสื่อสารแบบจุดต่อจุดเท่านั้น ฉันเพิ่งแก้ไขคำถามเพื่อหลีกเลี่ยงความสับสนนี้
Mark Messa

1
@ MarkMessa ฉันไม่ต้องการหลีกเลี่ยงการใช้เฟรมฉันแค่คิดที่จะหลีกเลี่ยงการใช้ส่วนหัวของ MAC นั่นคือเหตุผลที่คำขอของคุณสับสน คุณดูเหมือนจะไม่เข้าใจว่าหากไม่มีส่วนหัว L2 พวกเขาจะไม่ใช่อีเธอร์เน็ตหรือเฟรม 802.11 อีกต่อไป คุณจะต้องเขียนโปรโตคอล L2 ของคุณเองเพื่อให้ทำงานได้โดยไม่ต้องมีส่วนหัว L2 ใน 802.3 หรือ 802.11
YLearn

7

จากคำถามและความคิดเห็นของคุณฉันคิดว่าคุณพลาดจุดสองบทความที่คุณกำลังอ้างถึง

เมื่อพวกเขากำลังพูดถึง "Raw Ethernet" พวกเขากำลังพูดถึงเฟรมข้อมูลที่ไม่มีส่วนหัว IP (L3) หรือ TCP / UDP (L4) ใด ๆ พวกเขาไม่ได้พูดถึงการใช้เฟรม L2 โดยไม่มีส่วนหัว L2

หากไม่มีส่วนหัว L2 เฟรมจะไม่ใช่ 802.3 (Ethernet) หรือเฟรม 802.11 มันจะเป็นอย่างอื่นอย่างสิ้นเชิง โปรโตคอล L2 แยกต่างหาก

มีข้อ จำกัด ด้านฮาร์ดแวร์ (เช่น: การ์ด Wi-Fi) ที่อาจบ่อนทำลายความพยายามดังกล่าวหรือไม่?

ของการไม่รวมส่วนหัว L2? อย่างแน่นอน คุณจะต้องระบุอะแดปเตอร์เฉพาะเพื่อรับคำตอบเฉพาะ แต่ฉันสงสัยว่าคุณสามารถเขียนไดรเวอร์ที่ใช้งานได้กับอะแดปเตอร์ 802.3 หรือ 802.11 ส่วนใหญ่ที่ไม่มีส่วนหัว L2 ฉันเดาว่าอะแดปเตอร์ส่วนใหญ่จะปฏิเสธ / วางเฟรมผิดรูปอย่างใดอย่างหนึ่งก่อนที่จะส่งหรือรับ

การส่งเพียงเฟรม 802.3 หรือ 802.11 ที่ไม่มีส่วนหัว IP หรือ TCP / UDP ไม่สิ่งนี้เกิดขึ้นตลอดเวลาซึ่งเป็นส่วนหนึ่งของการดำเนินงานเครือข่ายปกติและมีมานานหลายทศวรรษ (อย่างน้อยสำหรับ 802.3; 802.11 นั้นไม่ได้มีมานาน แต่อย่างน้อยก็เป็นทศวรรษ)

ดังนั้นมีข้อ จำกัด ด้านฮาร์ดแวร์ (เช่น: การ์ด Wi-Fi) ที่จะบ่อนทำลายการลบส่วนหัวของ Mac หรือไม่

ดูด้านบน.


อะแดปเตอร์ส่วนใหญ่จะปฏิเสธ / วางเฟรมฉันเดาว่านี่จะตอบคำถามของฉัน หลังจากนั้นฉันจะส่งคำตอบของตัวเองเพื่อไม่ให้สูญเสียความคิดเห็น 'ชั่วคราว' ที่น่าสนใจทั้งหมด
Mark Messa

ปฏิเสธ / วางเฟรมผิดรูปอย่างใดอย่างหนึ่งก่อนที่จะส่งหรือเมื่อได้รับมัน เท่าที่ฉันรู้ในโหมดจอภาพคุณสามารถได้ยินเฟรมใด ๆ แม้กระทั่งคนผิดรูป (เช่น CRC ผิด) อย่างไรก็ตามฮาร์ดแวร์ไม่อนุญาตให้คุณออกอากาศเฟรมโดยไม่มีส่วนหัวของ MAC
Mark Messa

การแก้ไขเล็กน้อย: อย่างไรก็ตามสิ่งที่น่าแปลกใจคืออะแดปเตอร์ไม่อนุญาตให้คุณออกอากาศเฟรมโดยไม่มีส่วนหัว MAC
Mark Messa

2
@ MarkMessa "เท่าที่ฉันรู้ในโหมดจอภาพคุณสามารถได้ยินเฟรมใด ๆ แม้กระทั่งรูปแบบผิดปกติ (เช่น CRC ผิด)"นี่ขึ้นอยู่กับอุปกรณ์ที่สงสัย อะแดปเตอร์จำนวนมาก (รวมถึงสวิทช์) จะประมวลผลและวางสิ่งเหล่านี้แม้กระทั่งก่อนที่จะส่งไปยังการจับ / มิเรอร์ / สแปน บ่อยครั้งที่คุณจะไม่เห็นแม้แต่อีเทอร์เน็ตเทรลเลอร์ด้วย CRC
YLearn

1

ฉันต้องการทำแบบทดสอบที่คล้ายกัน แต่ในสภาพแวดล้อมแบบไร้สาย

ดู Wifibroadcast (Linux, รองรับ Android บางอย่าง) ซึ่งทำเช่นนั้น สรุปโดยย่อ: ใช้อะแดปเตอร์ไร้สายหนึ่งตัวหนึ่งในโหมดการฉีดอีกอันในโหมดมอนิเตอร์และส่งข้อมูลโดยใช้เฟรม wifi แบบดิบ นี่คือการเชื่อมต่อทิศทางเดียว ในขณะที่คิดว่าเป็นวิธีการในการส่งฟีดวิดีโอความหน่วงต่ำ แต่เดิมสามารถใช้กับข้อมูลทุกประเภทได้

มีข้อ จำกัด ด้านฮาร์ดแวร์ (เช่น: การ์ด Wi-Fi) ที่อาจบ่อนทำลายความพยายามดังกล่าวหรือไม่?

ใช่. มีอะแดปเตอร์ที่ใช้งานได้ดีกว่าและมีอะแดปเตอร์ที่ใช้งานได้ดีกว่าหากมีเลย อะแดปเตอร์บางตัวในโหมด raw ไม่สามารถมีปริมาณงานสูงอะแดปเตอร์บางตัวจำเป็นต้องมีการปรับเปลี่ยนเฟิร์มแวร์ อะแดปเตอร์บางตัวทำงานในย่านความถี่ 2.4GHz และบางส่วนใน 5GHz และบางส่วนในทั้งสอง


0

ใช่. ในทางทฤษฎีคุณสามารถใช้อีเธอร์เน็ตแบบจุดต่อจุดได้ จุดปลายทั้งสองจะต้องอยู่ในโหมดที่หลากหลายเพื่อลบส่วนหัว 802.3 Ethernet MAC (มิฉะนั้นเฟรมไม่ได้เป็นของ NIC และจะถูกละเว้น) แน่นอนการทำเช่นนี้หมายความว่าคุณไม่ได้ใช้ "อีเธอร์เน็ต"


โหมด promiscuousนี่เป็นปัญหาสำคัญมากที่ฉันหวังว่าจะได้รับการเลี้ยงดู ในเฟรมโหมดสำส่อนที่จ่าหน้าถึงที่อยู่ MAC ที่แตกต่างจากของคุณจะไม่ถูกยกเลิกโดยการ์ด Wi-Fi อย่างไรก็ตามสิ่งเดียวกันไม่เป็นความจริงสำหรับ BSSID (แก้ไขฉันหากฉันผิด) หากเฟรมไม่ได้ส่งถึง BSSID ของคุณการ์ด Wi-Fi จะยกเลิกไป เป็นไปได้ไหมที่จะหลีกเลี่ยงปัญหานั้นและรับเฟรมทั้งหมดมาถึงการ์ดของคุณ? (โหมดจอภาพ?)
ทำเครื่องหมาย Messa

โหมดที่หลากหลายเพื่อลบส่วนหัว 802.3 Ethernet MACตามคำตอบ @YLearn ดูเหมือนว่าฮาร์ดแวร์จะไม่ยอมรับเฟรมหากไม่มีส่วนหัว L2
Mark Messa
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.