ตรวจจับเฟรม Ethernet ที่แตกต่างกัน


12

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

เนื่องจากโปรโตคอลนี้มีการจัดการทั้งขอบเขตทางกายภาพและตรรกะฉันจึงถือว่าความแตกต่างนั้นแยกออกจากกัน

การแยกเชิงตรรกะดำเนินการโดยใช้ฟิลด์โปรโตคอล "EtherType" หรือไม่ (เช่นได้รับความยาวของแพ็คเก็ตโดยใช้ประเภทของโปรโตคอลระดับสูงกว่าที่มีฟิลด์ความยาวอยู่ในส่วนหัวของมัน)

ความแตกต่างทางกายภาพเป็นเพียงการไม่ส่งสัญญาณไฟฟ้าหรือไม่? (สำหรับความรู้ของฉันสัญญาณไฟฟ้าสูง / ต่ำแสดงถึง 0/1 บิต)

คำตอบ:


14

แม้ว่า ytti จะได้รับคำตอบ แต่ก็มีรายละเอียดที่เกี่ยวข้องที่คุณอาจสนใจ ...

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

จริง ๆ แล้วอีเธอร์เน็ตมีการห่อหุ้มหลาย:

  • Ethernet II (โดยทั่วไปใช้สำหรับ IP ตามที่ระบุใน [RFC 894] คือการห่อหุ้มที่พบบ่อยที่สุด): ไม่มีฟิลด์ความยาวแต่จะใช้ฟิลด์ประเภทแทน ...
       +----+----+------+------+-----+
       | DA | SA | Type | Data | FCS |
       +----+----+------+------+-----+
                 ^^^^^^^^

       DA      Destination MAC Address (6 bytes)
       SA      Source MAC Address      (6 bytes)
       Type    Protocol Type           (2 bytes: >= 0x0600 or 1536 decimal)  <---
       Data    Protocol Data           (46 - 1500 bytes)
       FCS     Frame Checksum          (4 bytes)
  • 802.2 LLC Ethernet: มีฟิลด์ความยาว
       +----+----+------+------+------+------+-----+
       | DA | SA | Len  | LLC  | SNAP | Data | FCS |
       +----+----+------+------+------+------+-----+
                 ^^^^^^^^

       DA      Destination MAC Address (6 bytes)
       SA      Source MAC Address      (6 bytes)
       Len     Length of Data field    (2 bytes: <= 0x05DC or 1500 decimal)  <---
       LLC     802.2 LLC Header        (3 bytes)
       SNAP                            (5 bytes)
       Data    Protocol Data           (46 - 1492 bytes)
       FCS     Frame Checksum          (4 bytes)

โดยไม่คำนึงถึงการดำรงอยู่ของฟิลด์ความยาว 802.2 ของคุณก็สามารถตรวจสอบได้ในตอนท้ายของกรอบอีเธอร์เน็ตบนลวดโดยการมองหา96 บิต interframe Gap

การแยกเชิงตรรกะดำเนินการโดยใช้ฟิลด์โปรโตคอล "EtherType" หรือไม่ (เช่นได้รับความยาวของแพ็คเก็ตโดยใช้ประเภทของโปรโตคอลระดับสูงกว่าที่มีฟิลด์ความยาวอยู่ในส่วนหัวของมัน)

โดยการแยกทางตรรกะฉันคิดว่าคุณหมายถึงการแยกระหว่างโปรโตคอลที่แตกต่างกันที่ดำเนินการภายในอีเธอร์เน็ตเช่นการแยกแยะระหว่าง IPv4, IPv6 หรือ Spanning-Tree เฟรม

  • โดยปกติแล้ว Ethernet II จะใช้ฟิลด์ Type
  • 802.2 LLC อีเธอร์เน็ตได้ตามปกติใช้ห้าไบต์ขยาย 802.2 Ethernet SNAP โปรโตคอลจะถูกถอดรหัสด้วยส่วนขยาย SNAP เมื่อไบต์ 802.2 DSAP / SSAP เป็น 0xAAAA

ความแตกต่างทางกายภาพเป็นเพียงการไม่ส่งสัญญาณไฟฟ้าหรือไม่? (สำหรับความรู้ของฉันสัญญาณไฟฟ้าสูง / ต่ำแสดงถึง 0/1 บิต)

แบบง่ายใช่มีช่องว่าง 96 บิตระหว่างเฟรม Ethernet อย่างไรก็ตามโปรดทราบว่าอีเธอร์เน็ตใช้การเข้ารหัส 8b / 10b (FastEthernet) และการเข้ารหัส 64b / 66b (GigabitEthernet) ดังนั้นจึงไม่ถูกต้องทางเทคนิคในการพูดว่า "การส่งสัญญาณไฟฟ้า" เนื่องจาก 8b / 10b ไม่มี " สถานะ "เงียบ"


สำหรับสิ่งที่อยากรู้อยากเห็นฉันยังเชื่อมโยงไปยังข้อมูลจำเพาะของอีเธอร์เน็ตเวอร์ชัน 2ดั้งเดิม


7

อีเธอร์เน็ตมีคำนำและตัวคั่นเฟรมเริ่มต้นที่จุดเริ่มต้นและท้ายสุดมันมี 'IFG' หรือช่องว่างระหว่างเฟรม สิ่งเหล่านี้ใช้เพื่อกำหนดจุดเริ่มต้นและจุดสิ้นสุดของเฟรม


มันคือการแยกในทางกายภาพหรือขอบเขตตรรกะหรือไม่? อย่างไรก็ตามจะเกิดอะไรขึ้นถ้าเขตข้อมูลของโปรโตคอลจะมีข้อมูล / ตัวอักษร / สัญญาณที่เหมือนกับตัวคั่นเริ่มต้น / สิ้นสุด
เฟล

1
ช่องว่างค่อนข้างแท้จริงเพียงว่าไม่มีความเสี่ยงในการค้นหาในส่วนของข้อมูล อย่างไรก็ตามในบริบทอื่น ๆ ที่ไม่ใช่อีเธอร์เน็ตนี่เป็นสิ่งที่น่ากังวลและสามารถแก้ไขได้ด้วยการทำให้แน่ใจว่าสัญลักษณ์บางอย่างไม่เคยใช้ในการเข้ารหัสข้อมูล แต่สำหรับการส่งสัญญาณเท่านั้น แต่จะลดประสิทธิภาพในการทิ้งสัญลักษณ์บางอย่าง ข้อมูล.
ytti
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.