آموزشگاه شبکه و امنیت ایفل

اولین آموزشگاه تضمین کننده اشتغال دانشجویان در ایران

ایفل نت

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 و IP Address


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 بین شبکه‌ها

شناخت تفاوت این دو آدرس و نحوه ارتباط آنها، یکی از مفاهیم پایه و مهم برای درک عملکرد شبکه‌های کامپیوتری است.


 

مسیر یادگیری شبکه را ادامه دهید
اگر می‌خواهید مفاهیم پایه شبکه مانند MAC Address، IP Address، ARP، Ethernet، Switch، Router و سایر مباحث شبکه را به‌صورت اصولی و عملی یاد بگیرید، دوره Network+ می‌تواند نقطه شروع مناسبی باشد.
مشاهده دوره Network+