پروتکل arp چیست و انواع آن
یکی از کارکردهای شبکه، چه به صورت محلی و چه به صورت سراسری انتقال پیام بین دو یا چند دستگاه است. همانطور که میدانیم هر کامپیوتر یک آدرس سخت افزاری به نام MAC (مک آدرس) دارد که از طریق آن شناسایی میشود. حال برای این که پیامی بین دو سیستم منتقل شود، فرستنده و گیرنده باید حتما از مک آدرس یکدیگر مطلع باشند. فرض کنید در یک شبکه فرستنده از آدرس IP گیرنده آگاه است اما مک آدرس آن را ندارد. در این صورت فرستنده بدون پروتکل arp عملا پیامی را نمیتواند به گیرنده برساند. این یکی از پروتکلهای مهم لایه شبکه است و وظیفه یافتن مک آدرس گیرنده را بر عهده دارد و بدون آن عملا هیچ انتقال دادهای در شبکه ممکن نیست. در ادامه همراه ما باشید تا با این پروتکل و جزئیات مربوط به آن آشنا شویم.
پروتکل ARP چیست؟
پروتکل ارتباطی «Address Resolution Protocol» یا به اختصار پروتکل arp برای یافتن آدرس MAC سیستمهای شبکه، توسط آدرس IP به کار گرفته میشود. Arp یکی از مهمترین پروتکلهای لایه سوم مدل OSI، یعنی لایه شبکه است که در اوایل دهه ۸۰ میلادی توسعه یافت و امروز با برخی از فناوریهای مهم مثل IPv4، X.25، فریم رله و ATM پیادهسازی میشود.
وظیفه اصلی arp تبدیل آدرسهای ۳۲ بیتی IP به آدرسهای ۴۸ بیتی MAC و تعیین آدرس MAC دستگاههای شبکه است. در واقع هنگامی که یک دستگاه شبکه میخواهد با یک دستگاه دیگر ارتباط برقرار کند، فعالیت پروتکل arp آغاز میشود.
این پروتکل یک پروتکل اتصالگراست که توسط پروتکل اینترنت برای نگاشت بین IP و مک آدرس استفاده میشود. در نهایت نتیجه این نگاشت در تمام سیستمهای موجود در شبکه ذخیره میشود.
بیشتر بخوانید: بررسی جامع لایههای شبکه
پروتکل ARP چطور کار میکند؟

میدانیم در مدل OSI برای ارتباط بین هر دستگاه در لایه شبکه از آدرس IP استفاده میشود و برای ارتباط در لایههای زیرین شبکه، مثل لایه پیوند داده، به آدرس سختافزاری سیستمها نیاز داریم. هنگامی که ما دادهها را به یک سیستم دیگر در شبکه ارسال میکنیم، این کار را از طریق آدرسهای IP انجام میدهیم. اما برای ارتباط فیزیکی بین دو سیستم حتما به MAC نیاز است. در این شرایط، پروتکل arp برای تبدیل این آدرسهای IP به آدرسهای فیزیکی نقش مهمی ایفا میکند.
مک آدرس یک آدرس فیزیکی غیر قابل تغییر است که روی کارت شبکه دستگاهها نوشته شده است. برای انتقال پیام در شبکههای محلی، یک پیام درخواست ARP توسط سیستم مبدا ارسال میشود. پس از بررسی اینکه آیا IP مناسب به سیستم مقصد اختصاص داده شده است یا خیر، سیستم مقصد یک پیام پاسخ ARP را ارسال میکند که در آن مک آدرس گیرنده قرار دارد.
در سیستم عاملها یک حافظه کش برای ذخیرهسازی پاسخهای ARP در نظر گرفته شده است. به این ترتیب برای انتقال پیامهای بعدی نیاز به ارسال پیام درخواست ARP نیست و هر زمان مبدا پیام پاسخ ARP را دریافت کند، ارتباط IP-MAC را در حافظه پنهان ARP خود بروز خواهد کرد.
بررسی مرحله به مرحله عملکرد پروتکل ARP
عملکرد پروتکل arp را میتوان در چند مرحله توضیح داد.
- وقتی فرستنده میخواهد با گیرنده ارتباط برقرار کند، ابتدا حافظه پنهان ARP را بررسی میکند تا ببیند آیا آدرس مک گیرنده قبلا ذخیره شده است یا خیر؟
- اگر آدرس مک گیرنده از قبل در حافظه پنهان arp ذخیره شده باشد، فرستنده میتواند با استفاده از آن با گیرنده ارتباط برقرار کند.
- چنانچه آدرس مک گیرنده در حافظه ذخیره نباشد، یک پیام درخواست ARP توسط دستگاه فرستنده ایجاد میشود. این پیام حاوی آدرس MAC فرستنده، آدرس IP فرستنده و آدرس IP گیرنده است. فیلد حاوی آدرس MAC گیرنده هنگام جستجو خالی میماند.
- دستگاه فرستنده این پیام را از طریق LAN پخش میکند. همه دستگاهها آدرس IP گیرنده را از این پیام درخواست به دست میآورند تا با آدرس IP خود مطابقت دهند. چنانچه آدرس IP پیام با آدرس آنها مطابقت داشت یک پیام پاسخ arp تولید میکند و برای فرستنده میفرستد.
- به محض اینکه دستگاه فرستنده پیام ARP خود را دریافت کرد، حافظه پنهان ARP را با اطلاعات جدید (آدرس مک گیرنده) به روز میکند.
- اکنون بستهها را میتوان بدون هیچ زحمتی به آدرس مک گیرنده ارسال کرد.
انواع Arp protocol چیست و برای چه مواردی استفاده میشوند؟
چهار نوع پروتکل Arp داریم که در ادامه این بخش با آنها آشنا میشویم.
۱. پروکسی ARP
چنانچه دو سیستمی که میخواهند با هم ارتباط برقرار کنند در یک شبکه محلی نباشند، از سرورهای پروکسی برای نگاشت آدرسهای IP به آدرسهای سختافزاری استفاده میشود. یعنی شبکه دیگری با استفاده از این سرورهای پروکسی میتواند به درخواستهای ARP پاسخ دهد.
۲. ARP رایگان
در این نوع arp، یک هاست یک درخواست arp را برای شناسایی آدرسهای IP تکراری ارسال میکند. در واقع دستگاههای شبکه برای بهروزرسانی جدول arp از Gratuitous ARP استفاده میکنند و احتیاجی به ارسال پیام درخواست ARP برای ارسال داده نیست. همچنین این پروتکل بررسی میکند که آیا میزبان کامپیوتر از آدرس IP اصلی خود استفاده میکند یا از یک آدرس IP تکراری.
۳. ARP معکوس
پروتکل شبکه ARP معکوس از یک میزبان کامپیوتری برای استخراج اطلاعات مربوط به پروتکل اینترنت خود (IPv4) از شبکه کامپیوتری استفاده میکند. این یک پروتکل TCP/IP است که کاربر میتواند به کمک آن اطلاعات آدرس IP را از یک سرور شبکه به دست آورد.
۴. ARP وارونه
پروتکل ARP وارونه، معکوس پروتکل ARP بوده و کاربرد آن یافتن آدرس IP دستگاه توسط آدرس MAC است و عمدتا در رلههای فریم و شبکههای خودپرداز استفاده میشود.
مطالعه مقاله Mac Address چیست؟ آدرس فیزیکی و تمام جزئیاتش از دست ندهید.
مهمترین هدف پروتکل ARP چیست؟
در حین فرایند انتقال در شبکههای محلی، مبدا پیام با داشتن مک آدرس گیرنده، پیام را مستقیما به مقصد ارسال میکند. در شبکههای سراسری مک آدرس گیرنده معمولا در گره دروازه (Gate Node) ذخیره میشود. بنابراین سیستم مبدا موقع ارسال پیام چه در شبکههای محلی و چه در شبکههای سراسری، باید آدرس فیزیکی گیرنده را بداند. مبدا میتواند به کمک پیام درخواست ARP که در شبکه پخش میکند، مک آدرس مقصد را به دست آورد.
مزایای پروتکل ARP

دو مورد از مهمترین مزیتهای پروتکل arp عبارت است از:
- با کمک این پروتکل میتوانیم به راحتی آدرس MAC هر دستگاهی را در شبکه پیدا کنیم.
- این پروتکل، نیازی به پیکربندی گرههای پایانی برای یافتن آدرس MAC ندارد.
پکت لاس چیست؟ آشنایی با مفهوم Packet Loss در شبکه
مشکلات مرتبط با ARP
پروتکل ARP با وجود کاربرد گستردهاش در شبکهها، معایبی دارد که میتواند امنیت و عملکرد شبکه را تحت تاثیر قرار دهد. برخی از این معایب عبارتند از:
- ARP Cache Poisoning: در این حمله، جدول ARP با اطلاعات نادرست پر میشود و ترافیک شبکه به مسیرهای نادرست هدایت میشود. این موضوع میتواند باعث اختلال در ارتباطات یا حتی سرقت اطلاعات شود.
- آسیبپذیری در برابر حملات ARP Spoofing: مهاجمان با ارسال پیامهای جعلی، آدرس MAC خود را جایگزین آدرس دستگاههای دیگر میکنند. این کار امکان انجام حملات Man-in-the-Middle (MITM) را فراهم میکند که امنیت شبکه را به خطر میاندازد.
- نیاز به بروزرسانی دستی جداول ARP: در برخی موارد، مدیران شبکه مجبورند جداول ARP را به صورت دستی بروزرسانی کنند، که این کار بار اضافی بر دوش آنها میگذارد.
- تاخیر در پاسخهای ARP: در شبکههای شلوغ، پاسخهای ARP ممکن است با تاخیر همراه باشند و باعث کندی ارتباطات شوند.
- تداخل با عملکرد NAT: پروتکل ARP ممکن است با ترجمه آدرس شبکه (NAT) تداخل ایجاد کند و مشکلاتی در مسیریابی شبکه به وجود آورد.
اهمیت پروتکل ARP در شبکه
برای انتقال یک پیام بین دو سیستم در شبکه به آدرس مک هر دو سیستم نیاز داریم. در واقع بدون داشتن آدرس فیزیکی گیرنده، ابدا نمیتوان پیامهای داده را برای آن فرستاد. حال اگر به آدرس مک گیرنده دسترسی نداشته باشیم باید از طریق آدرس IP، آن را به نوعی به دست آوریم. برای این منظور از این پروتکل استفاده میشود. به عبارت سادهتر ARP یک جزء حیاتی در لایه شبکه است و بدون این پروتکل انتقال پیام در شبکه ممکن نخواهد بود.
فرمت پیام پروتکل ARP
پیام arp که برای یافتن آدرس MAC به تمام دستگاههای موجود در شبکه LAN پخش میشوند، دارای جزئیات زیر است:
- نوع سختافزار: اندازه این قسمت ۲ بایت است و نوع سختافزار مورد استفاده برای ارسال پیام را مشخص میکند. رایجترین نوع سخت افزار اترنت است.
- نوع پروتکل: این فیلد میگوید که از کدام پروتکل برای ارسال پیام استفاده شده است که اغلب از پروتکل IPv4 استفاده میشود.
- طول آدرس سخت افزار: طول آدرس سخت افزار را بر حسب بایت نشان میدهد. مک آدرسهای اترنت دارای اندازه ۶ بایت هستند.
- طول آدرس پروتکل: این فیلد به آخرین آدرس IP اشاره دارد. اندازه آدرس IP 4 بایت است.
- کد OP: این فیلد نوع پیام را نشان میدهد. اگر مقدار این فیلد ۱ باشد، پیام درخواست و اگر مقدار آن ۲ باشد، پیام پاسخ است.
- آدرس سخت افزار فرستنده: این قسمت، آدرس MAC دستگاهی است که میتوان پیام پاسخ را به آن ارسال کرد.
- آدرس پروتکل فرستنده: این قسمت آدرس IP دستگاه برای ارسال پیام پاسخ است.
- آدرس سختافزار مقصد: این قسمت در پیام های درخواست خالی است و حاوی آدرس MAC دستگاه گیرنده است.
- آدرس هدف پروتکل: این قسمت حاوی آدرس IP دستگاه دریافت کننده است.
رابطه پروتکل ARP با DHCP و DNS چیست؟
پروتکلهای ARP، DHCP و DNS هر کدام نقش مهمی در ارتباطات شبکه بازی میکنند. به طور کلی، DNS مسئول تبدیل نام دامنهها (مثل www.****.com) به آدرس IP است. وقتی کاربری نام یک سایت را در مرورگر وارد میکند، DNS آدرس IP مربوط به آن را پیدا میکند.
در مرحله بعد، ARP آدرس IP را به آدرس MAC (آدرس سختافزاری دستگاه) تبدیل میکند تا دادهها بتوانند در شبکه محلی ارسال شوند. این فرآیند در لایه پیوند داده (Data Link Layer) انجام میشود. از طرفی، DHCP به دستگاههای متصل به شبکه، آدرس IP اختصاص میدهد. وقتی دستگاهی به شبکه وصل میشود، DHCP یک آدرس IP به آن میدهد. پس از این اختصاص، ARP برای تبدیل این آدرس IP به آدرس MAC استفاده میشود. همچنین، ARP ممکن است برای اطمینان از عدم تکراری بودن آدرس IP در شبکه نیز به کار رود.
هشدار ! احتمال حملات Spoofing پروتکل arp

یک مهاجم میتواند به کمک IP Spoofing پیامهای در حال ارسال در شبکه را ردیابی کرده و جریان انتقال را متوقف کند. معمولا حملات اسپوفینگ سکوی پرتاب حملات دیگری است که در شبکههای محلی اتفاق میافتد.
در حین انتقال پیام درخواست و پاسخدهی سیستمها، ممکن است حملهای در ARP اتفاق بیافتد و آلوده شود. در این حالت مهاجم میتواند با تغییر دادهها روند انتقال را مختل کند. چنانچه مهاجم پیام پاسخ ARP را جعل کند، سیستمهای شبکه حافظه کش ARP را با پیام جعلی مهاجم به روز میکنند و اتفاق ناگواری رخ میدهد!
ARP یک پروتکل بدون حالت است و در آن برای دریافت پیام نیازی به درخواست نیست. میزبان پیامهای پاسخ ARP دریافتی را در حافظه خود ذخیره میکند و همین این مسئله منجر به جعل پیام ARP و در نتیجه حملات اسپوفینگ در شبکه میشود.
smtp چیست؟ برای اطلاعات بیشتر می توانید مقاله مورد نظر را مطالعه نمایید.
جعل پروتکل ARP چیست؟
جعل پروتکل ARP یا ARP Spoofing یک حمله سایبری است که در آن مهاجم با ارسال پیامهای جعلی ARP، سعی میکند کنترل بخشی از ترافیک شبکه را به دست بگیرد. در این حمله، مهاجم آدرس MAC خود را به جای آدرس MAC دستگاههای دیگر در شبکه جا میزند.
به طور مثال، مهاجم میتواند آدرس MAC خود را به عنوان آدرس Gateway (درگاه پیشفرض شبکه) معرفی کند. این کار باعث میشود تمام ترافیک اینترنت شبکه به سمت دستگاه مهاجم هدایت شود. در نتیجه، مهاجم میتواند دادههای حساس مانند اطلاعات ورود، رمزهای عبور یا حتی جزئیات کارتهای بانکی را به سرقت ببرد. در این حالت، دستگاههای دیگر شبکه فریب میخورند و تصور میکنند مهاجم همان Gateway معتبر است. به این ترتیب، مهاجم به راحتی میتواند به شبکه دسترسی پیدا کند و فعالیتهای مخرب خود را انجام دهد.
خلاصه
در این مقاله با پروتکل arp و جزئیات مربوط به آن آشنا شدیم و اهمیت آن برای انتقال پیام در شبکه را مرور کردیم. وظیفه ARP ترجمه آدرسهای لایه شبکه به آدرس لایه اینترنت است و بالعکس. از آنجا که برای ارسال پیام به آدرس فیزیکی گیرنده نیاز داریم، عملا انتقال پیام بدون این پروتکل ممکن نخواهد بود.شما چه اطلاعات دیگری درباره این پروتکل دارید؟ چه دانستههای دیگری دارید که در این مقاله از قلم ما افتاده است؟ خواهشمندیم نظرات و تجربیات خود را در بخش دیدگاهها با ما به اشتراک بگذارید.
ARP پروتکلی است که برای ترجمه آدرسهای IP به آدرسهای MAC در شبکههای محلی استفاده میشود.
ARP ضروری است زیرا دستگاهها برای برقراری ارتباط با یکدیگر نیاز به آدرس MAC دارند که برای ارسال دادهها در لایه پیوند داده استفاده میشود.
وقتی یک دستگاه آدرس MAC مربوط به یک آدرس IP را نمیداند، یک پیام ARP Request به شبکه ارسال میکند و دستگاهها پاسخ میدهند با ARP Reply که شامل آدرس MAC است.
ARP Cache یک جدول محلی است که آدرسهای IP و MAC را ذخیره میکند تا از ارسال مجدد درخواستهای ARP جلوگیری کند.
دیدگاهتان را بنویسید