آدرس مک (MAC) چیست؟
تمامی دستگاههایی که به هر طریقی به یک شبکه متصل میشوند (از جمله تلفنهای هوشمند، مودمهای خانگی، لپ تاپها و…) دارای یک مک آدرس جداگانه هستند. به این ترتیب در یک شبکه دادهها به مقصد و واسط شبکه مشخص ارسال میشوند.
تفاوت شاخصی که یک آدرس MAC با یک آدرس IP دارد در این است که آدرس IP در پروتکل TCP/IP در یک لایه نرم افزاری تعیین میشود درحالی که آدرس MAC در لایه سخت افزاری بوده و به عبارت ساده تر یک آدرس فیزیکی از پیش تعیین شده بر روی کارت واسط شبکه است.
به عبارت ساده تر آدرس مک مثل یک آدرس خانه ثابت است (البته آدرس مک بعضاً قابلیت تغییر را دارد). این خانه درواقع همان رابط شبکه ما است. حال فرض کنید که در یک شهر با محدوده مشخص (شبکه) قرار داریم و یک نفر (از داخل شبکه) میخواهم پیغامی (پاکتهای داده) را برای ما ارسال کند. فرد برای انجام این کار باید آدرس خانه مورد نظر را در دست داشته باشد. به این ترتیب پاکتهای داده نیز برای انتقال در درون یک شبکه نیاز به آدرسهای مک کارتهای شبکه دارند.
پستهای مرتبط:
- آموزش بدست آوردن آدرس مک
- آموزش تغییر دادن آدرس مک
- قابلیت مک فیلترینگ چیست؟
انواع آدرس گذاری MAC
آدرس MAC نیز دارای استانداردهای مختلفی است که به دلیل نیاز به دامنه گسترده تری از آدرسها طراحی شده اند. سه استاندارد آدرس گذاری مک عبارت اند از MAC-48، EUI-48 و EUI-64 که در هر سه مورد مقدار عددی نشان دهنده طول آدرس مک (در همان ساختار) بر اساس تعداد بیتها است. این ساختارهای آدرس گذاری توسط مؤسسه مهندسان برق و الکترونیک (IEEE) طراحی شده اند.
برای مثال در ساختار آدرس گذاری MAC-48 میتوان در هر آدرس از ۴۸ بیت (یا ۶ بایت) استفاده کرد. به این ترتیب با محاسبه ۲ به توان ۴۸ میتوان ۲۸۱۴۷۴۹۷۶۷۱۰۶۵۶ آدرس مختلف را در این ساختار استفاده کرد. به همین ترتیب در ساختار EUI-64 که شامل ۶۴ بیت (۸ بایت) است، میتوان ۱۸۴۴۶۷۴۴۰۷۳۷۰۹۵۵۱۶۱۶ آدرس مختلف را استفاده کرد. با توجه به این که این مقدار بسیار زیاد است، استفاده از ساختار EUI-64 زیاد رایج نبوده و در شبکههای بسیار گسترده (مانند شبکهای که از IPv6 استفاده میکند) استفاده میشود.
آدرس گذاری MAC-48 بسیار رایج بوده و در تکنولوژیهایی مانند موارد زیر برای مشخص کردن رابطهای شبکه مورد استفاده قرار میگیرد:
- بلوتوث (Bluetooth)
- اترنت (Ethernet)
- اکثر شبکههایی که برپایه استاندارد IEEE 802 هستند.
چرا به آدرس MAC در کنار IP نیاز داریم؟
خب شاید این سوال پیش بیاید که چرا در یک شبکه، وجود آدرس MAC اگرچه آدرس IP مقصد را داشته باشیم، نیاز است؟ پاسخ ساده است؛ آدرس IP یک آدرس مجازی و متغیر ولی آدرس MAC یک آدرس فیزیکی و ثابت است. البته توجه کنید که ممکن است ما اصلا آدرس MAC مقصد اصلی را ندانیم اما فهمیدن آدرس مک روتر یا مسیریاب شبکه ضروری است. این مسیر یاب است که به آدرس مک مقصد نیاز دارد پس ما فقط با دانستن آدرس IP مقصد دادهها را ارسال میکنیم ولی اگر کمی وارد ساختار شبکه بشویم، خواهیم دید که کل ارتباط از طریق آدرسهای MAC انجام میگیرد. پس وارد ساختار شبکه میشویم:
آدرس مک در لایه ۲ مدل OSI یعنی در بخش Data Link است در حالی که IP در لایه ۳ یعنی بخش Network است. میدانیم که IP (به صورت کامل TCP/IP) فقط یک پروتکل برای انتقال داده و ارتباط است که در آن، برای هر کامپیوتر یک آدرس IP تعیین میشود. (آدرس IP چیست؟). از سایر پروتکلهای لایه ۳ میتوان به IPX، IGMP و … اشاره کرد که برای ارتباط در لایه خود، ممکن است از روشهای گوناگونی استفاده کنند. حال آن که همه پروتکلها برای ارسال داده و ارتباط با سایر کامپیوترها با لایه پایین تر خود یعنی Data Link نیاز دارند. به عبارت بهتر، در همه این ارتباطات به آدرس مک کامپیوترها نیاز است و فرقی نمیکند که پروتکل مورد استفاده چه چیزی باشد.
اما آدرس IP و آدرس MAC چگونه در کنار یکدیگر کار میکنند؟
زمانی که یک کامپیوتر (a) از طریق پروتکل IP به کامپیوتر دیگر (b) دادهای ارسال میکند (این دادهها در بستههایی به نام Packet ارسال میشوند)، در سربرگ پکت ارسالی، آدرس IP خود (aIP) و آدرس IP کامپیوتر مقصد (bIP) را ذکر میکند. از جایی که همه این دادهها از لایههای پایین تر (۲ و ۱) عبور میکنند، در سطح پایین تر به یک آدرس دیگر نیز نیاز دارند که همان آدرس مک است. طبق قرارداد، آدرس مک ارسال کننده (aMAC) و آدرس مک ایستگاه بعدی، چه مقصد اصلی باشد و چه آدرس مسیریاب زمانی که کامپیوتر به مقصد اصلی به صورت مستقیم وصل نیست، (rMAC – حرف r برای Router) در سربرگ مک اترنت پکت ارسالی نوشته میشود. نحوه ارسال و دریافت داده به این صورت خواهد بود (برای ارتباطات غیرمستقیم مثل اینترنت که کامپیوترها به صورت واقعی در یک شبکه قرار نگرفته اند):
aMAC > r1MAC (aIP > bIP)
r1MAC > r2MAC (aIP > bIP)
r2MAC > bMAC (aIP > bIP)
همانطور که میبینید، با این که آدرس آی پی فرستنده و گیرنده در طول مسیر انتقال یکی است، اما دادهها بوسیله آدرس مک منتقل میشوند و آدرس آی پی صرفا برای مقایسه کردن آدرسهای مک مورد استفاده قرار میگیرد. توجه کنید که فرستنده با آدرس مک aMAC اطلاعی از آدرس مک مقصد ندارد درحالی که آدرس مک روتر خود (r1MAC) را بدست آورده است. پروسه بدست آوردن آدرس مک یک کامپیوتر (یا روتر) در شبکه محلی نیز توسط پروتکلی به نام ARP انجام میگیرد. در مرحله دوم نیز به این ترتیب داده مسیریابی میشود (با ارسال داده از روتر شبکه اول به روتر شبکه دوم) و در مرحله آخر نیز روتر دوم به راحتی مقصد را شناخته سپس با استفاده از همان پروتکل، آدرس مک آن را دریافت کرده و داده را به درستی به مقصد میرساند. توجه کنید که این دیاگرام برای ارتباطات غیرمستقیم است.
ساختار آدرس MAC
مک آدرس در ساختارهای MAC-48 و EUI-48 تقریباً یکسان بوده و در آن آدرس مک توسط کاراکترهای هگزادسیمال (Hexadecimal) به صورت جفتی نشان داده میشود. هر دو ساختار ۶ بایتی اند بنابراین آدرس مک ما نیز ۶ بخش خواهد بود که هر بایت توسط یک جفت کاراکتر هگزادسیمال نشان داده میشود. هر بخش توسط یکی از کاراکترهای دونقطه (:) یا خط تیره (-) و گاهاً نقطه (.) از یکدیگر جدا میشوند. برای مثال، عبارت زیر نشان دهنده یک آدرس مک ۴۸ بایتی است:
D0-DF-9A-C8-9F-6B
آدرس دهی مک به صورت کلی به دو نوع محلی (Locally) و جهانی (Universally) تقسیم میشوند. در نوع محلی (Locally administered addresses – به صورت کامل) آدرس مک توسط مدیر شبکه تعیین میشود و در نوع جهانی (Universally administered addresses) این آدرس از پیش توسط شرکت سازنده تعیین میشود. محلی یا جهانی بودن آدرس از طریق هفتمین بیت بایت اول تشخیص داده میشود. برای مثال بایت اول ما به صورت هگزادسیمال D0 هست که تبدیل شده آن به باینری ۱۱۰۱۰۰۰۰ میشود که در آن هفتمین بیت ما ۰ به معنای جهانی (ثبت شده توسط شرکت) است. درصورتی که هفتمین بیت بایت اول ۱ باشد، به این معناست که آدرس مک ما به صورت محلی (تعیین شده توسط مدیر شبکه) است. تمامی کارتهای شبکه که توسط شرکتها ساخته میشوند بیت هفتم بایت اول آنها بر روی صفر تنظیم میشود.
در حالت Universally administered addresses، سه بخش اول در هر مک آدرس استاندارد به صورت قراردادی مشخص کننده شرکت تولید کننده آن واسط شبکه است تا از ادغام آدرسهای مک شرکتهای مختلف با یکدیگر جلوگیری شود؛ به این امضاء OUI (مخفف عبارت Organizationally Unique Identifier) نیز گفته میشود. برای مثال در عبارت بالا سه بخش اول یعنی “D0-DF-9A” نشان دهنده شرکت Liteon Technology Corporation است.
آخرین بیت در اولین بایت نیز نشان دهنده Unicast یا Multicast بودن رابط شبکه است. این سوئیچ به رابط شبکه اطلاع میدهد که وضعیت دریافتی پاکتها به چه صورت باشد. در یونی کست رابط پاکت را یکبار دریافت میکند اما در مولتی کست با توجه به پیکربندیهای انجام شده، پاکت را شناسایی کرده و دریافت میکند.
سه بایت (در MAC-48 و EUI-48) یا پنج بایت (در EUI-64) بعدی نیز با توجه به شیوههای مختلفی که شرکتها برای نام گذاری استفاده میکنند، تعیین میشود. این بایتها نیز از ادغام مک آدرسهای مختلف یک شرکت جلوگیری میکند.