موقف من الحياة اليومية#

في بيتك 5 أجهزة متوصلة بنفس الراوتر: موبايلك، وموبايل أختك، واللابتوب، والتلفزيون، والطابعة.

فتحت فيديو على موبايلك. الفيديو وصل للراوتر من الإنترنت، والراوتر لازم يبعته لموبايلك إنت بالظبط، مش للتلفزيون ولا لموبايل أختك. طب الراوتر بيعرف إزاي مين هو موبايلك؟

الإجابة: كل جهاز في الشبكة ليه «رقم» خاص بيه، اسمه MAC Address. والبيانات بتتحط في «ظرف» مكتوب عليه الرقم ده، اسمه Ethernet Frame.

خلاصة سريعة#

  • الـ MAC Address (MAC Address · عنوان MACعنوان طوله 48 بت يميّز كارت الشبكة داخل الشبكة المحلية، ويُكتب بالنظام السداسي عشر مثل 00-00-5E-00-53-01، ويُستخدم لتوصيل البيانات بين الأجهزة المتصلة مباشرة.عرض في القاموس) عنوان طوله 48 بت، بيتكتب بالسداسي عشر زي 00-00-5E-00-53-01، وكل كارت شبكة ليه واحد.
  • البيانات بتتنقل في الشبكة المحلية جوه Frame (Frame · الإطاروحدة البيانات في طبقة ربط البيانات، وهو كالظرف الذي توضع فيه البيانات مع عنوان المرسل والمستقبل ونوع المحتوى وقيمة لفحص الأخطاء.عرض في القاموس)، وفيه: الـ MAC Address بتاع الوجهة، وبتاع المصدر، ونوع المحتوى، والبيانات نفسها، وقيمة لاكتشاف الأخطاء.
  • لما كارت الشبكة يستلم Frame، بياخده لو الـ MAC Address اللي عليه بتاعه هو أو عنوان «للكل» (Broadcast)، وبيرميه لو غير كده.

ببساطة#

تخيّل عمارة فيها شقق كتير، وعامل البريد معاه جواب:

  • رقم الشقة المكتوب على الجواب هو الـ MAC Address بتاع الوجهة.
  • رقم شقة المُرسل مكتوب كمان علشان الرد.
  • الظرف نفسه هو الـ Frame، والجواب اللي جواه هو البيانات.

كل ساكن بيبص على الجواب: لو رقم شقته، بياخده. ولو مش رقمه، بيسيبه. ولو مكتوب عليه «لكل السكان»، كله بياخده، وده الـ Broadcast.

الـ Frame بيوصل لكل الأجهزة، لكن الجهاز اللي الـ MAC Address بتاعه زي الـ Destination هو بس اللي بياخده، والباقيين بيرموه. (الأجزاء مرسومة بترتيب إرسالها، ومش بحجمها الحقيقي.)

بالتفصيل#

الـ MAC Address: «رقم» كارت الشبكة#

حسب كتاب Kurose وRoss الجامعي (النسخة التاسعة، 2025):

  • الـ MAC Address طوله 48 بت في أغلب الشبكات المحلية، يعني 6 بايت.
  • بيكون متسجل في الـ NIC (NIC (Network Interface Card) · كارت الشبكةالقطعة التي توصّل الجهاز بالشبكة السلكية أو اللاسلكية، ولكل كارت عنوان MAC خاص به.عرض في القاموس)، يعني كارت الشبكة، من المصنع، وساعات ممكن يتغير بالبرامج.
  • بيتكتب بالنظام السداسي عشر (Hexadecimal (Base-16) · النظام السداسي عشرنظام عدّ يستخدم 16 رمزًا هي الأرقام من 0 إلى 9 والحروف من A إلى F، وكل خانة فيه تساوي 16 ضعف الخانة التي على يمينها. ويُستخدم لكتابة البيانات الثنائية بشكل مختصر، فكل رمز فيه يقابل 4 بتات.عرض في القاموس)، وكل رمز بيمثل 4 بت. يعني العنوان كله 12 رمز، زي 1A-2F-BB-76-09-AD. ولو محتاج تراجع النظام ده، شوف مقال السداسي عشر والثماني.
  • وظيفته إنه يوصّل الـ Frame من جهاز لجهاز تاني متوصل بيه مباشرة في نفس الشبكة.

الـ MAC Address ولا الـ IP Address؟#

حسب Kurose وRoss:

MAC AddressIP Address
الطول48 بت32 بت (في IPv4)
الطبقةLayer 2 (ربط البيانات)Layer 3 (الشبكة)
بيستخدم فيالتوصيل جوه نفس الشبكةالتوصيل بين الشبكات
تشبيه الكتابزي الرقم القومي: بيفضل معاكزي العنوان البريدي: بيتغير لو نقلت

يعني لو أخدت اللابتوب من البيت للشغل، الـ MAC Address بيفضل زي ما هو، لكن الـ IP Address بيتغير حسب الشبكة اللي اتوصلت بيها. وعناوين IP ليها مجال كامل في الموقع.

مين بيوزّع العناوين؟#

علشان مافيش جهازين يكون ليهم نفس العنوان، حسب Kurose وRoss، هيئة IEEE هي اللي بتنظّم توزيع العناوين: الشركة المصنّعة بتشتري جزء من مساحة العناوين.

وحسب المعيار RFC 9542 (اللي نزل سنة 2024)، العنوان بيتقسم لجزئين:

  1. بادئة بتدّيها IEEE للشركة. وأشهرها طوله 24 بت (3 بايت)، واسمها OUI (OUI (Organizationally Unique Identifier) · معرّف الجهة المصنّعةالجزء الأول من عنوان MAC، وتمنحه هيئة IEEE لكل جهة مصنّعة حتى تكون العناوين فريدة، ثم تكمل الجهة باقي العنوان.عرض في القاموس)، يعني «المعرّف الخاص بالشركة».
  2. باقي البتات بتحددها الشركة نفسها لكل كارت بتصنعه.

يعني أول 3 بايت من العنوان غالبًا بتقولك مين الشركة المصنّعة.

بتّين مهمين في أول بايت#

حسب RFC 9542، فيه بتّين في أول بايت من العنوان ليهم معنى خاص:

  • الـ Group bit (بيتسمى كمان Multicast bit): لو 0، العنوان Unicast، يعني لجهاز واحد. ولو 1، العنوان لمجموعة أجهزة (Multicast) أو للكل (Broadcast).
  • الـ Universal/Local bit: لو 0، العنوان Universal، يعني من الشركة المصنّعة. ولو 1، العنوان Local، يعني اتحدد محليًا مش من الشركة.

الـ Broadcast: العنوان اللي «للكل»#

فيه عنوان مخصوص معناه «لكل الأجهزة في الشبكة»، وده عنوان الـ Broadcast (Broadcast · البث العامإرسال رسالة إلى كل الأجهزة في الشبكة المحلية مرة واحدة، وعنوان MAC الخاص به FF-FF-FF-FF-FF-FF.عرض في القاموس):

FF-FF-FF-FF-FF-FF

يعني كل الـ 48 بت قيمتهم 1. وحسب Kurose وRoss، ده بيستخدم مثلًا لما جهاز يكون محتاج يعرف الـ MAC Address بتاع جهاز تاني ومش عارفه، فيسأل كل الأجهزة مرة واحدة. وده شغل بروتوكول اسمه ARP، وليه مقال لوحده.

الـ Ethernet Frame: الظرف#

حسب Kurose وRoss، الجهاز اللي بيبعت بيحط البيانات جوه Ethernet Frame، وده أجزاءه:

الجزءالحجموظيفته
Preamble8 بايتبيظبط توقيت المستقبل مع المرسل
Destination MAC6 بايتالـ MAC Address اللي رايح له الـ Frame
Source MAC6 بايتالـ MAC Address اللي جاي منه
Type2 بايتبيقول نوع البيانات اللي جوه، وغالبًا IP
Payloadمن 46 لـ 1500 بايتالبيانات نفسها
CRC4 بايتقيمة لاكتشاف الأخطاء

حجم الـ Payload من RFC 894، وده المعيار اللي بيشرح إزاي IP بيتنقل على Ethernet: أقل حجم 46 بايت (ولو البيانات أقل، بتتكمّل بأصفار)، وأقصى حجم 1500 بايت.

وكارت الشبكة بيعمل إيه لما يستلم Frame؟ حسب Kurose وRoss:

  1. لو الـ Destination MAC هو عنوانه هو، أو عنوان الـ Broadcast، بيعدّي البيانات للطبقة اللي فوقه.
  2. غير كده، بيرمي الـ Frame.
  3. وكمان بيحسب الـ CRC (CRC (Cyclic Redundancy Check) · فحص الأخطاء الدوريقيمة تُحسب من محتوى الإطار وتُرسل معه، فيعيد المستقبل حسابها، وإذا لم تتطابق يعرف أن الإطار تلف أثناء النقل فيتخلص منه.عرض في القاموس)، يعني فحص الأخطاء: لو لقى غلطة، بيرمي الـ Frame.

الـ MTU والـ Jumbo Frames#

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

وحسب نفس المصدر، الـ Frame القياسي كله 1518 بايت، ولو جمعت الأجزاء هتلاقيها: 6 + 6 + 2 + 1500 + 4 = 1518 (من غير الـ Preamble). وأي Frame أكبر من كده اسمه Jumbo Frame (Jumbo Frame · الإطار الكبيرإطار Ethernet أكبر من الحجم القياسي البالغ 1518 بايت، ويختلف حجمه الأقصى من جهة مصنّعة لأخرى لأنه ليس جزءًا من معيار IEEE.عرض في القاموس).

جرّب بنفسك: اعرف الـ MAC Address بتاع جهازك#

على Linux:

  1. افتح الطرفية، واكتب:
نافذة الطرفية
ip link
  1. النتيجة المتوقعة: قائمة بكروت الشبكة اللي في جهازك. ابحث عن كلمة link/ether، والعنوان اللي بعدها مباشرة هو الـ MAC Address. مثلًا (بعنوان من نطاق الأمثلة):
الناتج المتوقع
2: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
    link/ether 00:00:5e:00:53:01 brd ff:ff:ff:ff:ff:ff

لاحظ حاجتين في السطر ده: mtu 1500 اللي شرحناها فوق، و**brd ff:ff:ff:ff:ff:ff** وده عنوان الـ Broadcast.

جرّبنا الأمر ده فعليًا على Fedora Linux. والنتيجة عندك هتختلف: أسماء الكروت، وعددها، وعناوينها.

على Windows:

  1. افتح موجّه الأوامر (Command Prompt)، واكتب:
نافذة الطرفية
getmac
  1. النتيجة المتوقعة: حسب توثيق Microsoft، الأمر ده بيعرض الـ MAC Address لكل كروت الشبكة في الجهاز.

لو حصلت مشكلة:

  • ظهرلك كروت كتير مش فاهمها؟ ده طبيعي، خصوصًا لو عندك برامج أنظمة افتراضية. ركّز على الكارت اللي اسمه بيبدأ بـ wl (الواي فاي) أو en (الكابل). حسب توثيق systemd المسؤول عن تسمية الكروت في Linux، البادئة en معناها Ethernet، وwl معناها الشبكة اللاسلكية (WLAN).
  • فيه كارت اسمه lo؟ ده كارت داخلي اسمه Loopback، والأمر نفسه بيكتب جنبه كلمة LOOPBACK، ومش بيوصّلك بأي شبكة.
للمتعمقين

أحجام البلوكات اللي IEEE بتوزعها

حسب RFC 9542، الهيئة بتوزع البادئات بـ 3 أطوال (حتى سنة 2024):

طول البادئةالاسمالبتات اللي الشركة بتتحكم فيها
24 بتMA-L24 بت
28 بتMA-M20 بت
36 بتMA-S12 بت

والمعيار بيذكر إن مصطلح MAC-48 بقى قديم، والأصح لما العنوان يكون فريد عالميًا إنه يتسمى EUI-48.

حقل الـ Type وقيمة IP

حسب RFC 894، لما الـ Frame شايل بيانات IPv4، حقل الـ Type لازم يكون قيمته 0800 بالسداسي عشر. وحسب Kurose وRoss، حقل الـ Type ده هو اللي بيخلّي الجهاز المستقبل يعرف يدّي البيانات للبروتوكول الصح في الطبقة اللي فوق.

الـ Preamble بالتفصيل

حسب Kurose وRoss، الـ Preamble عبارة عن 7 بايت كل واحد فيهم 10101010، وبعدهم بايت واحد 10101011. والنمط ده بيساعد الجهاز المستقبل يظبط ساعته على سرعة المرسل قبل ما البيانات تبدأ.

عناوين للأمثلة

RFC 9542 بيخصص نطاقين للأمثلة في الشرح والتوثيق: من 00-00-5E-00-53-00 لـ 00-00-5E-00-53-FF لعناوين الـ Unicast، ومن 01-00-5E-90-10-00 لـ 01-00-5E-90-10-FF لعناوين الـ Multicast. ولاحظ إن عنوان الـ Multicast بيبدأ بـ 01، يعني الـ Group bit في أول بايت قيمته 1.

أخطاء شائعة#

  • «الـ MAC Address والـ IP Address نفس الحاجة»: غلط. الـ MAC للتوصيل جوه نفس الشبكة (Layer 2)، والـ IP للتوصيل بين الشبكات (Layer 3).
  • «الـ MAC Address بيتغير كل ما أنقل من شبكة لشبكة»: غلط. ده الـ IP Address. الـ MAC Address بيفضل زي ما هو، إلا لو اتغير بالبرامج.
  • «الـ MAC Address مستحيل يتغير»: مش دقيق. حسب Kurose وRoss، غالبًا متسجل في الكارت، لكن ساعات ممكن يتغير بالبرامج.
  • «الـ Frame بيوصل للجهاز المقصود بس»: مش دايمًا. ممكن يوصل لأجهزة كتير، وكل جهاز بيقارن العنوان ويرمي اللي مش ليه.
  • «أقدر أبعت أي حجم بيانات في Frame واحد»: غلط. أقصى حجم في Ethernet العادية 1500 بايت (الـ MTU)، واللي أكبر بيتقسم.

المصطلحات#

  • عنوان MAC (MAC Address · عنوان MACعنوان طوله 48 بت يميّز كارت الشبكة داخل الشبكة المحلية، ويُكتب بالنظام السداسي عشر مثل 00-00-5E-00-53-01، ويُستخدم لتوصيل البيانات بين الأجهزة المتصلة مباشرة.عرض في القاموس): عنوان من 48 بت يميّز كارت الشبكة داخل الشبكة المحلية.
  • كارت الشبكة (NIC (Network Interface Card) · كارت الشبكةالقطعة التي توصّل الجهاز بالشبكة السلكية أو اللاسلكية، ولكل كارت عنوان MAC خاص به.عرض في القاموس): القطعة التي توصّل الجهاز بالشبكة، ولها عنوان MAC.
  • معرّف الجهة المصنّعة (OUI (Organizationally Unique Identifier) · معرّف الجهة المصنّعةالجزء الأول من عنوان MAC، وتمنحه هيئة IEEE لكل جهة مصنّعة حتى تكون العناوين فريدة، ثم تكمل الجهة باقي العنوان.عرض في القاموس): الجزء الأول من عنوان MAC الذي تمنحه IEEE للجهة المصنّعة.
  • البث العام (Broadcast · البث العامإرسال رسالة إلى كل الأجهزة في الشبكة المحلية مرة واحدة، وعنوان MAC الخاص به FF-FF-FF-FF-FF-FF.عرض في القاموس): إرسال إلى كل أجهزة الشبكة، وعنوانه FF-FF-FF-FF-FF-FF.
  • الإطار (Frame · الإطاروحدة البيانات في طبقة ربط البيانات، وهو كالظرف الذي توضع فيه البيانات مع عنوان المرسل والمستقبل ونوع المحتوى وقيمة لفحص الأخطاء.عرض في القاموس): وحدة البيانات في طبقة ربط البيانات.
  • فحص الأخطاء الدوري (CRC (Cyclic Redundancy Check) · فحص الأخطاء الدوريقيمة تُحسب من محتوى الإطار وتُرسل معه، فيعيد المستقبل حسابها، وإذا لم تتطابق يعرف أن الإطار تلف أثناء النقل فيتخلص منه.عرض في القاموس): قيمة تُرسل مع الإطار لاكتشاف تلفه أثناء النقل.
  • أقصى وحدة نقل (MTU (Maximum Transmission Unit) · أقصى وحدة نقلأكبر حجم للبيانات يمكن أن تنقله الشبكة في حزمة واحدة، وهو 1500 بايت في Ethernet العادية، وما يزيد عليه يُقسَّم إلى حزم أصغر.عرض في القاموس): أكبر حجم بيانات في حزمة واحدة، و1500 بايت في Ethernet العادية.
  • الإطار الكبير (Jumbo Frame · الإطار الكبيرإطار Ethernet أكبر من الحجم القياسي البالغ 1518 بايت، ويختلف حجمه الأقصى من جهة مصنّعة لأخرى لأنه ليس جزءًا من معيار IEEE.عرض في القاموس): إطار أكبر من الحجم القياسي 1518 بايت.
  • النظام السداسي عشر (Hexadecimal (Base-16) · النظام السداسي عشرنظام عدّ يستخدم 16 رمزًا هي الأرقام من 0 إلى 9 والحروف من A إلى F، وكل خانة فيه تساوي 16 ضعف الخانة التي على يمينها. ويُستخدم لكتابة البيانات الثنائية بشكل مختصر، فكل رمز فيه يقابل 4 بتات.عرض في القاموس): نظام العد الذي يُكتب به عنوان MAC.
  • إيثرنت (Ethernet · إيثرنتمجموعة المعايير الأشهر للشبكات المحلية السلكية، تصدرها IEEE تحت الرقم 802.3، وتعمل على كابلات الأزواج الملتوية والألياف الضوئية.عرض في القاموس): معايير الشبكات المحلية السلكية (IEEE 802.3).

اختبر نفسك#

الـ MAC Address طوله كام بت؟ وبيتكتب بأنهي نظام عد؟

إظهار الإجابة

48 بت (6 بايت)، وبيتكتب بالنظام السداسي عشر. كل رمز سداسي بيمثل 4 بت، فالعنوان كله 12 رمز.

كارت شبكة استلم Frame، والـ Destination MAC فيه مش عنوانه ومش عنوان الـ Broadcast. بيعمل إيه؟

إظهار الإجابة

بيرمي الـ Frame. كارت الشبكة بياخد بس الـ Frames اللي الـ Destination MAC فيها عنوانه هو أو عنوان الـ Broadcast (FF-FF-FF-FF-FF-FF).

أخدت اللابتوب من البيت للكافيه. أنهي عنوان بيتغير غالبًا: الـ MAC Address ولا الـ IP Address؟

إظهار الإجابة

الـ IP Address. الـ MAC Address بيفضل معاك زي الرقم القومي، أما الـ IP Address فبيتغير حسب الشبكة اللي اتوصلت بيها، زي العنوان البريدي.