افتح المِنصّة وفكّك إطار MAC في 802.11 — افكّ كلمة Frame Control إلى نوعٍ ونوعٍ فرعي، واجمع أطوال حقوله، وتحقّق أنّ مؤخّرة FCS هي CRC-32 حقيقية، واقرأ معدّل الطبقة الفيزيائية MCS. توقَّع كل رقم قبل أن تؤكّده القراءة.
إطار MAC في 802.11 تتابعٌ ثابت من الحقول: Frame Control (2) | Duration/ID (2) | Address 1/2/3 (6 each) | Sequence Control (2) | [Address 4 (6)] | Frame Body | FCS (4). الإزاحات متلاصقة، فتُجمَع أطوال الحقول لتساوي الطول الكلّي: ترويسةٌ من 24 بايت (30 مع Address 4)، والجسم، ومؤخّرةٌ من 4 بايتات. تلك المؤخّرة، FCS، هي CRC-32 بكثير الحدود المعكوس 0xEDB88320 (IEEE 802.3) — نفسها التي قيمتها المرجعية على "123456789" هي 0xCBF43926، وهكذا تعرف أنّ الـCRC-32 حقيقية. ومؤشّر MCS يسمّي التضمين ومعدّل الترميز فقط؛ أمّا معدّل الطبقة الفيزيائية فيُحسَب من المعطيات الفيزيائية، لا يُبحَث عنه في جدول.
افتح المِنصّة. تفتح على إطار Beacon افتراضي (Frame Control 0x0080، وجسمٍ من 64 بايت، وMCS 5)، فزرّ «إعادة الضبط» يعيدك إلى الخطوة الأولى. تُسمّي كل خطوة المؤشّر الوحيد الذي تُحرّكه، واترك البقية كما هي.
Frame Control (hex) -> 0x0080 Frame body length -> 64 bytes MCS index -> set per step (5, then 7)
Include Address 4 -> off Short guard interval -> off Flip one byte -> off Reset -> 0x0080, 64 bytes, MCS 5
راقب بطاقتَي Frame type وTotal length، ولوحة مرجع FCS — CRC-32، ولوحة MCS index → PHY data rate — كل رقم تتوقّعه مطبوع هناك.
اترك Frame Control 0x0080 الافتراضية. النوع الفرعي هو البتّات 4–7 من الكلمة ذات الـ16 بت: 0x0080 = 0000 0000 1000 0000، فتقرأ البتّات 4–7 1000. توقَّع رقم النوع الفرعي، ثم اقرأ بطاقة Frame type ولوحة Frame Control, bit by bit.
النوع الفرعي هو 8، ومع النوع 0 (Management) يكون ذلك إطار Beacon — الإطار الذي تبثّه نقطة الوصول لتُعلن عن نفسها. البتّات 1000 = 8.
أبقِ الجسم من 64 بايت وAddress 4 مُطفأة. الإزاحات متلاصقة، فالطول الكلّي هو الترويسة + الجسم + FCS = 24 + 64 + 4. توقَّع طول الإطار الكلّي بالبايت، ثم اقرأ بطاقة Total length.
تقرأ البطاقة 92 بايت — 24 + 64 + 4. شغّل Address 4 فتنمو الترويسة إلى 30، فيقفز الكلّي 6 بايتات تمامًا إلى 98.
مؤخّرة FCS هي CRC-32 بكثير الحدود المعكوس 0xEDB88320. أيّ CRC-32 صحيحة تُعطي قيمةً ثابتةً واحدة على السلسلة "123456789" — قيمتها المرجعية. توقَّع ما تُعطيه CRC-32 في المِنصّة لتلك السلسلة، ثم اقرأ صفّ Standard check value من لوحة مرجع FCS — CRC-32.
القيمة هي 0xCBF43926 — أي 3421780262 بالنظام العشري، وهي قيمة CRC-32 المرجعية. تعيد المِنصّة إنتاجها تمامًا، فمؤخّرة FCS فيها هي CRC-32 الحقيقية لـIEEE 802.3، لا بديلًا. اقلب بايتًا واحدًا فلا تعود الـCRC المُعاد حسابها تطابق المؤخّرة — فيُقرأ الإطار «تالفًا».
اسحب MCS index من 5 إلى 7، مع إبقاء الفاصل الحارس القصير مُطفأً وتيّارٍ واحد. المعدّل هو N_SD · N_BPSCS · R · N_SS / T_SYM مع N_SD = 52 وT_SYM = 4.0 µs. توقَّع معدّل الطبقة الفيزيائية، ثم اقرأ لوحة MCS index → PHY data rate.
تقرأ اللوحة 65 Mb/s — 64-QAM بمعدّل ترميز 5/6 على 52 حاملًا فرعيًّا في رمزٍ من 4.0 µs. شغّل الفاصل الحارس القصير فيرتفع نحو 11% إلى 72.22 Mb/s (4.0 / 3.6).
كل ما سبق ينتظرك في المِنصّة. اكتب قيمة Frame Control ستّ عشرية جديدة وراقب البتّات الستّ عشرة والرايات تتغيّر، ومدّد الجسم لترى كل إزاحةٍ بعده تنزاح، وبدّل Address 4 لتضيف +6 بايتات، واقلب بايتًا لتكسر FCS، وحرّك مؤشّر MCS لتراقب معدّل الطبقة الفيزيائية يتسلّق.
- فككتَ Frame Control 0x0080 إلى النوع الفرعي 8 — إطار Management / Beacon
- جمعتَ أطوال الحقول إلى 92 بايت — 24 + 64 + 4، ورأيتَ Address 4 يضيف 6
- أكّدتَ أنّ FCS هي CRC-32 حقيقية: قيمتها المرجعية على "123456789" هي 0xCBF43926 = 3421780262
- حسبتَ معدّل الطبقة الفيزيائية لـMCS 7 فكان 65 Mb/s — 64-QAM، معدّل 5/6، تيّارٌ واحد، حارسٌ طويل
- كل قيمة توقّعتها هي حساب العرض الدقيق نفسه، لا صورة تقريبية