بنية الـ Frame في الشبكات — شرح كل حقل من En-tête إلى CRC

تعرف على بنية الـ Frame في Data Link Layer: حقول En-tête والبيانات و Queue de bande وكشف الأخطاء بـ CRC، مع معاييرالمستخدمة في الشبكة.
Cybersecurity Arab

كثيراً ما يختلط على المبتدئين مصطلحا Packet وFrame، وكأنهما نفس الشيء. لكن الحقيقة أن بينهما فرقاً جوهرياً يُشكّل أساس فهم كيف تتنقل البيانات عبر الشبكة. الـ Packet هو وحدة البيانات في الطبقة الثالثة، يحمل عناوين IP ويهتم بالمسار من المصدر إلى الوجهة النهائية. أما الـ Frame فهو وحدة البيانات في الطبقة الثانية، يُغلّف الـ Packet ويُحضّره للإرسال على الوسيط المحلي.

بنية الـ Frame في الشبكات — شرح كل حقل من En-tête إلى CRC
بنية الـ Frame في الشبكات — شرح كل حقل من En-tête إلى CRC

الفكرة ببساطة: تخيّل أنك تشحن قطعة أثاث من المغرب إلى اليابان. القطعة نفسها هي الـ Packet، لكنها تمر بعدة مراحل نقل: تُوضع في صندوق خشبي داخل شاحنة من الدار البيضاء إلى الميناء، ثم تُنقل في حاوية على سفينة، ثم تُحمل في شاحنة أخرى حتى تصل. كل وسيلة نقل تُغلّف الصندوق بطريقتها الخاصة. هذه الأغلفة المتغيرة هي الـ Frames.

جدول المحتويات

في هذا المقال ستتعرف على بنية الـ Frame بالتفصيل الكامل: ما هي مكوناته الثلاثة؟ ماذا يحتوي كل حقل؟ كيف يعمل CRC لحماية البيانات؟ ولماذا تختلف بنية الإطار من بروتوكول لآخر؟

من أين تبدأ؟ هذا المقال جزء من سلسلة تعليمية متكاملة. إذا لم تقرأ بعد مقالنا عن طبقة ربط البيانات والفرق بين LLC وMAC، ننصحك بالبدء بهما أولاً للحصول على الفهم الكامل.
وجه المقارنة Packet Frame
الطبقة Layer 3 — Network Layer 2 — Data Link
العنوان المستخدم عناوين IP عناوين MAC
النطاق من المصدر إلى الوجهة النهائية من عقدة إلى العقدة التالية فقط
يتغير في الطريق؟ لا، يبقى كما هو نعم، يُعاد بناؤه عند كل راوتر
العلاقة بينهما الـ Frame يُغلّف الـ Packet بالكامل

مكونات الـ Frame الثلاثة: En-tête / Données / Queue de bande

أياً كان البروتوكول الذي يستخدمه الـ Frame، سواء Ethernet أو Wi-Fi أو HDLC، فإن بنيته الأساسية تتكون دائماً من ثلاثة أقسام رئيسية متتالية:

القسم الأول: En-tête — رأس الإطار

يقع في بداية الإطار ويحمل جميع معلومات التحكم التي يحتاجها الجهاز المُستقبِل قبل أن يبدأ في قراءة البيانات. يتضمن: علامة البداية، عناوين MAC المصدر والوجهة، نوع البروتوكول، ومعلومات التحكم في الجودة. هو "غلاف المظروف" الذي يحمل عنوان المُرسِل والمُستقبِل.

القسم الثاني: Données — البيانات

هو جوهر الإطار وسبب وجوده. يحمل الحمولة الفعلية التي نريد إرسالها، وهي في الغالب حزمة IP كاملة (رأس IP + رأس TCP/UDP + بيانات التطبيق). طبقة ربط البيانات لا تفتح هذا المحتوى ولا تُحلّله، بل تحمله فقط وتُوصّله، تماماً كما يحمل عامل البريد الرسالة دون أن يقرأها.

القسم الثالث: Queue de bande — ذيل الإطار

يقع في نهاية الإطار ويحمل معلومات ضرورية للتحقق من سلامة كل ما سبقه. أهم ما يحتويه هو قيمة CRC التي تعمل كبصمة رقمية للإطار. إذا تغيّر أي بت واحد في الإطار أثناء الإرسال، يكتشف ذلك فوراً ويُرفض الإطار.

الـ Frame كالمظروف البريدي الذكي: الرأس يحمل العناوين، الوسط يحمل الرسالة، والذيل يحمل ختم التحقق من السلامة. بدون أي من هذه الأجزاء، تفشل العملية كلها.

تشبيه لفهم بنية الإطار

حقول الـ Header بالتفصيل: من البداية حتى التحكم

الـ Header ليس كتلة واحدة متجانسة، بل يتكون من عدة حقول متتالية، لكل منها وظيفة محددة لا تُؤدّيها غيرها. سنأخذ إطار Ethernet كمثال لأنه الأكثر انتشاراً:

الحقل الأول: Début de trame — بداية الإطار

أول ما يصل للجهاز المُستقبِل ليس البيانات، بل إشارة تقول: "انتبه، إطار جديد بدأ الآن!". في Ethernet، يتكون هذا القسم من جزأين:

الجزء الحجم القيمة الوظيفة
Preamble 7 بايت 10101010 (×7) مزامنة الساعة بين المُرسِل والمُستقبِل
SFD — Start Frame Delimiter 1 بايت 10101011 إعلان رسمي ببدء الإطار الفعلي

الفارق بين Preamble وSFD يكمن في آخر بتين فقط: Preamble ينتهي بـ 10 بينما SFD ينتهي بـ 11. هذا التغيير الصغير هو ما يُخبر الجهاز: "انتهى التحضير، البيانات الحقيقية تبدأ الآن". بدون هذه المزامنة، لن يعرف الجهاز أين تبدأ البيانات وسيقرأ الإشارات بشكل خاطئ تماماً.

الحقل الثاني: Adressage — عناوين MAC

بعد علامة البداية، يأتي أهم حقلين في الرأس: عناوين MAC الوجهة والمصدر، كل منهما حجمه 6 بايت = 48 بت:

الحقل الحجم الوظيفة مثال
MAC الوجهة 6 بايت الجهاز الذي يجب أن يستقبل الإطار 00-07-E9-42-AC-28
MAC المصدر 6 بايت الجهاز الذي أرسل الإطار 00-07-E9-63-CE-53

يصل الإطار لكل جهاز على الشبكة المحلية، وكل جهاز يقرأ عنوان MAC الوجهة ويُقارنه بعنوانه: تطابق يعني "هذا لي" فيقبله، واختلاف يعني "هذا لغيري" فيتجاهله فوراً. هذه الآلية البسيطة هي التي تجعل الشبكات المحلية تعمل بكفاءة دون أن تُثقل كل جهاز بمعالجة إطارات ليست له.

نقطة جوهرية! عنوان MAC الوجهة يتغير عند كل قفزة (Hop) بين الراوترات لأن الراوتر يُنشئ إطاراً جديداً مناسباً للشبكة التالية. لكن عناوين IP داخل الـ Packet تبقى ثابتة من المصدر حتى الوجهة النهائية. هذا الفرق أساسي لفهم كيف يعمل التوجيه في الشبكات.

الحقل الثالث: Type / EtherType — نوع البروتوكول

حقل بحجم 2 بايت يُحدد نوع البروتوكول الموجود في حقل البيانات. هذا هو الحقل الذي تستخدمه طبقة LLC لمعرفة كيف تُعالج البيانات بعد فك التغليف:

القيمة Hex البروتوكول ماذا يفعل الجهاز عند استقباله؟
0x0800 IPv4 يُحيل البيانات لمكدس IPv4
0x86DD IPv6 يُحيل البيانات لمكدس IPv6
0x0806 ARP يُعالجه كطلب ترجمة عناوين
0x8100 802.1Q VLAN يقرأ معلومات VLAN المُدمجة
0x8847 MPLS يُعالجه بآلية التوجيه السريع

بدون هذا الحقل، سيحاول الجهاز المُستقبِل معالجة جميع البيانات الواردة بنفس الطريقة، مما سيُسبب أخطاء فادحة حين تكون البيانات لبروتوكولات مختلفة. EtherType هو ما يجعل الشبكات الحديثة تدعم IPv4 وIPv6 وARP وغيرها في نفس الوقت على نفس البنية التحتية.

الحقل الرابع: Contrôle — التحكم في الجودة

ليس موجوداً في جميع البروتوكولات. في Ethernet الحديث تُدار خدمات التحكم في التدفق (Flow Control) وضمان الجودة (QoS) من طبقات أعلى. لكن في بروتوكولات مثل HDLC وFrame Relay، يحتوي هذا الحقل على معلومات ترقيم الإطارات وإدارة إعادة الإرسال على مستوى الطبقة الثانية مباشرة.

حقل كشف الأخطاء CRC — كيف يعمل؟

يقع هذا الحقل في الـ Queue de bande وهو الأكثر أهمية من الناحية التقنية. يُعرف بأسماء متعددة:

  • CRC — Cyclic Redundancy Check
  • FCS — Frame Check Sequence

حجمه في Ethernet هو 4 بايت = 32 بت، ويعمل كـ "بصمة رقمية" يُحسبها المُرسِل ثم يتحقق منها المُستقبِل. إذا تغيّر بت واحد في الإطار أثناء عبوره الكابل أو الهواء، يُكتشف ذلك فوراً.

خوارزمية CRC خطوة بخطوة

  1. عند المُرسِل — حساب البصمة: يُطبّق المُرسِل معادلة رياضية (قسمة متعددة الحدود — Polynomial Division) على محتوى الإطار كاملاً ويحصل على قيمة رقمية هي الـ CRC، ويُضيفها في ذيل الإطار قبل إرساله.
  2. أثناء الإرسال — احتمال التلف: الإطار يسير عبر الكابل أو الهواء، وقد يتعرض لتشويش كهربائي أو تداخل لاسلكي يُغيّر قيمة بعض البتات بشكل عشوائي.
  3. عند المُستقبِل — إعادة الحساب: يُطبّق المُستقبِل نفس المعادلة الرياضية على الإطار المُستقبَل ويحصل على قيمة CRC جديدة.
  4. المقارنة والقرار: يقارن المُستقبِل القيمتين. إذا تطابقتا ✅ الإطار سليم ويُقبل. إذا اختلفتا ❌ الإطار تالف ويُرفض فوراً.

CRC مثل بصمة الإبهام على وثيقة رسمية: تُثبت أن الوثيقة لم تُعدَّل منذ ختمها. أي تغيير ولو بسيط يجعل البصمة غير مطابقة.

تشبيه لفهم آلية CRC
تنبيه أمني مهم! CRC مصمَّم لاكتشاف الأخطاء العشوائية الناتجة عن تشويش الإرسال، وليس حماية أمنية ضد التلاعب المتعمد. المهاجم يستطيع تعديل الإطار وإعادة حساب CRC. للحماية من التلاعب المتعمد، يجب استخدام HMAC أو تشفير الإطارات بمعايير مثل MACsec (IEEE 802.1AE).

ماذا يحدث عند رفض الإطار؟

عندما يرفض الجهاز إطاراً بسبب خطأ في CRC، لا يُصلحه ولا يُعيد الإرسال تلقائياً. هذا قرار مقصود في تصميم نموذج OSI: مسؤولية إعادة الإرسال تقع على عاتق الطبقات العليا، تحديداً بروتوكول TCP في الطبقة الرابعة. أما UDP فلا يُعيد الإرسال أصلاً، وهذا أحد الفروق الجوهرية بينهما.

لماذا تختلف بنية الـ Frame حسب البروتوكول؟

لا يوجد "إطار موحّد" لجميع الشبكات. كل بروتوكول يُحدد بنية إطاره الخاص بناءً على خصائص الوسيط الذي يعمل عليه واحتياجاته التقنية. إليك أبرز الفروق:

البروتوكول المعيار أقصى حجم بيانات عدد عناوين MAC ميزة مميزة
Ethernet II IEEE 802.3 1500 بايت (MTU) 2 عناوين EtherType لتحديد البروتوكول
Wi-Fi IEEE 802.11 2304 بايت 4 عناوين حقول إضافية للتحكم اللاسلكي
HDLC ISO 13239 متغير متغير Flag 01111110 للبداية والنهاية
FDDI ANSI X3T9.5 4500 بايت 2 عناوين مُصمَّم للألياف البصرية

لماذا Wi-Fi يحتاج إلى 4 عناوين MAC؟

هذا السؤال يُربك كثيرين. الجواب بسيط: في الشبكات اللاسلكية، الاتصال لا يكون مباشراً دائماً بين جهازين، بل يمر عبر نقطة وصول (Access Point). لذا يحتاج الإطار لتتبع أربعة عناوين بدلاً من اثنين:

  1. عنوان MAC الجهاز المُرسِل الأصلي (المحطة)
  2. عنوان MAC نقطة الوصول المرتبطة بالمُرسِل
  3. عنوان MAC نقطة الوصول المرتبطة بالمُستقبِل
  4. عنوان MAC الجهاز المُستقبِل النهائي

ما هو MTU وكيف يؤثر على الـ Frame؟

الـ MTU (Maximum Transmission Unit) هو الحد الأقصى لحجم البيانات داخل إطار واحد. في Ethernet القياسي هو 1500 بايت. إذا كانت الحزمة أكبر، تُقسَّم قبل الإرسال في عملية تُسمى Fragmentation.

Jumbo Frames — متى نستخدمها؟ في بيئات مراكز البيانات عالية الأداء، يمكن رفع MTU إلى 9000 بايت ويُسمى الإطار حينئذٍ Jumbo Frame. هذا يُقلل من عدد الإطارات المُرسَلة ويُخفض العبء الإضافي (Overhead) على الأجهزة، مما يرفع الأداء الكلي للشبكة بشكل ملحوظ.

أهمية الـ Frame في تحليل الشبكات (Packet Analysis)

فهم بنية الـ Frame ليس نظرياً فقط، بل هو مهارة عملية يحتاجها كل مهندس شبكات ومختص أمن سيبراني. أداة Wireshark تُتيح لك التقاط الإطارات الحقيقية التي تعبر شبكتك ورؤية كل حقل بالتفصيل.

ما الذي تستطيع اكتشافه بتحليل الـ Frames؟

اكتشاف هجمات MAC Spoofing

عند تحليل الإطارات، تستطيع ملاحظة نفس عنوان MAC المصدر يظهر من منافذ Switch مختلفة، وهو ما لا يحدث في الشبكات الطبيعية. هذا مؤشر واضح على هجوم MAC Spoofing حيث يُغيّر المهاجم عنوانه لانتحال هوية جهاز آخر.

تشخيص مشاكل الأداء

ارتفاع نسبة الإطارات المرفوضة بسبب أخطاء CRC يُشير إلى مشكلة فيزيائية: كابل تالف، موصّل مُتسخ، أو تشويش كهربائي. هذا التشخيص يوفر ساعات من البحث العشوائي عن مصدر المشكلة.

تحليل البروتوكولات المُستخدَمة

قراءة حقل EtherType في آلاف الإطارات تُظهر لك خريطة كاملة للبروتوكولات التي تعمل على شبكتك: كم نسبة IPv4 مقابل IPv6؟ هل هناك بروتوكولات غير متوقعة؟ هل VLAN مُهيأة بشكل صحيح؟

اكتشاف هجمات ARP Poisoning

بتحليل إطارات ARP (EtherType = 0x0806)، تستطيع رصد حالات غير طبيعية: إطارات ARP مُرسَلة بكثرة مشبوهة من جهاز واحد، أو ردود ARP تُغيّر مداخل جدول ARP لأجهزة أخرى، وهو مؤشر واضح على هجوم تسميم ARP.

كيف تبدأ مع Wireshark؟

Wireshark مجاني ومتاح لجميع أنظمة التشغيل. بعد تثبيته، اختر واجهة الشبكة الخاصة بك وابدأ التقاط الإطارات. ستجد كل إطار مُفككاً إلى طبقاته: Ethernet Frame في الأسفل يحتوي على عناوين MAC، وفوقه IP Packet، وفوقه TCP أو UDP. حاول البحث عن حقل EtherType وقيمته لكل إطار، وستبدأ فوراً في رؤية ما تعلمته في هذا المقال على أرض الواقع.

تحدّي عملي! ثبّت Wireshark، التقط 30 ثانية من حركة الشبكة، وحاول الإجابة على هذه الأسئلة: ما أكثر EtherType تكراراً؟ ما عنوان MAC الخاص بالراوتر؟ هل ترى أي إطارات Broadcast؟ الإجابة على هذه الأسئلة ستُرسّخ كل ما تعلمته.

خلاصة: الـ Frame هو الخلية الأساسية لكل شبكة

كل رسالة تُرسلها، كل موقع تفتحه، كل مكالمة فيديو تُجريها، تبدأ وتنتهي بإطارات. الـ Frame بحقوله الدقيقة المتكاملة هو ما يجعل هذا التواصل ممكناً وموثوقاً عبر الشبكات المحلية والعالمية.

تذكّر المعادلة الأساسية التي درستها اليوم: الـ Frame = En-tête + Données + Queue de bande. الرأس يُعرّف الإطار ويُوجّهه، البيانات هي الغاية من كل هذا العمل، والذيل يضمن وصول البيانات سليمة. ثلاثة أقسام، كل منها ضروري، وكل منها يؤدي دوراً لا يستطيع غيره القيام به.

في المقال القادم، سنتعمق في بروتوكول Ethernet بالتفصيل: تاريخه، كيف تطوّر من 10 Mbit/s إلى 100 Gbit/s، بنية إطاره الخاص، وكيف تعمل عناوين MAC في بيئة Ethernet حقيقية. لا تفوّت ذلك.

أسئلة شائعة حول بنية الـ Frame

ما الفرق الأساسي بين Frame وPacket؟

الـ Packet وحدة الطبقة الثالثة يحمل عناوين IP ويتتبع المسار من المصدر حتى الوجهة النهائية ولا يتغير في الطريق. الـ Frame وحدة الطبقة الثانية يُغلّف الـ Packet ويحمل عناوين MAC ويُعيد بناؤه عند كل راوتر ليناسب الشبكة التالية. العلاقة: Frame يحتوي Packet بداخله تماماً كما يحتوي المظروف رسالة.

لماذا الحد الأدنى لبيانات إطار Ethernet هو 46 بايت؟

الحد الأدنى لإطار Ethernet الكامل هو 64 بايت (18 بايت overhead + 46 بايت بيانات). هذا مرتبط تاريخياً بآلية CSMA/CD: يجب أن يكون الإطار كبيراً بما يكفي ليكون لا يزال على الكابل عند اكتشاف أي تصادم محتمل. إذا كانت البيانات أقل من 46 بايت تُضاف بايتات حشو (Padding) لتكملة الحجم الأدنى.

هل CRC يُصلح الأخطاء أم يكتشفها فقط؟

CRC يكتشف الأخطاء فقط ولا يُصلحها. عند اكتشاف خطأ يُرفض الإطار وتُطلب إعادة الإرسال من الطبقات العليا مثل TCP. هذا تصميم مقصود: طبقة ربط البيانات تهتم بالكشف السريع، وترك مسؤولية الإصلاح لبروتوكولات أكثر تعقيداً في الطبقات العليا يجعل كل طبقة تتخصص في ما تُتقنه.

ما هو Jumbo Frame ومتى نستخدمه؟

Jumbo Frame هو إطار Ethernet بحجم بيانات يتجاوز الـ MTU القياسي (1500 بايت) ليصل إلى 9000 بايت. يُستخدم في بيئات مراكز البيانات عالية الأداء لتقليل عدد الإطارات المُرسَلة وخفض العبء الإضافي على الأجهزة، مما يرفع الأداء الكلي. يتطلب دعماً صريحاً من جميع الأجهزة على المسار وإلا تُقسَّم الإطارات تلقائياً.

ما هو Wireshark وكيف أستخدمه لرؤية الـ Frames؟

Wireshark برنامج مجاني لتحليل الشبكات يُتيح التقاط الإطارات الحقيقية التي تعبر واجهة الشبكة وعرضها مُفككة إلى طبقاتها. لاستخدامه: ثبّته من wireshark.org، اختر واجهة الشبكة، ابدأ التقاط، ثم افتح أي إطار لترى Ethernet Header مع عناوين MAC وEtherType، وبداخله IP Packet، وبداخله بروتوكول النقل. أداة لا غنى عنها لكل مهندس شبكات.

لماذا يتغير الـ Frame عند كل راوتر بينما الـ Packet لا يتغير؟

لأن الـ Frame مسؤول عن التوصيل المحلي بين عقدتين متجاورتين فقط، وكل شبكة محلية لها بروتوكول وعناوين MAC مختلفة. عند وصول الإطار للراوتر، يُفكّكه ويستخرج الـ Packet، ثم يبني إطاراً جديداً مناسباً للشبكة التالية بعناوين MAC جديدة. الـ Packet في المقابل يحمل عناوين IP التي تمثل المصدر والوجهة النهائية ولا داعي لتغييرها في كل خطوة.

Post a Comment