عنوان MAC Address هو عنوان يُستخدم على مستوى طبقة الربط (Link Layer) في تقنيات شبكية مثل Ethernet وWi-Fi لتحديد مصدر الإطار ووجهته على الوصلة المحلية. الشكل الأكثر شيوعًا هو عنوان بطول 48 بت، لكن من المهم عدم اختزاله في فكرة أنه «رقم ثابت محفور في كرت الشبكة»، لأن العنوان المستخدم فعليًا قد يكون عالميًا مخصصًا وفق قواعد IEEE، أو عنوانًا محليًا، أو افتراضيًا، أو عشوائيًا أنشأه نظام التشغيل لحماية الخصوصية.
إذا كنت تبدأ تعلم الشبكات، فمن المفيد وضع MAC ضمن الصورة الأوسع التي يشرحها دليل أساسيات الشبكات من الصفر: عنوان MAC يعمل أساسًا في الاتصال على الوصلة المحلية، بينما يؤدي عنوان IP وظيفة مختلفة تسمح بالتواصل عبر شبكات IP المترابطة.
ما هو MAC Address بالضبط؟
MAC اختصار لـ Media Access Control. وفي شبكات IEEE 802 تحتوي وحدات البيانات في طبقة MAC على عنوان للمصدر وعنوان للوجهة. في Ethernet مثلًا يظهر هذان العنوانان داخل رأس الـFrame ليتمكن الجهاز أو السويتش من معرفة مصدر الإطار والوجهة المقصودة.
وفق IEEE Registration Authority، تُستخدم معرفات EUI-48 ذات 48 بت على نطاق واسع في عناوين MAC الفريدة عالميًا ضمن تقنيات IEEE 802. ولذلك ستجد المصطلحين MAC Address وEUI-48 مرتبطين كثيرًا، لكنهما ليسا مترادفين في كل حالة: يمكن أن يكون عنوان MAC المستخدم على الشبكة محلي الإدارة ولا يكون EUI-48 فريدًا عالميًا.
كيف يُكتب عنوان MAC؟
العنوان الشائع في Ethernet يتكون من 48 بت = 6 Octets = 12 خانة Hexadecimal. ومن الصيغ المعتادة:
3C:52:82:1A:7F:B0
وقد تراه أيضًا بالشرطات:
3C-52-82-1A-7F-B0
كل خانة Hexadecimal تمثل 4 بتات، ولذلك تمثل كل مجموعتين مثل 3C Octet واحدًا بطول 8 بتات.
وجود عناوين MAC المصدر والوجهة داخل إطار Ethernet جزء من موضوع أوسع؛ فإذا أردت معرفة موضعهما بالنسبة إلى EtherType والبيانات وFCS، فشرح بنية الـFrame في الشبكات يتناول هذه الحقول بالتفصيل.
هل أول 24 بت من MAC تحدد الشركة المصنّعة دائمًا؟
لا. هذه قاعدة تعليمية مفيدة في حالة معينة، لكنها ليست صحيحة لكل عنوان MAC يمكن أن تراه.
في تخصيص MA-L تمنح IEEE الجهة OUI بطول 24 بت، ثم تستخدم الجهة 24 بت أخرى لإنشاء معرفات EUI-48. ولهذا شاع القول إن «النصف الأول يحدد الشركة والنصف الثاني يحدد الجهاز».
لكن IEEE توفر حاليًا عدة أحجام لتخصيص كتل عناوين MAC:
| نوع التخصيص | الجزء المخصص من IEEE | عدد EUI-48 المتاح تقريبًا |
|---|---|---|
| MA-L | 24 بت | نحو 16 مليون |
| MA-M | 28 بت | نحو مليون |
| MA-S | 36 بت | 4096 |
لذلك لا ينبغي افتراض أن أول ثلاثة Octets تمثل دائمًا OUI خاصًا بالشركة التي صنعت جهازك. كما أن العنوان قد يكون Locally Administered أصلًا، وفي هذه الحالة لا يصح استخدام بدايته لاستنتاج الشركة المصنّعة.
ما الفرق بين Universal وLocally Administered؟
يحمل أول Octet من عنوان MAC بتًا مهمًا يسمى عادة U/L Bit، وهو الذي يساعد على التمييز بين العنوان المُدار عالميًا والعنوان المُدار محليًا.
- Universally Administered Address: عنوان ينتمي إلى مساحة التخصيص العالمية التي تديرها IEEE ويُنشأ وفق قواعد التخصيص المناسبة.
- Locally Administered Address: عنوان يُنشأ محليًا بواسطة نظام تشغيل أو برنامج أو مسؤول شبكة أو منصة افتراضية، ولا يعتمد على كونه معرفًا عالميًا دائمًا للجهاز.
هذا الفرق مهم جدًا اليوم بسبب الأجهزة الافتراضية والحاويات وميزات MAC Randomization. لذلك قد يعرض جهازك على شبكة Wi-Fi عنوانًا مختلفًا عن عنوان المصنع الخاص بواجهة الشبكة.
ما معنى I/G Bit في عنوان MAC؟
يوجد بت آخر في أول Octet يسمى I/G Bit أو Individual/Group Bit. يحدد هذا البت هل العنوان يشير إلى واجهة فردية أم إلى مجموعة.
- عندما تكون قيمة I/G مساوية للصفر يكون العنوان Individual ويستخدم عادة في Unicast.
- عندما تكون القيمة واحدًا يكون العنوان Group Address، وهو الأساس لعناوين Multicast، كما أن عنوان Ethernet Broadcast حالة خاصة تصل فيها جميع البتات إلى الواحد.
على سبيل المثال، عنوان Ethernet للبث العام هو:
FF:FF:FF:FF:FF:FF
أما تفاصيل كيفية قراءة البت الأول والتمييز بين Individual وMulticast وBroadcast دون الخلط بينها وبين أنواع الإرسال على مستوى IP، فتوجد في شرح Unicast وMulticast وBroadcast في MAC Address.
هل MAC Address فريد عالميًا دائمًا؟
لا. معرفات EUI-48 التي تُنشأ بصورة صحيحة من كتل IEEE العالمية مصممة لتكون فريدة، لكن ليس كل عنوان MAC مستخدم على جهاز ما عنوانًا عالميًا من هذا النوع.
من الحالات التي تجعل افتراض «MAC = هوية عالمية دائمة» غير صحيح:
- Locally Administered Addresses.
- العناوين التي تنشئها الآلات الافتراضية وواجهات الشبكات الافتراضية.
- تغيير MAC برمجيًا.
- MAC Randomization في شبكات Wi-Fi.
- أخطاء الإعداد التي قد تؤدي إلى استخدام العنوان نفسه على أكثر من جهاز.
لهذا السبب ينبغي النظر إلى MAC باعتباره عنوان طبقة ربط مستخدمًا في سياق وصلة معينة، لا رقم هوية موثوقًا يمكن الاعتماد عليه لإثبات هوية جهاز أو مستخدم.
ما هي MAC Randomization ولماذا يستخدمها الهاتف والكمبيوتر؟
العنوان الثابت الذي يظهر باستمرار أثناء استخدام Wi-Fi يمكن أن يساعد جهات قريبة على ربط مشاهدات الجهاز ببعضها. لذلك تستخدم أنظمة التشغيل الحديثة عناوين MAC عشوائية أو خاصة في عدد من سيناريوهات Wi-Fi لتقليل إمكانية التتبع.
توضح وثائق Android الرسمية أن Android يستخدم MAC Randomization عند الاتصال بالشبكات المدعومة، وأن العنوان العشوائي يكون Locally Administered وUnicast. كما يستطيع النظام استخدام أنماط Persistent أو Non-persistent وفق الإصدار وحالة الشبكة.
وفي Windows، توفر Microsoft ميزة Random hardware addresses على الأجهزة والواجهات التي تدعمها، سواء بصورة عامة أو لشبكة Wi-Fi معينة.
وتناقش RFC 9797 بصورة أوسع استخدام عناوين MAC العشوائية والمتغيرة، والمكاسب المتعلقة بالخصوصية، وكذلك المشكلات التي قد تظهر عندما تعتمد الشبكات على MAC كهوية ثابتة.
هذه العشوائية لا تجعل الجهاز مجهولًا بالكامل ولا تشفّر حركة Wi-Fi. وظيفتها الأساسية هي تقليل الاعتماد على عنوان ثابت يمكن استخدامه كمعرف طويل العمر.
MAC Address مقابل IP Address
MAC وIP ليسا بديلين لبعضهما، بل يعملان في مستويات مختلفة من الاتصال.
| MAC Address | IP Address |
|---|---|
| عنوان ضمن طبقة الربط | عنوان ضمن طبقة Internet/Network |
| 48 بت شائع في Ethernet | IPv4 بطول 32 بت وIPv6 بطول 128 بت |
| يظهر في عناوين Frames على الوصلة | يظهر في IP Packets |
| قد يكون عالميًا أو محلي الإدارة | يُحدد وفق إعدادات وعنونة شبكة IP |
| العنوان المستخدم قد يكون عشوائيًا أو افتراضيًا | قد يتغير عند الانتقال بين الشبكات أو بسبب DHCP وإعدادات أخرى |
عندما يتواصل جهاز مع وجهة خارج شبكته المحلية، لا يعني ذلك أن عنوان MAC للوجهة البعيدة يُكتب في Ethernet Frame من البداية. الإطار المحلي يحتاج إلى عنوان طبقة الربط الخاص بالـNext Hop المناسب، مثل واجهة الراوتر، ثم تُنشأ أطر جديدة عندما تعبر الحزمة إلى وصلات أخرى.
لفهم هذه العملية دون تحويل هذا المقال إلى شرح كامل للتوجيه، راجع كيف يعمل MAC وIP معًا في الاتصال من طرف لطرف.
كيف يعرف الجهاز MAC المقابل لعنوان IPv4؟
إذا عرف جهاز IPv4 عنوان IP لوجهة موجودة على الوصلة المحلية لكنه يحتاج إلى إرسال Ethernet Frame إليها، فيمكنه استخدام ARP لاكتشاف عنوان طبقة الربط المناسب. أما إذا كانت الوجهة خارج الشبكة المحلية، فيحتاج الجهاز عادة إلى عنوان MAC الخاص بالـNext Hop المحلي، وليس عنوان MAC للخادم البعيد على الإنترنت.
هذا أحد الأسباب التي تجعل فهم ARP وبروتوكولات الشبكات الأساسية مهمًا بعد تعلم الفرق بين MAC وIP.
هل MAC Address يتغير عند المرور عبر Router؟
ينبغي التفريق بين عنوان واجهة الشبكة نفسها وبين عناوين MAC المكتوبة داخل Frame معين.
عندما يعبر IP Packet جهاز Router إلى وصلة جديدة، لا يقوم الراوتر عادة بتمرير Ethernet Frame القديم كما هو. يُزال تغليف طبقة الربط السابق وتُرسل الحزمة عبر الوصلة التالية داخل Frame مناسب لها، بعناوين طبقة ربط جديدة للمصدر والوجهة على تلك الوصلة.
لهذا لا ينتقل عنوان Ethernet MAC الخاص بحاسوبك عبر جميع راوترات الإنترنت كمعرف للاتصال من البداية إلى النهاية.
هل يستطيع موقع على الإنترنت معرفة MAC Address الخاص بك؟
في الاتصال العادي عبر الإنترنت، لا يرى خادم الموقع عنوان Ethernet أو Wi-Fi MAC الخاص بجهازك. تعمل عناوين MAC ضمن نطاق طبقة الربط والوصلة المحلية، وتُستبدل معلومات هذه الطبقة عند عبور الراوترات.
قد تتمكن برامج موجودة على الجهاز نفسه، أو أنظمة إدارة الشبكات المحلية، أو تقنيات لها صلاحيات ووصول إلى طبقة الشبكة المحلية من التعامل مع MAC، لكن هذا يختلف جذريًا عن زيارة موقع ويب بعيد عبر المتصفح.
هل تغيير MAC Address ممكن؟
نعم. كثير من أنظمة التشغيل وبرامج الافتراضية تسمح باستخدام عنوان MAC محلي مختلف عن عنوان المصنع. كما أن أنظمة التشغيل نفسها تستخدم هذه الإمكانية في ميزات الخصوصية الخاصة بشبكات Wi-Fi.
لذلك فإن تعبير Physical Address الذي تعرضه بعض واجهات أنظمة التشغيل لا ينبغي تفسيره على أنه دليل على أن القيمة المعروضة لا يمكن تغييرها برمجيًا.
هل MAC Filtering وسيلة أمان قوية؟
يمكن للراوتر أو نقطة الوصول السماح بعناوين MAC محددة أو منعها، لكن MAC Filtering وحده ليس آلية قوية لإثبات هوية الجهاز. عنوان MAC ليس سرًا مشفرًا، ويمكن في كثير من البيئات تغييره أو انتحاله برمجيًا.
لذلك قد يكون فلتر MAC أداة إدارية إضافية، لكنه لا ينبغي أن يحل محل المصادقة المناسبة وتشفير الشبكة وآليات التحكم في الوصول المصممة لهذا الغرض.
كيف تعرف MAC Address على جهازك؟
Windows
يمكن استخدام:
getmac
أو للحصول على تفاصيل واجهات الشبكة:
ipconfig /all
وفي PowerShell يمكن عرض واجهات الشبكة وعناوينها عبر:
Get-NetAdapter | Select-Object Name, MacAddress
إذا كنت تستخدم Wi-Fi مع Random hardware addresses، انتبه إلى أن العنوان الذي تستخدمه الشبكة قد لا يكون عنوان المصنع الدائم للواجهة.
Linux
الأمر الشائع هو:
ip link
ستظهر كل واجهة مع معلومات Link Layer الخاصة بها. وقد توجد واجهات افتراضية عديدة إلى جانب Ethernet وWi-Fi، لذلك ليس كل MAC ظاهر في القائمة مرتبطًا ببطاقة شبكة فيزيائية مستقلة.
macOS
يمكن عرض منافذ الشبكة ومعلومات العتاد باستخدام:
networksetup -listallhardwareports
كما يمكن فحص واجهة محددة بأدوات النظام مثل ifconfig. وفي Wi-Fi قد تختلف القيمة المستخدمة على الشبكة إذا كانت ميزات العنوان الخاص مفعّلة.
هل يمكن معرفة الشركة المصنّعة من MAC Address؟
يمكن أحيانًا ربط عنوان عالمي بتخصيص مسجل لدى IEEE. توفر IEEE Registration Authority قاعدة البيانات الرسمية للتخصيصات، وهي أفضل من الاعتماد على مواقع غير معروفة تعيد نشر قوائم OUI.
لكن نتيجة البحث لا تعني بالضرورة أنك عرفت الشركة التي صنعت الجهاز النهائي. قد يعود التخصيص إلى مصنع شريحة الشبكة، أو شركة منتج، أو مزود مكونات، كما أن العناوين المحلية والعشوائية لا يمكن تفسيرها بهذه الطريقة أصلًا.
ما العلاقة بين MAC Address وEUI-48؟
توضح إرشادات IEEE لمعرفات EUI أن EUI-48 معرف فريد موسع بطول 48 بت ويُستخدم كثيرًا كعنوان لواجهة ضمن IEEE 802.
أما المصطلح التاريخي MAC-48 فأصبح مصطلحًا قديمًا في توثيق IEEE الحديث. كذلك توضح RFC 9542 أن عناوين MAC ذات 48 بت من أكثر معرفات واجهات Ethernet استخدامًا، وأن العناوين الفريدة عالميًا منها تسمى أيضًا EUI-48.
لذلك فإن الصياغة الأدق ليست «كل MAC Address هو EUI-48 فريد من المصنع»، بل: تستخدم شبكات IEEE 802 عناوين MAC، ومن أشهر أشكالها عناوين 48 بت، ويمكن أن تكون عالمية من نوع EUI-48 أو عناوين محلية وفق طريقة إدارتها.
الخلاصة
MAC Address هو عنصر أساسي في العنونة على مستوى طبقة الربط، وخصوصًا في Ethernet وWi-Fi. العنوان الشائع يتكون من 48 بت ويظهر داخل الـFrame لتحديد المصدر والوجهة على الوصلة المناسبة.
لكن الصورة الحديثة أكثر دقة من فكرة «رقم ثابت وفريد محفور في كرت الشبكة»: IEEE تدير عدة أنواع من كتل العناوين العالمية، ويحدد U/L Bit ما إذا كان العنوان عالميًا أو محلي الإدارة، بينما يميز I/G Bit بين Individual وGroup addressing. وفوق ذلك، تستخدم أنظمة التشغيل الحديثة MAC Randomization والواجهات الافتراضية، ولذلك قد يختلف العنوان الذي تستخدمه فعليًا عن عنوان المصنع.
وفهم هذه النقاط يوضح أيضًا سبب اختلاف MAC عن IP: الأول يخدم عملية التسليم على طبقة الربط والوصلة الحالية، بينما يوفر IP العنونة اللازمة للاتصال عبر شبكات IP المترابطة.