پروتکل ARP
پروتکل ARP یا Address Resolution Protocol، پروتکل یا پروسیجری است که آدرس IP همیشه در حال تغییر را به یک آدرس MAC وصل میکند. طول آدرسهای IP و MAC متفاوت است و برای اینکه سیستمها بتوانند یکدیگر را تشخیص دهند، نیاز به ترجمه آدرس وجود دارد. از این رو است که این نوع نگاشت آدرس، حائز اهمیت است.
امروزه پروتکل رایج اینترنت، IPv4 یعنی نسخه چهار از پروتکل اینترنت است. هر آدرس IPv4، شامل 32 بیت، به صورت 4 بخش 8 بیتی است. این در حالی است که آدرسهای مک، 48 بیتی هستند. بنابراین، پروتکل ARP میبایست آدرسهای 32 بیتی را به 48 بیتی و بالعکس ترجمه کند.

آدرس Mac در لایه پیوند داده کار میکند. این آدرس فیزیکی، ارتباطی را بین دو دستگاه متصل به هم ایجاد میکند. آدرس IP به عنوان لایه شبکه، مسئول انتقال بستههای داده از طریق روترهای مختلف است. پروتکل ARP در واقع بین این لایهها کار میکند.
ARP چگونه کار میکند؟!
هنگامی که یک کامپیوتر جدید را به یک شبکه LAN متصل میکنید، یک آدرس IP منحصر به فرد به آن اختصاص مییابد. این IP، برای شناسایی این کامپیوتر و ارتباط با آن است.
gateway چنانچه میدانید، سخت افزاری موجود در شبکه است که به دادهها اجازه میدهد از یک شبکه به شبکه دیگر منتقل شوند. بستههای داده به یک gateway میرسند که برای یک ماشین میزبان خاص تعیین شده است.
gateway از برنامه ARP میخواهد یک آدرس MAC متناسب با آدرس IP پیدا کند. حافظه پنهان ARP، سوابق هر آدرس IP و آدرس MAC منطبق با آن را نگه میدارد. حافظه پنهان ARP، داینامیک است. اما کاربران موجود در یک شبکه میتوانند یک جدول استاتیک نیز برای آن داشته باشند. این جدول، حاوی آدرسهای IP و آدرسهای MAC است.
حافظههای پنهان ARP، در تمام سیستم عاملهای یک شبکه اترنت IPv4 نگهداری میشوند. هر بار که دستگاهی برای ارسال داده به دستگاه دیگری که به LAN متصل است، آدرس MAC درخواست میکند، این دستگاه، حافظه ARP خود را بررسی میکند تا ببیند آیا ترجمه آدرس IP به MAC، قبلاً کامل شده است یا خیر.
اگر این آدرس وجود داشته باشد، یک درخواست جدید دیگر لازم نیست. اما اگر هنوز نگاشتی بین دو آدرس IP و MAC صورت نگرفته باشد، درخواستی برای دریافت آدرس شبکه ارسال میشود. سپس ARP دست به کار میشود.
اندازه حافظه پنهان ARP
اندازه حافظه پنهان ARP، محدود است. به این دلیل، آدرسها فقط برای چند دقیقه در حافظه پنهان باقی میمانند. بنابراین این حافظه، به منظور آزادسازی فضا، به طور مرتب پاکسازی میشود. این طرح، همچنین به حفظ حریم خصوصی و امنیت کمک میکند. تا از سرقت یا جعل آدرسهای IP توسط مهاجمان سایبری جلوگیری کند.
آدرسهای MAC ثابت هستند. اما آدرسهای IP به طور مداوم در حال تغییرند. در فرآیند پاکسازی، آدرسهای استفاده نشده حذف میشوند. همچنین هر داده مربوط به تلاش ناموفق برای برقراری ارتباط با رایانههایی که خاموشند یا به شبکه متصل نیستند.

در سناریوی زیر، نمونهای از عملکرد پروتکل ARP را میتوانید ببینید:
فرض کنید میزبان A میخواهد با میزبان B. ارتباط برقرار کند. نود A، آدرس IP میزبان B را میداند. اما آدرس MAC آن را نمیداند. بنابراین، میزبان A، به منظور پیدا کردن آدرس MAC میزبان B، با ارسال یک درخواست ARP، آدرس IP میزبان B را به عنوان آدرس IP مقصد و همچنین آدرس FF: FF: FF: FF: FF: FF را به عنوان آدرس MAC درخواستی، اعلام میکند.

سوئیچ شبکه، این فریم را به تمام دستگاههای متصل به پورتهای خود ارسال میکند. (به غیر از رابط ورودی ارسال کننده درخواست ARP). بنابراین تمامی این دستگاهها، بسته مربوط به درخواست ARP را دریافت میکنند.
اما به این دلیل که آدرس IP مقصد، آدرس IP میزبان B است، فقط میزبان B به بسته ARP مربوطه پاسخ میدهد. میزبان B در پاسخ، آدرس MAC خود را ارسال میکند. بنابراین، اکنون میزبان A، اطلاعات کافی برای ارسال بسته خود به میزبان B و ارتباط برقرار کردن با آن را خواهد داشت.