setakit.com
setakit.com

پروتکل ARP یا address resolution protocol چیست

فرض کنید قصد دارید از یک وب سایت مانند www.fortisupport.com بازدید نمایید. مرورگر از خدمات لایه ی application مانند http  برای ایجاد ارتباط بین دو سیستم استفاده می کند. حال http از لایه ی transport مانند TCP یا Transmission Control Protocol کمک می گیرد و اطلاعاتی نظیر port number و جزییات مربوط به پروتکل لایه ی انتقال را اضافه می کند. در این مرحله لایه ی شبکه (network layer) علاوه بر اطلاعات مربوط به IP، آدرس آی پی منبع و همچنین آدرس آی پی مقصد را نیز اضافه می کند.  حال سوالی که مطرح می شود این است که کامپیوتر مبدا از چگونه از آدرس آی پی مقصد مطلع می گردد؟ کاری که DNS انجام می دهد این است که URL را به آدرس آی پی اضافه می کند. حال بسته ی داده ها به لایه ی  ۲ یا همان لایه data link منتقل می شود. در لایه ی ۲، ارتباطات بیشتر از طریق 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 تبدیل آدرس آی پی ۳۲ بیتی (برای IPV4)  به آدرس ۴۸ بیتی یا همان 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) را به لایه ی شبکه (لایه ی ۳ 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 Request را به شبکه محلی (local network) منتقل می کند.
  • پیام توزیع شده توسط تمامی دستکاه های موجود در شبکه LAN دریافت می گردد. حال همه ی دستگاه ها، اقدام به مقایسه ی آدرس آی پی مقصد با آدرس آی پی خود می کنند. در صورتی که آدرس آی پی مقصد با آدرس IP یکی از دستگاه ها مطابقت داشته باشد، یک پیام ARP Reply توسط آن دستگاه ارسال خواهد شد. اگر آدرس های آی پی مطابقت نداشته باشند، در این صورت، دستگاه پکت را رها خواهد کرد.
  • دستگاهی که آدرس آی پی آن، با آدرس آی پی مقصد در پکت مطابقت داشته باشد، به پیام ARP Reply پاسخ خواهد داد. این پیام ARP Reply حاوی MAC Address می باشد. دستگاه مقصد، ARP table خود را به روز رسانی نموده و MAC Address مبدا را ذخیره می کند تا در صورت نیاز به سادگی آن را پیدا کند. حال می توان گفت منبع برای این دستگاه، تبدیل به مقصد (هدف) شده است و پیام ARP Reply ارسال می شود.
  • پیام ARP Reply توزیع نمی گردد، زیرا منبعی که پیام ARP Reply را به مقصد ارسال نموده، از MAC Address دستگاه مقصد مطلع است.
  •  دستگاه مبدا زمانی که پیام ARP Reply را دریافت می کند، از MAC Address مقصد مطلع شده و همچنین ARP cashe خود را به روز رسانی می کند. حال پکت ها می توانند به عنوان مبدا MAC Address مقصد ارسال شوند.

مزایای استفاده از ARP یا address resolution protocol

  • در صورتی که آدرس آی پی را بدانیم به راحتی می توانیم MAC Address را نیز پیدا کنیم.
  • برای اطلاع از MAC Address ها، نیازی به انجام تنظیمات مربوط به nodeهای پایانی نیست، بلکه در صورت نیاز می توان به سادگی به آن ها دست پیدا کرد.

معایب استفاده از ARP یا address resolution protocol

  • ممکن است حملات ARP مانند ARP spoofing و ARP Denial of service رخ دهد. ARP Spoofing تکنیکی است که به مهاجم این امکان را می دهد که به یک شبکه ی اترنت حمله کند. ARP denial of Service نیز مهاجم به طور کلی ترافیک را متوقف می کند.

 

 

سایر مطالب مرتبط

خدمات امنیت شبکه    پروتکل اینترنت چیست ستاک فناوری ویرا    پروتکل شبکه چیست ستاک فناوری ویرا

        امنیت شبکه                             پروتکل اینترنت                            پروتکل شبکه