كيف يتم الاتصال من طرف لطرف في الشبكة؟ — دور MAC وIP معاً

فهم كيف يتعاون عنوان MAC وعنوان IP لضمان وصول البيانات من المصدر للوجهة: MAC للتعرف المحلي، IP للتوجيه الشامل.
Cybersecurity Arab

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

كيف يتم الاتصال من طرف لطرف في الشبكة؟ — دور MAC وIP معاً
كيف يتم الاتصال من طرف لطرف في الشبكة؟ — دور MAC وIP معاً

فهرس المحتوى

عندما تفتح متصفّحك وتُدخل عنوان موقع مثل www.google.com، فإن بياناتك لا تسافر في خطّ واحد مستقيم. بل تمرّ بعشرات الأجهزة الوسيطة — سويتشات، راوترات، وموجّهات شبكات — قبل أن تصل إلى وجهتها. في كل مرحلة من هذه الرحلة، هناك آلية دقيقة تحدّد إلى أين تذهب البيانات التالية ومن أين أتت. هذه الآلية تعتمد على تعاون وثيق بين طبقتين مختلفتين من نموذج OSI: طبقة الشبكة (Layer 3) التي تستخدم عناوين IP، وطبقة ربط البيانات (Layer 2) التي تستخدم عناوين MAC.

المبدأ الأساسي الذي يجب أن تفهمه: عنوان IP لا يتغيّر أثناء رحلة البيانات من المصدر إلى الوجهة، بينما عناوين MAC تتغيّر عند كل "قفزة" (Hop) بين الأجهزة الوسيطة. هذا التعاون بين الثابت والمتغيّر هو ما يجعل الاتصال من طرف لطرف ممكنًا.

مبدأ أساسي في هندسة الشبكات

في هذا المقال، سنفكّك هذه العملية خطوة بخطوة. ستبدأ بفهم طبيعة كل عنوان، ثم سنرى كيف يقرأ الـ Switch عنوان MAC ويقرّر أين يُوجّه الإطار، وكيف يقرأ الـ Router عنوان IP ويختار المسار الأمثل. بعد ذلك، سنشرح ظاهرة إعادة التغليف التي تحدث عند كل قفزة، ونختتم بمثال عملي يُوضّح كل هذه المفاهيم.

MAC: هوية الجهاز على الشبكة المحلية

عنوان MAC (Media Access Control) هو المعرّف الفيزيائي الدائم لكل جهاز شبكة. Unlike عنوان IP الذي يُعيَّن بواسطة البرمجية ويُمكن تغييره، فإن عنوان MAC مبرمج فعليًا في ذاكرة القراءة فقط (ROM) داخل بطاقة الشبكة (NIC). يتكوّن من 48 بتًا، أي 12 رقمًا سداسيًا عشريًا (Hexadecimal)، ويُقسّم إلى جزأين:

الجزء الطول الوظيفة مثال
OUI (المعرّف الخاص بالشركة المصنّعة) 3 octets (24 بت) يُحدّد الشركة المصنّعة لبطاقة الشبكة، ويُعيَّن من قبل IEEE 00:05:9A (مثلاً لشركة معيّنة)
المعرّف الفريد للجهاز 3 octets (24 بت) يُميّز كل بطاقة شبكة عن غيرها من نفس الشركة المصنّعة 3C:78:00

هناك ثلاثة أنواع رئيسية من عناوين MAC، ولكل منها سياق استخدام محدّد:

  1. Unicast (أحادي البث): عنوان يُخصَّص لجهاز واحد فقط. يبدأ البت الأول من أول octet بـ 0. يُستخدَم في التواصل المباشر بين جهازين. مثال: 00:1A:2B:3C:4D:5E
  2. Broadcast (بث شامل): عنوان يُوجَّه إلى جميع الأجهزة على الشبكة المحلية. جميع البتات الثمانية والأربعين تساوي 1، ويُكتب بصيغة FF:FF:FF:FF:FF:FF. يُستخدَم في طلبات ARP وDHCP
  3. Multicast (بث جماعي): عنوان يبدأ بالبادئة 01:00:5E في النصف الثاني. يُوجَّه إلى مجموعة محدّدة من الأجهزة التي اشتركت في استقبال محتوى معيّن
معلومة مهمة! عنوان MAC لا يتعدّى حدود الشبكة المحلية (LAN). بمعنى أنه لا يمرّ عبر الراوتر ولا ينتقل بين شبكات مختلفة. عندما تحتاج بياناتك للخروج من شبكتك المحلية، يتولّى الراوتر مهمّة تغيير عناوين MAC المصدر والوجهة مع الحفاظ على عنوان IP الأصلي.

رسم توضيحي: كيف يتعاون MAC و IP معاً في الاتصال من طرف لطرف
شكل (1): العلاقة بين عنوان MAC (تعريف محلي) وعنوان IP (تعريف شامل) في رحلة البيانات

IP: عنوان الوجهة النهائية عبر الشبكات

في حين يقتصر نطاق MAC على الشبكة المحلية، فإن عنوان IP (Internet Protocol) هو المعيار العالمي الذي يُمكّن الأجهزة من التواصل عبر شبكات متعددة ومختلفة. إذا كان MAC هو "اسم الجهاز"، فإن IP هو "عنوان منزله" — فهو الذي يحدّد موقعه الجغرافي في هيكل الشبكة العالمية.

عنوان IPv4 يتكوّن من 32 بتًا مُقسّمة إلى 4 octets (أقسام)، كل منها يتراوح بين 0 و255. يُكتَب عادةً بصيغة منقّطة مثل 192.168.1.10. هذا العنوان له طبيعة منطقية، أي أنه يُعيَّن بواسطة بروتوكولات مثل DHCP أو يدويًا من قبل مسؤول الشبكة، ويمكن تغييره في أي وقت دون تغيير العتاد.

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

يحمل عنوان IP داخل حزمة IP (IP Packet) التي تُغلف في طبقة الشبكة (Layer 3). هذه الحزمة بدورها تُوضع داخل إطار (Frame) في طبقة ربط البيانات (Layer 2). لذلك، يمكن القول إن الـ Frame هو "المغلّف الخارجي" الذي يحمل "الرسالة الداخلية" (IP Packet). الـ Frame يتغيّر باستمرار، لكن محتواه الداخلي — الذي يحتوي على عناوين IP — يبقى كما هو حتى يصل إلى الوجهة النهائية.

التشبيه العملي: تخيّل أنك تُرسل كتابًا عبر البريد. عنوان المُرسِل والمُرسَل إليه على الكتاب (= IP) لا يتغيّر. لكن الكتاب يُوضع في صناديق بريدية مختلفة (= Frame) عند كل محطة بريد، وكل صندوق يحمل عنوان المرسل والمستقبل في تلك المرحلة (= MAC).

كيف يقرأ الـ Switch عنوان MAC ويُوجّه الـ Frame؟

السويتش (Switch) هو جهاز يعمل في الطبقة الثانية من نموذج OSI. وظيفته الأساسية هي ربط الأجهزة داخل الشبكة المحلية (LAN) وتوصيل الإطارات (Frames) بينها بكفاءة. عندما يصل إطار إلى أحد منافذ السويتش، فإنه لا ينظر إلى عنوان IP أبدًا — يركّز حصريًا على عنوان MAC للوجهة المكتوب في رأس الإطار.

يعتمد السويتش على جدول MAC (MAC Address Table) الذي يبنيه تلقائيًا عبر مراقبة حركة المرور على المنافذ. هذا الجدول يربط كل عنوان MAC بالمنفذ الفعلي الذي يتّصل به الجهاز صاحب العنوان. إليك كيف يعمل بالتفصيل:

  1. الاستقبال: يصل Frame إلى أحد منافذ السويتش. يقرأ السويتش عنوان MAC المصدر ويسجّله في الجدول مرتبطًا بالمنفذ الذي ورد منه (إذا لم يكن مسجّلاً من قبل)
  2. التحقق: يقرأ عنوان MAC للوجهة ويفحص جدول MAC
  3. إذا وُجد العنوان في الجدول: يُعيد توجيه (Forward) الإطار إلى المنفذ المحدّد فقط — هذا يُسمّى Unicast
  4. إذا لم يُوجد العنوان في الجدول: يُرسل الإطار إلى جميع المنافذ (ما عدا المنفذ المصدر) — هذا يُسمّى Unknown Unicast Flooding
  5. إذا كان العنوان هو Broadcast: يُرسل الإطار إلى جميع المنافذ بدون استثناء
تنبيه مهم! السويتش لا يُغيّر عناوين MAC في الإطار. وظيفته هي توجيه الإطار فقط دون أي تعديل على محتوياته. عنوان MAC المصدر ووجهة في الإطار يبقيان كما هما عندما يمرّان عبر السويتش.

مثال عملي: إذا أرسل الحاسوب A (MAC: AA-AA-AA-AA-AA-AA) إطارًا إلى الحاسوب B (MAC: BB-BB-BB-BB-BB-BB) عبر سويتش، فإن السويتش يقرأ عنوان الوجهة BB-BB-BB-BB-BB-BB، يبحث في جدوله، يجد أنه على المنفذ 5، فيُعيد توجيه الإطار إلى المنفذ 5 فقط. الحاسوب C المتّصل بالمنفذ 3 لا يستلم شيئًا.

كيف يقرأ الـ Router عنوان IP ويختار المسار؟

الراوتر (Router) يعمل في الطبقة الثالثة (Network Layer). على عكس السويتش الذي يتعامل مع عناوين MAC فقط، يتعامل الراوتر مع عناوين IP لاتّخاذ قرارات التوجيه. هذا هو الفرق الجوهري بين الجهازين: السويتش يُوجّه داخل الشبكة المحلية، بينما الراوتر يُوجّه بين الشبكات المختلفة.

عملية التوجيه في الراوتر تمرّ بالمراحل التالية:

  1. استقبال الإطار: يصل Frame إلى واجهة الراوتر. يقرأ الراوتر عنوان MAC للوجهة — إذا تطابق مع عنوان MAC الخاص بواجهة الراوتر، يقبل الإطار
  2. فكّ التغليف (Decapsulation): يُزيل الراوتر رأس Layer 2 (MAC) واست尾巴 (Trailer) ليكشف عن حزمة IP (IP Packet) بداخله
  3. قراءة عنوان IP للوجهة: يفحص عنوان IP الوجهة ويبحث في جدول التوجيه (Routing Table) عن أفضل مسار للوصول إليه
  4. اختيار الواجهة المناسبة: بناءً على جدول التوجيه، يحدّد الراوتر أي واجهة (Interface) يجب أن يخرج منها Packet
  5. إعادة التغليف (Re-encapsulation): يضع الراوتر حزمة IP داخل Frame جديد بعناوين MAC جديدة — MAC المصدر يصبح عنوان واجهة الراوتر المُرسِلة، وMAC الوجهة يصبح عنوان الراوتر التالي أو الجهاز النهائي
  6. الإرسال: يُرسل Frame الجديد عبر الواجهة المحدّدة

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

آلية العمل في الراوتر

ماذا يحدث عند كل قفزة (Hop)؟ — إعادة التغليف

ظاهرة إعادة التغليف (Re-encapsulation) هي مفهوم محوري لفهم كيف تعمل الشبكات. في كل مرة تعبر فيها الحزمة (Packet) راوترًا، يحدث ما يلي:

العنصر هل يتغيّر؟ التفسير
عنوان IP للمصدر لا — ثابت يحدّد الجهاز الأصلي الذي أرسل البيانات، ولا يتغيّر أبدًا خلال الرحلة
عنوان IP للوجهة لا — ثابت يحدّد الجهاز النهائي المستقبِل، ويبقى كما هو حتى الوصول
عنوان MAC للمصدر نعم — يتغيّر عند كل Hop يصبح عنوان واجهة الراوتر أو الجهاز المُرسِل في هذه المرحلة فقط
عنوان MAC للوجهة نعم — يتغيّر عند كل Hop يصبح عنوان الجهاز التالي في المسار (الراوتر التالي أو الوجهة النهائية)
TTL (Time to Live) نعم — يتناقص يُنقص بمقدار 1 عند كل راوتر لتجنّب حلقات التوجيه اللانهائية

رسم توضيحي: كيف تتغيّر عناوين MAC عند كل قفزة بينما يبقى IP ثابتاً
شكل (2): إعادة التغليف عند كل قفزة — MAC يتغيّر، IP يبقى ثابتًا

دعنا نُوضّح ذلك بمثال رقمي بسيط. لنفترض أن الحاسوب A (IP: 10.0.0.1, MAC: AA) يُرسل بيانات إلى الحاسوب B (IP: 20.0.0.1, MAC: BB) عبر راوترين:

المرحلة IP المصدر IP الوجهة MAC المصدر MAC الوجهة
من الحاسوب A إلى الراوتر 1 10.0.0.1 20.0.0.1 AA R1-if1
من الراوتر 1 إلى الراوتر 2 10.0.0.1 20.0.0.1 R1-if2 R2-if1
من الراوتر 2 إلى الحاسوب B 10.0.0.1 20.0.0.1 R2-if2 BB

ملاحظة! لاحظ كيف أن عناوين IP ثابتة تمامًا في الأعمدة الأولى والثانية عبر جميع المراحل، بينما عناوين MAC في الأعمدة الثالثة والرابعة تتغيّر عند كل انتقال. هذا هو جوهر آلية الاتصال من طرف لطرف.

مثال عملي: إرسال بيانات من باريس إلى اليابان

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

خريطة توضيحية: مسار البيانات من باريس إلى طوكيو عبر الإنترنت
شكل (3): رحلة البيانات من باريس إلى طوكيو — المسار الفعلي عبر الشبكة العالمية

الخطوة 1: داخل شبكة باريس المحلية

حاسوب فاطمة (IP: 192.168.1.50, MAC: F1:F1:F1:F1:F1:F1) يُنشئ حزمة IP بعنوان IP المصدر 192.168.1.50 وعنوان IP الوجهة 203.0.113.75 (عنوان تاكيشي). لا تعرف فاطمة عنوان MAC لتاكيشي — بل تعرف فقط عنوان الراوتر الافتراضي (Default Gateway).

تُغلف حزمة IP في إطار Ethernet بعنوان MAC المصدر F1:F1:F1:F1:F1:F1 وعنوان MAC الوجهة R1-Paris-LAN (عنوان واجهة الراوتر في باريس). يُرسل الإطار إلى السويتش المحلي الذي يُوجّهه إلى المنفذ المتّصل بالراوتر.


الخطوة 2: الراوتر في باريس (أول Hop)

يستقبل الراوتر في باريس الإطار. يتحقّق من عنوان MAC الوجهة — يتطابق مع عنوان إحدى واجهاته، فيقبل الإطار. يُزيل رأس Ethernet ليكشف عن حزمة IP. يقرأ عنوان IP الوجهة 203.0.113.75، يبحث في جدول التوجيه، ويجد أن المسار يمرّ عبر واجهة الاتصال بالإنترنت.

يُعيد تغليف حزمة IP في إطار جديد: MAC المصدر يصبح عنوان واجهة الراوتر الموصولة بالإنترنت R1-Paris-WAN، وMAC الوجهة يصبح عنوان الراوتر التالي في مسار الإنترنت R2-ISP1. عناوين IP لا تتغيّر.


الخطوة 3: عبر عمود الإنترنت الفقري (Backbone)

تنتقل الإطارات عبر سلسلة من الراوترات على مستوى مُزوّدي خدمة الإنترنت (ISP). عند كل راوتر، تتكرّر نفس العملية: فكّ التغليف ← قراءة IP ← بحث في جدول التوجيه ← إعادة التغليف بعناوين MAC جديدة. قد تمرّ الحزمة بـ 10 إلى 20 راوترًا أو أكثر، وتتغيّر عناوين MAC عند كل واحد منها.

الإطارات هنا قد تنتقل عبر كابلات بحرية تحت الأرض أو عبر أقمار صناعية. بروتوكولات مثل BGP و OSPF تحدّث جداول التوجيه تلقائيًا لضمان اختيار المسار الأفضل في كل لحظة.


الخطوة 4: الراوتر في طوكيو (آخر Hop قبل الوجهة)

يصل الإطار إلى الراوتر في طوكيو. يتحقّق الراوتر من عنوان IP الوجهة 203.0.113.75 ويجد أنه ينتمي إلى الشبكة المحلية المتّصلة بواجهته الثانية. يُعيد تغليف حزمة IP بإطار جديد: MAC المصدر هو واجهة الراوتر المحلية R3-Tokyo-LAN، وMAC الوجهة هو عنوان تاكيشي الفعلي T1:T1:T1:T1:T1:T1.

يُرسل الإطار إلى السويتش المحلي في طوكيو الذي يُوجّهه إلى المنفذ المتّصل بحاسوب تاكيشي.


الخطوة 5: الوصول إلى حاسوب تاكيشي

يستقبل حاسوب تاكيشي (IP: 203.0.113.75, MAC: T1:T1:T1:T1:T1:T1) الإطار. يقرأ عنوان MAC الوجهة — يتطابق مع عنوانه، فيقبل الإطار. يُزيل رأس Ethernet ويتحقّق من عنوان IP الوجهة — يتطابق مع عنوانه أيضًا، فيقبل الحزمة. أخيرًا، يُزيل رأس IP ويسلّم البيانات إلى الطبقة الأعلى (TCP ثم التطبيق) لتظهر رسالة فاطمة على شاشته.


الخلاصة من المثال! في رحلة باريس ← طوكيو، تغيّرت عناوين MAC حوالي 12-15 مرة (بعدد الراوترات)، بينما عنوان IP للمصدر (192.168.1.50) وعنوان IP للوجهة (203.0.113.75) بقيان ثابتين من البداية إلى النهاية. هذا التعاون بين MAC (للتوصيل المحلي) و IP (للتوجيه الشامل) هو ما يجعل الإنترنت يعمل.

خلاصة

الاتصال من طرف لطرف في الشبكات ليس عملية واحدة بل سلسلة متتابعة من العمليات المحلية. كل جهاز في المسار يقوم بدور محدّد: السويتش يعتمد على MAC لتوجيه الإطارات داخل الشبكة المحلية، والراوتر يعتمد على IP لتوجيه الحزم بين الشبكات المختلفة. عنوان MAC هو التعريف المؤقّت الذي يتغيّر عند كل محطة، وعنوان IP هو التعريف الدائم الذي يرافق البيانات حتى نهاية رحلتها.

فهم هذا التعاون بين الطبقتين ليس مجرد معرفة نظرية — بل هو أساس استكشاف الأخطاء وإصلاحها (Troubleshooting)، وتصميم الشبكات، وفهم بروتوكولات أساسية مثل ARP الذي يربط بين العالمين. في المقال التالي، سنتعمّق في بروتوكول ARP وكيف يُمكّن الأجهزة من اكتشاف عناوين MAC باستخدام عناوين IP.

إرسال تعليق