MAC Address چیست؟ بررسی کاربرد، ساختار و تفاوت آن با IP Address
MAC Address یک شناسه منحصربهفرد برای رابط شبکه است که در ارتباطات شبکه محلی کاربرد دارد. در این مطلب با ساختار و کاربرد MAC Address، نحوه عملکرد آن و تفاوتش با IP Address آشنا میشویم.
در شبکههای کامپیوتری، MAC Address و IP Address دو نوع آدرس مهم هستند که هرکدام نقش متفاوتی در شناسایی و ارتباط دستگاهها دارند. در این مطلب به بررسی MAC Address و IP Address کاربرد، ساختار، موارد استفاده آنها میپردازیم.
MAC Address چیست؟
MAC Address یک شناسه ۴۸ بیتی است که معمولاً برای شناسایی یک رابط شبکه (Network Interface) در شبکه محلی استفاده میشود. این آدرس معمولاً توسط سازنده رابط شبکه تعیین میشود و بهصورت پیشفرض برای آن رابط در نظر گرفته میشود.
با این حال، MAC Addressدر بسیاری از سیستمها میتواند بهصورت نرمافزاری تغییر داده یا جعل شود.
MAC Address چه کاربردی دارد؟
MAC Address در شبکههای محلی برای شناسایی رابطهای شبکه و انتقال Frame ها استفاده میشود. سوئیچها با استفاده از MAC Address مقصد، مشخص میکنند که یک Frame باید از کدام پورت ارسال شود. در مقابل، روترها برای مسیریابی Packetها بین شبکههای مختلف عمدتاً از IP Address استفاده میکنند.
یکی از مهمترین کاربردهای MAC Address، شناسایی رابطهای شبکه در یک شبکه محلی است. مدیران شبکه و کارشناسان امنیت میتوانند با استفاده از MAC Address، دستگاههای متصل به شبکه را شناسایی و در برخی تجهیزات شبکه، دسترسی آنها را کنترل یا محدود کنند.
ساختار Mac Address چگونه است؟
MAC Address استاندارد معمولاً یک مقدار ۴۸ بیتی است که با ۱۲ رقم هگزادسیمال نمایش داده میشود. آدرس MAC که عمدتاً به عنوان یک شناسه در طول ساخت دستگاه مشخص میشود، اغلب در کارت شبکه (NIC) دستگاه یافت میشود. هر MAC Address از ۴۸ بیت اطلاعات تشکیل شده است که به دو بخش اصلی تقسیم میشود.
هر دو رقم هگزادسیمال، معادل ۸ بیت هستند و میتوانند شامل اعداد 0 تا 9 و حروف A تا F باشند. این جفتها معمولاً با دو نقطه (:)، خط تیره (-) یا در برخی نمایشها بدون جداکننده نوشته میشوند. برای مثال: 00:1A:2B:3C:4D:5E.
بخش اول MAC Address، OUI (Organizationally Unique Identifier) نام دارد. این قسمت شامل سه جفت اول یا ۲۴ بیت اول MAC Address است و توسط IEEE به سازمانها و تولیدکنندگان اختصاص داده میشود.
در یک MAC Address معمولی، ۲۴ بیت اول مربوط به OUI و ۲۴ بیت باقیمانده برای شناسایی رابط شبکه در محدوده اختصاصیافته به آن سازمان استفاده میشود.
تفاوت MAC Address و IP Address چیست؟
هر دو نوع آدرس برای شناسایی و ارتباط دستگاهها در شبکه استفاده میشوند، اما نقش و محدوده استفاده آنها متفاوت است.
MAC Address یک شناسه مربوط به رابط شبکه است که در لایه Data Link مدل OSI استفاده میشود.
MAC Addressعمدتاً برای ارتباط و انتقال Frameها در یک شبکه محلی (LAN) کاربرد دارد.
در مقابل، IP Address یک آدرس منطقی است که برای شناسایی یک رابط شبکه در یک شبکه IP استفاده میشود و امکان ارتباط و مسیریابی Packetها بین شبکههای مختلف را فراهم میکند. IP Address میتواند بهصورت دستی تنظیم شود یا توسط سرویسهایی مانند DHCP به دستگاه اختصاص داده شود و ممکن است در طول زمان تغییر کند.
IP Address در لایه Network مدل OSI استفاده میشود و به روترها کمک میکند مسیر مناسب برای انتقال Packet ها بین شبکههای مختلف را تعیین کنند.

MAC Addressدر کدام لایه از مدل OSI و مدل TCP/IP قرار دارد؟
MAC Address در مدل OSI در لایه Data Link (لایه 2) مورد استفاده قرار میگیرد. در مدل TCP/IP نیز MAC Adress در بخش Link Layer یا لایه دسترسی شبکه قرار میگیرد.
MAC Address چگونه در شبکه Local استفاده میشود؟
MAC Address در شبکههای محلی (LAN) برای شناسایی رابطهای شبکه و انتقال Frameها بین دستگاههای موجود در همان شبکه استفاده میشود. زمانی که یک دستگاه قصد دارد دادهای را برای دستگاه دیگری در شبکه محلی ارسال کند، اطلاعات مربوط به آدرس MAC مبدأ و مقصد در Ethernet Frame قرار میگیرد.
برای مثال، فرض کنید کامپیوتر A با آدرس IP 192.168.1.10 قصد دارد برای کامپیوتر B با آدرس IP 192.168.1.20 داده ارسال کند. اگر کامپیوتر B در همان شبکه محلی و Subnet قرار داشته باشد، کامپیوتر A برای ارسال Frame به آن باید MAC Address مربوط به B را داشته باشد.
در این مرحله، سوئیچ شبکه نیز نقش مهمی دارد. سوئیچ با بررسی MAC Address مبدأ Frameهای دریافتی، اطلاعات مربوط به دستگاههای متصل به پورتهای مختلف را در جدولی به نام MAC Address Table یا CAM Table ذخیره میکند. سپس با بررسی MAC Address مقصد، Frame را از پورت مناسب به سمت دستگاه مقصد ارسال میکند.
به عنوان مثال، اگر سوئیچ بداند MAC Address مربوط به کامپیوتر B روی پورت شماره 3 قرار دارد Frame مقصد را از همان پورت ارسال میکند و نیازی نیست آن را از تمام پورتها ارسال کند.
بنابراین، در یک شبکه محلی میتوان نقش MAC Address و IP Address را به شکل زیر در نظر گرفت:
- IP Address مشخص میکند داده باید به کدام مقصد منطقی در شبکه برسد.
- MAC Address برای انتقال Frame به رابط شبکه مقصد در شبکه محلی استفاده میشود.
- Switch با استفاده از MAC Address، Frameها را در شبکه محلی Forward میکند.
- Router با استفاده از IP Address، Packetها را بین شبکههای مختلف مسیریابی میکند.
نکته مهم این است که MAC Address معمولاً برای ارتباط در همان شبکه محلی اهمیت دارد. زمانی که مقصد در شبکه دیگری قرار داشته باشد، دستگاه فرستنده Frame را برای MAC Address روتر یا Default Gateway ارسال میکند، نه MAC Address دستگاه مقصد نهایی. روتر سپس Packet را بر اساس IP Address به سمت شبکه مقصد هدایت میکند.
ARP چه ارتباطی با MAC Address دارد؟
ARP (Address Resolution Protocol) پروتکلی است که در شبکههای IPv4 برای پیدا کردن MAC Address مربوط به یک IP Address در شبکه محلی استفاده میشود.
زمانی که یک دستگاه بخواهد در شبکه محلی برای یک IP Address مشخص داده ارسال کند، باید MAC Address مقصد را نیز بداند تا بتواند Ethernet Frame را برای رابط شبکه مقصد ارسال کند. اگر MAC Address مقصد در جدول ARP دستگاه وجود نداشته باشد، دستگاه یک ARP Request در شبکه ارسال میکند.
در ARP Request، دستگاه فرستنده اعلام میکند که به دنبال MAC Address مربوط به یک IP Address مشخص است. دستگاهی که آن IP Address را دارد، با ارسال ARP Reply، MAC Address خود را اعلام میکند.
برای مثال، فرض کنید کامپیوتر A دارای IP Address 192.168.1.10 است و میخواهد برای کامپیوتر B با IP 192.168.1.20 داده ارسال کند. کامپیوتر A ابتدا بررسی میکند که آیا MAC Address مربوط به 192.168.1.20 را در ARP Cache خود دارد یا خیر. اگر این اطلاعات وجود نداشته باشد، یک ARP Request ارسال میکند.
دستگاه B که IP Address موردنظر را دارد، در پاسخ یک ARP Reply ارسال میکند و MAC Address خود را در اختیار کامپیوتر A قرار میدهد. کامپیوتر A سپس میتواند Frame را با استفاده از MAC Address به مقصد ارسال کند.
بنابراین، ARP خودش MAC Address را تغییر نمیدهد و وظیفه مسیریابی نیز ندارد؛ بلکه در شبکه IPv4 کمک میکند تا یک IP Address به MAC Address متناظر آن در شبکه محلی نگاشت شود.
اطلاعات بهدستآمده معمولاً برای مدتی در ARP Cache ذخیره میشود تا برای ارسالهای بعدی نیازی به انجام مجدد ARP نباشد.
آیا MAC Address قابل تغییر است؟
اگرچه MAC Address معمولاً توسط سازنده برای رابط شبکه تعیین میشود، اما در بسیاری از سیستمعاملها امکان تغییر یا جعل نرمافزاری آن وجود دارد. به این کار MAC Spoofing گفته میشود.
بنابراین، برخلاف تصور رایج، MAC Address کاملاً غیرقابل تغییر نیست و میتوان آن را با استفاده از تنظیمات سیستمعامل یا برخی ابزارهای نرمافزاری تغییر داد.
چگونه MAC Address دستگاه خود را پیدا کنیم؟
روش پیدا کردن MAC Address به سیستمعامل دستگاه بستگی دارد. در ادامه روشهای رایج در سیستمعاملهای مختلف را بررسی میکنیم.
در ویندوز
کلیدهای Win + R را فشار دهید، عبارت cmd را وارد کنید و در پنجره Command Prompt دستور زیر را اجرا کنید:
ipconfig /all
در خروجی دستور، در بخش مربوط به کارت شبکه موردنظر، مقدار Physical Address همان MAC Address دستگاه است.
در لینوکس
در Terminal میتوان با اجرای دستور زیر اطلاعات رابطهای شبکه و MAC Address آنها را مشاهده کرد:
ip link
MAC Address معمولاً در مقابل عبارت link/ether نمایش داده میشود.
در macOS
از مسیر System Settings / Network وارد تنظیمات رابط شبکه موردنظر شوید و اطلاعات مربوط به آن را مشاهده کنید. همچنین میتوان از Terminal و دستور زیر استفاده کرد:
ifconfig
در خروجی، مقدار مقابل ether، MAC Address رابط شبکه است.
در نظر داشته باشید که هر رابط شبکه میتواند MAC Address جداگانهای داشته باشد؛ برای مثال، یک لپتاپ ممکن است برای رابط Wi-Fi و Ethernet دو MAC Address متفاوت داشته باشد.
جمعبندی
MAC Address و IP Address هر دو برای شناسایی و برقراری ارتباط بین دستگاهها در شبکه استفاده میشوند، اما نقش متفاوتی دارند. MAC Address یک شناسه ۴۸ بیتی برای رابط شبکه است که عمدتاً در شبکه محلی و در لایه Data Link برای انتقال Frameها استفاده میشود. در مقابل، IP Address یک آدرس منطقی است که در لایه Network قرار دارد و برای برقراری ارتباط و مسیریابی Packetها بین شبکههای مختلف استفاده میشود.
در شبکههای محلی، Switch با استفاده از MAC Address، Frameها را به رابط شبکه مقصد ارسال میکند، در حالی که Router با استفاده از IP Address، Packetها را بین شبکههای مختلف مسیریابی میکند. همچنین در شبکههای IPv4، پروتکل ARP به دستگاهها کمک میکند MAC Address مرتبط با یک IP Address را در شبکه محلی پیدا کنند.
بنابراین میتوان بهطور خلاصه گفت:
MAC Address : شناسایی رابط شبکه و انتقال Frame در شبکه محلی
IP Address: آدرسدهی منطقی و مسیریابی Packet بین شبکهها
شناخت تفاوت این دو آدرس و نحوه ارتباط آنها، یکی از مفاهیم پایه و مهم برای درک عملکرد شبکههای کامپیوتری است.
