نویسنده: مصطفی پورآقایی | مدیرعامل آرا سامانه ارتباطات مبین
MAC Address چیست؟
اگر بهتازگی وارد دنیای شبکه شده باشید، احتمالاً اصطلاح MAC Address را بارها شنیدهاید. تقریباً هر تجهیزی که به یک شبکه متصل میشود، از لپتاپ و کامپیوتر گرفته تا تلفن همراه، دوربین مداربسته، پرینتر، اکسسپوینت و سوئیچ، دارای یک MAC Address است.
اما MAC Address دقیقاً چیست؟ چه تفاوتی با IP Address دارد؟ چرا سوئیچها با MAC Address کار میکنند اما روترها با IP Address؟ و اصلاً اگر MAC Address وجود نداشت، آیا شبکه میتوانست کار کند؟
در این مقاله تلاش میکنم این مفهوم را نه به شکل حفظی، بلکه با مثالهای واقعی و تجربههای عملی توضیح دهم؛ همان روشی که طی بیش از دو دهه فعالیت در پروژههای شبکه، مرا در عیبیابی بسیاری از مشکلات پیچیده یاری کرده است.
اگر مفهوم MAC Address را بهدرستی درک کنید، مباحثی مانند Switching، ARP، VLAN، Ethernet، Packet Forwarding و حتی بسیاری از خطاهای رایج شبکه برایتان بسیار سادهتر خواهند شد.
MAC Address چیست؟
MAC Address مخفف Media Access Control Address است.
به زبان ساده، MAC Address یک شناسه سختافزاری است که برای شناسایی هر کارت شبکه (Network Interface Card) استفاده میشود.
برخلاف IP Address که ممکن است بارها تغییر کند، MAC Address معمولاً توسط کارخانه سازنده روی کارت شبکه ثبت میشود و هویت فیزیکی آن تجهیز را مشخص میکند.
به همین دلیل به MAC Address گاهی Physical Address یا Hardware Address نیز گفته میشود.
به عنوان مثال:
00:1A:2B:3C:4D:5E
یا
00-1A-2B-3C-4D-5E
هر دو نمایش، یک MAC Address را نشان میدهند و تنها تفاوت آنها در نحوه نمایش کاراکترها است.
چرا MAC Address به وجود آمد؟
فرض کنید داخل یک شرکت، ۵۰ کامپیوتر به یک سوئیچ متصل هستند.
کاربر شماره ۱ میخواهد فایلی برای کاربر شماره ۲۰ ارسال کند.
اگر هیچ شناسهای برای تشخیص دستگاهها وجود نداشت، سوئیچ چگونه متوجه میشد اطلاعات را به کدام پورت ارسال کند؟
اینجاست که MAC Address وارد عمل میشود.
سوئیچها تمام تصمیمهای خود را بر اساس MAC Address میگیرند.
در واقع، MAC Address مانند پلاک خودرو در دنیای شبکه است.
ممکن است رنگ خودرو، راننده یا حتی مسیر حرکت آن تغییر کند، اما شماره پلاک هویت آن خودرو را مشخص میکند.
در شبکه نیز MAC Address هویت فیزیکی هر کارت شبکه را مشخص میکند.
سادهترین مثال برای درک MAC Address
فرض کنید داخل یک مجتمع مسکونی بزرگ زندگی میکنید.
هر واحد دو مشخصه دارد:
- شماره واحد
- آدرس شهر
اگر بخواهید نامهای را داخل همان مجتمع برای همسایه خود ارسال کنید، نگهبان ابتدا شماره واحد را بررسی میکند.
اما اگر نامه قرار باشد به شهر دیگری ارسال شود، ابتدا شهر مقصد بررسی میشود.
در شبکه نیز دقیقاً همین اتفاق رخ میدهد.
داخل یک شبکه محلی (LAN)، تجهیزات با MAC Address یکدیگر را پیدا میکنند.
اما زمانی که بسته قرار است از شبکه خارج شود، IP Address نقش اصلی را بر عهده میگیرد.
به همین دلیل همیشه میگویم:
MAC Address برای پیدا کردن دستگاه داخل شبکه است، اما IP Address برای پیدا کردن شبکه مقصد استفاده میشود.
ساختار MAC Address
MAC Address از ۴۸ بیت تشکیل شده است.
این ۴۸ بیت معمولاً به صورت شش بخش دو رقمی در مبنای شانزده (Hexadecimal) نمایش داده میشود.
نمونه:
00:1A:2B:3C:4D:5E
هر قسمت دو رقم هگزادسیمال است.
در مجموع:
- ۶ بخش
- هر بخش ۸ بیت
- مجموعاً ۴۸ بیت
بخشهای مختلف MAC Address
MAC Address از دو قسمت اصلی تشکیل شده است.
بخش اول: شناسه شرکت سازنده (OUI)
سه بایت اول MAC Address متعلق به شرکت سازنده کارت شبکه است.
به این بخش OUI (Organizationally Unique Identifier) گفته میشود.
برای مثال:
- Intel
- Cisco
- MikroTik
- Dell
- HP
هرکدام بازه اختصاصی خود را دارند.
به همین دلیل معمولاً با مشاهده سه بایت اول MAC Address میتوان سازنده دستگاه را تشخیص داد.
بخش دوم: شماره اختصاصی دستگاه
سه بایت دوم توسط شرکت سازنده تعیین میشود.
این قسمت باعث میشود هیچ دو کارت شبکهای MAC Address یکسان نداشته باشند.
به همین دلیل میلیونها کارت شبکه میتوانند بدون تداخل در سراسر جهان تولید شوند.
آیا دو دستگاه میتوانند MAC Address یکسان داشته باشند؟
در حالت عادی خیر.
هر تولیدکننده موظف است برای هر کارت شبکه یک شناسه منحصربهفرد ایجاد کند.
البته در برخی شرایط مانند MAC Spoofing یا تنظیم دستی MAC Address، ممکن است دو دستگاه با یک MAC در یک شبکه ظاهر شوند که معمولاً باعث بروز مشکلاتی مانند ناپایداری ارتباط، خطا در سوئیچ و اختلال در دسترسی خواهد شد.
آیا MAC Address قابل تغییر است؟
از نظر سختافزاری، MAC Address در کارت شبکه ثبت شده است؛ اما بسیاری از سیستمعاملها اجازه میدهند مقدار آن بهصورت نرمافزاری تغییر داده شود.
به این کار MAC Spoofing گفته میشود.
این قابلیت در برخی سناریوها مانند تستهای امنیتی، شبیهسازی تجهیزات یا عیبیابی کاربرد دارد، اما استفاده نادرست از آن میتواند باعث بروز مشکلات امنیتی در شبکه شود.
آیا MAC Address در اینترنت قابل مشاهده است؟
خیر.
یکی از اشتباهات رایج دانشجویان این است که تصور میکنند MAC Address همراه بسته تا مقصد اینترنتی ارسال میشود.
در واقع، MAC Address فقط در همان شبکه محلی (LAN) معتبر است.
هر بار که بسته از یک روتر عبور میکند، هدر لایه دوم حذف و هدر جدیدی با MAC Address مربوط به لینک بعدی ایجاد میشود.
به همین دلیل، سرور مقصد در اینترنت هرگز MAC Address واقعی کامپیوتر شما را مشاهده نمیکند.
جمعبندی این بخش
اگر بخواهیم مفهوم MAC Address را در یک جمله خلاصه کنیم، میتوان گفت:
MAC Address هویت فیزیکی هر کارت شبکه در یک شبکه محلی است و سوئیچها از آن برای ارسال صحیح Frameها استفاده میکنند.



