فرض کنید قصد دارید از یک وب سایت مانند www.fortisupport.com بازدید نمایید. مرورگر از خدمات لایه ی application مانند http برای ایجاد ارتباط بین دو سیستم استفاده می کند.
حال http از لایه ی transport مانند TCP یا Transmission Control Protocol کمک می گیرد و اطلاعاتی نظیر port number و جزییات مربوط به پروتکل لایه ی انتقال را اضافه می کند. در این مرحله لایه ی شبکه (network layer) علاوه بر اطلاعات مربوط به IP، آدرس آی پی منبع و همچنین آدرس آی پی مقصد را نیز اضافه می کند.
حال سوالی که مطرح می شود این است که کامپیوتر مبدا از چگونه از آدرس آی پی مقصد مطلع می گردد؟ کاری که DNS انجام می دهد این است که URL را به آدرس آی پی اضافه می کند. حال بسته ی داده ها به لایه ی 2 یا همان لایه data link منتقل می شود.
در لایه ی 2، ارتباطات بیشتر از طریق MAC Address یا آدرس های فیزیکی رخ می دهند (MAC Address، آدرس فیزیکی و دائمی کامپیوتر می باشد). این که چگونه در جهان، کامپیوتر مبدا، آدرس آی پی مقصد یا MAC Address مرتبط با آن را می داند، در حوزه ی ARP می گنجد. ARP به مطلع شدن در مورد MAC Address مقصد با توجه به آدرس آی پی، کمک شایانی می کند.
ARP یا address resolution protocol چیست؟
Address Resolution Protocol یا ARP یکی از مهم ترین پروتکل های لایه ی شبکه در مدل OSI است که به یافتن MAC Address یا آدرس Media Access Control با توجه به آدرس های آی پی سیستم کمک می کند. به عبارت دیگر وظیفه ی اصلی ARP تبدیل آدرس آی پی 32 بیتی (برای IPV4) به آدرس 48 بیتی یا همان MAC Address می باشد.
بیشتر برنامه های کامپیوتری از طریق آدرس های منطقی (آدرس هایIP) اقدام به دریافت و ارسال پیام ها می کنند. اما ارتباط واقعی از طریق آدرس های فیزیکی (MAC address) یعنی همان لایه ی دوم مدل OSI اتفاق می افتد.
حال ماموریت ما دریافت MAC address مقصد است که در برقراری ارتباط با سایر دستگاه ها کمک می کند. اینجاست که ARP وارد عمل شده و وظیفه ی آن ترجمه ی آدرس آی پی به آدرس فیزیکی می باشد. ARP مخفف Address Resolution Protocol است که یکی از مهم ترین پروتکل های لایه ی شبکه در مدل OSI است.
نکته: ARP آدرس سخت افزار را که با نام آدرس MAC یا Media Access Control نیز شناخته می شود، از لیست آدرس های آی پی خود پیدا می کند.
ARP چگونه کار می کند؟
فرض کنید قصد دارید دستگاهی را از طریق اینترنت با یک دستگاه دیگر مرتبط کنید. در چنین شرایطی وظیفه ی ARP چیست؟ آیا یک بسته ی داده را به تمامی دستگاه های شبکه پخش می کند؟
دستگاه های شبکه، header مربوط به لایه ی data link را از PDU یا protocol data unit جدا نموده و پکت (packet) را به لایه ی شبکه (لایه ی 3 مدل OSI) منتقل می کنند؛ جایی که ID شبکه مربوط به packet با آی پی مقصد تایید می شود.
در صورت تایید شدن، به منابع MAC Address مقصد پاسخ می دهد و در غیر این صورت، packet به دروازه ی شبکه می رسد و پکت را به دستگاه هایی که به آن متصل هستند، پخش می کند و ID شبکه ی آن ها را شناسایی می کند.
این فرایند تا رسیدن به آخرین دستگاه شبکه ادامه پیدا می کند تا به مقصد برسد؛ در آن جا اعتبارسنجی شده و ARP نیز به نوبه ی خود با MAC Address پاسخ می دهد.
اصطلاحات مهم مرتبط با ARP عبارتند از:
- ARP Cache: کاری که اARP انجام می دهد این است که MAC Address را به منبع محل ارسال خود جهت ارجاع در آینده ارسال می کند. بنابراین ارتباطات بعدی می توانند از MAC Address های موجود در جدول استفاده کنند.
- ARP Cache Timeout: زمانی را که MAC Address در ARP Cache می تواند وجود داشته باشد، نشان می دهد.
- ARP request: پخش یک پکت از طریق شبکه جهت تایید این که آیا با MAC Address مقصد مواجه شده ایم یا خیر.
- ARP response/reply: در واقع پاسخ MAC Address است که توسط مبدا دریافت می شود و به ارتباط بیشتر داده ها کمک می کند.
- در لایه ی شبکه، زمانی که مبدا در جستجوی MAC Address دستگاه مقصد می باشد، ابتدا در ARP cache یا ARP table به دنبال آدرس فیزیکی (MAC address) می گردد.
اگر در آن جا حضور داشته باشد، از همان MAC Address جهت برقراری ارتباط استفاده می کند. در صورتی که تمایل به مشاهده ARP cache خود در سیستم عامل ویندوز دارید، command prompt را باز کرده و دستور arp -a را تایپ نمایید. ARP table چیزی شبیه به تصویر پایین است.
- چنانچه MAC Address در ARP table وجود نداشته باشد، دستگاه مبدا پیامی تحت عنوان ARP Request ایجاد خواهد کرد. دستگاه مبدا در پیام ARP Request، آدرس فیزیکی یا MAC Address خود را به همراه آدرس آی پی مبدا و آدرس آی پی مقصد قرار می دهد و MAC Address مقصد را خالی می گذارد زیرا مبدا در تلاش برای یافتن آن است.
معایب استفاده از ARP یا address resolution protocol
- ممکن است حملات ARP مانند ARP spoofing و ARP Denial of service رخ دهد. ARP Spoofing تکنیکی است که به مهاجم این امکان را می دهد که به یک شبکه ی اترنت حمله کند. ARP denial of Service نیز مهاجم به طور کلی ترافیک را متوقف می کند.
یک دیدگاه برای “پروتکل ARP یا address resolution protocol چیست؟”
مجتبی
می گوید:ممنون. واقعا عالی و بی نظیر بود