پروتکل ARP یا Address Resolution Protocol یک پروتکل بنیادی شبکه است که نقش مهمی در برقراری ارتباط بین دستگاه ها در شبکه محلی یا LAN دارد.
پروتکل ARP یا Address Resolution Protocol چیست؟
پروتکل ARP که یک پروتکل در لایه شبکه است، برای تبدیل IP متغیر به آدرس فیزیکی ثابت یا همان MAC در شبکه های محلی (LAN)، استفاده می شود. طول آدرس های IP و MAC متفاوت است و برای اینکه توسط یکدیگر قابل شناسایی باشند، نیاز به یک مترجم دارند. IP های نسخه 4 (IPv4) که 32 بیتی هستند، امروزه بسیار استفاده می شوند. در طرف مقابل، مک آدرس ها قرار دارند که 48 بیتی هستند. پروتکل Address Resolution به ترجمه و تبدیل آدرس های 32 به 48 بیتی و بالعکس کمک می کند. بدون این پروتکل نرم افزار ها و دستگاه ها قادر به انتقال داده ها در شبکه نخواهند بود.
ARP یک پروتکل منتشر کننده است. در واقع ARP یک پیام را به تمام دستگاه های موجود در شبکه محلی خود ارسال و آدرس MAC را به وسیله IP معتبر درخواست می کند. سپس دستگاهی که دارای آدرس IP مربوطه است، به فرستنده پاسخ ارسال می کند و اتصال را تایید می نماید. این دستگاه در پاسخ آدرس MAC خود را نیز ارائه می دهد. پس از تکمیل فرآیند، دو دستگاه تنها با استفاده از آدرس های فیزیکی خود می توانند با هم ارتباط برقرار کنند و دیگر نیازی به IP نمی باشد.
ARP در سال 1982 توسط RFC 826 تعریف شد و از آن زمان نقش حیاتی و مهمی در ارتباطات شبکه دارد.
دلایل اهمیت پروتکل ARP
پروتکل ARP برای عملکرد صحیح IP ها ضروری است زیرا با اتصال آدرس MAC و IP ها، ارتباط بین دستگاهها در یک شبکه محلی را ممکن میسازد. این اتصال، برای تبادل داده در لایه پیوند داده (Data Link) زمانی که از MAC به جای IP استفاده می شود، ضروری است.
بدون ARP، دستگاه ها قادر به شناسایی یکدیگر نیستند و ارتباط ممکن نخواهد بود. علاوه بر این به وسیله ARP می توان IP تکراری را شناسایی و اقدامات لازم به جهت جلوگیری از بروز مشکل را انجام داد.
پروتکل ARP چگونه کار می کند؟
پروتکل ARP به کلیه دستگاه های متصل به شبکه محلی یا LAN اجازه میدهد تا آدرس IP را به یک آدرس فیزیکی یا MAC تبدیل نمایند. برای درک بهتر این فرآیند در ادامه یک مثال برای نحوه عملکرد ARP با استفاده از دو دستگاه A و B آورده شده است.
- دستگاه A برای برقراری ارتباط با دستگاه B نیاز به MAC آدرس دارد.
- دستگاه A یک درخواست ARP را به تمام دستگاه های موجود در شبکه محلی ارسال می کند و آدرس فیزیکی یا MAC دستگاه B را جویا می شود.
- تمامی دستگاههای موجود در شبکه درخواست را دریافت میکنند، اما فقط دستگاه B آدرس IP مورد نظر را دارد و پاسخ درخواست را میدهد.
- دستگاه B پاسخ ARP را که شامل آدرس فیزیکی (MAC) است ارسال می کند.
- دستگاه A پاسخ را دریافت کرده و اکنون آدرس MAC دستگاه B را دارد.
- در این شرایط تبدیل آدرس IP به آدرس فیزیکی انجام شده است و دو دستگاه می توانند با استفاده از آدرس فیزیکی با یکدیگر ارتباط برقرار کنند.
- حافظه پنهان یا کش ARP دستگاه A با اطلاعات جدید بروز می شود.
- اکنون دستگاه A می تواند با دستگاه B ارتباط برقرار کند.
تصویر(1)
لازم به ذکر است که ARP در لایه پیوند داده مدل OSI عمل کرده و از مکانیزم پخش برای رسیدن به دستگاه هدف استفاده می کند. این پروتکل در واقع بدون تعهد است، بدان معنی که اطلاعات مک و آی پی قدیمی را نگهداری نمی کند. همچنین، اگر آدرس IP دستگاهی تغییر کند، لازم است که مجدد یک درخواست ARP برای یافتن آدرس MAC جدید مرتبط با آدرس IP ارسال کند.
انواع پروتکل ARP
انواع مختلفی از پروتکل های ARP وجود دارند، که در ادامه به هر کدام از آنها پرداخته خواهد شد.
تصویر(2)
1.پروکسی ARP: یک دستگاه متصل به شبکه را می توان به عنوان پروکسی ARP کانفیگ نمود به طوری که اجازه دهد درخواست های ARP از طرف دستگاه های دیگر پاسخ داده شوند. در صورتی که قصد داشته باشید حضور دستگاههای دیگر را در شبکه پنهان کنید یا ترافیک را مسیریابی نمایید این پروتکل برای شما می تواند مفید باشد.
2.ARP رایگان: یک پاسخ ARP است که از یک دستگاه ارسال می شود، حتی اگر از آن درخواستی انجام نشده باشد. این نوع ARP برای بروز رسانی کش ARP سایر دستگاه های موجود و شناسایی آدرس های IP تکراری در شبکه استفاده می شود.
3.Reverse ARP یا RARP: پروتکلی که به دستگاه اجازه میدهد، آدرس IP را در شرایطی که تنها آدرس فیزیکی (MAC) خود را میداند، تعیین کند. این پروتکل معمولاً در موقعیت هایی استفاده می شود که باید آدرس IP قبل از شروع ارتباط در شبکه مشخص شود.
4.ARP معکوس (InARP): پروتکلی است که عملکرد آن برعکس ARP مرسوم می باشد. این پروتکل می تواند آدرس های IP مربوطه را با استفاده از آدرس های سخت افزاری، بدست آورد. InARP زمانی مفید است که دستگاهی با شناسه اتصال لایه Data Link یا DLCI یک روتر از راه دور (remote router) را شناسایی کرده اما از آدرس IP آن مطمئن نباشد.
تفاوت های ARP، DHCP و DNS چیست؟
ARP، DHCP و DNS همگی نقشهای اساسی در آدرسدهی و شناسایی دستگاههای موجود در شبکه ایفا می کنند که برای ارتباط و دسترسی به منابع ضروری هستند. هر سه پروتکل مبتنی بر اینترنت (IP) می باشند و با هم کار می کنند تا ارتباط بین دستگاه های موجود در شبکه را امکان پذیر کنند.
اهداف این پروتکل ها به قرار زیر می باشد:
- پروتکل ARP یا Address Resolution Protocol یک آدرس IP را به یک آدرس فیزیکی (MAC) تبدیل می نماید. لذا هنگامی که آدرس IP دستگاه واضح باشد، کمک می کند تا آدرس فیزیکی مشخص گردد. از این مورد عمدتاً در شبکه های محلی (LAN) استفاده می شود.
- DHCP به طور خودکار آدرس های IP را به دستگاه های موجود در شبکه اختصاص می دهد. لذا نیاز به پیکربندی دستی آدرس های IP و سایر تنظیمات شبکه در هر دستگاه را از بین می برد.
- DNS نام دامنه ها را به آدرس های IP ترجمه می کند. لذا دیگر نیاز نیست که آدرس IP ها که سخت نیز به خاطر سپرده می شوند را حفظ نمود. از همین رو با استفاده از نام های دامنه که آسان و سریع به خاطر می آیند، می توان به وب سایت ها و سایر منابع دسترسی داشت.
تصویر(3)
مزایای پروتکل ARP یا Address Resolution
در ادامه برخی از مزایای اصلی پروتکل ARP ذکر شده است:
- ARP به دستگاه های موجود در یک شبکه محلی اجازه می دهد تا با نگاشت آدرس IP به آدرس MAC، با یکدیگر ارتباط برقرار کنند.
- کش ARP آدرس IP-MAC را ذخیره می کند و تعداد انتشارهای ARP مورد نیاز برای ارتباط را کاهش می دهد. بنابراین، عملکرد نهایی network را بهبود می بخشد.
- پکت های ARP برای کشف آدرسهای فیزیکی دستگاههای موجود در شبکه استفاده میشوند که میتواند برای شناسایی دستگاههای خطرناک یا نفوذهای شبکه مفید باشد.
- ARP توسط تمام سیستم عامل های محبوب مانند ویندوز، لینوکس و macOS پشتیبانی می شود. از همین رو می توان آن را یک پروتکل پرکاربرد در شبکه ها دانست.
- ARP برای عیب یابی و تشخیص مشکلات شبکه کاربردی است، زیرا کش ARP را می توان به راحتی مشاهده و تجزیه و تحلیل کرد.
جعل پروتکل ARP چیست؟
جعل پروتکل ARP یا ARP spoofing که با نام ARP cache poisoning نیز شناخته می شود، نوعی حمله سایبری است که در آن مهاجم بسته های تقلبی ARP را به دستگاهی در شبکه می فرستد تا به آن دسترسی پیدا کند. در این حمله مهاجم یک پیام ARP می فرستد که حاوی آدرس MAC دستگاه خودش است. به عبارت دیگر، هکر یا مهاجم میتواند آدرس فیزیکی خود را به IP پیشفرض gateway یک شبکه، جهت رهگیری و تغییر کلی در ترافیک ارسالی به اینترنت، تغییر دهد. به این ترتیب، مهاجم میتواند اطلاعات حساس مانند مشخصات ورود و شماره کارت را به سرقت ببرد. اما آدرس IP ماشین دیگری در شبکه را به همراه دارد. در این حالت سایر ماشینهای موجود در شبکه تصور می کنند که دستگاه مهاجم همان ماشین دیگری است که آی پی آن دزدیده شده است. لذا به مهاجم اجازه میدهند به شبکه دسترسی پیدا کند.
نتیجه
به طور خلاصه، پروتکل ARP (پروتکل وضوح آدرس) یک پروتکل حیاتی است که دستگاه های موجود در یک شبکه محلی را قادر می سازد که از طریق تبدیل آدرس های IP به آدرس های فیزیکی (MAC) با یکدیگر ارتباط برقرار کنند. بنابراین درک ARP و اهمیت آن، برای مدیران شبکه و افرادی که به یادگیری نحوه ارتباط دستگاه ها در یک شبکه محلی علاقه مند هستند، ضروری است.