در شبکههای کامپیوتری، یکی از مهمترین مراحل برای برقراری ارتباط بین دستگاهها، شناسایی MAC address دستگاهها از طریق IP address است. این کار توسط پروتکلی به نام ARP (Address Resolution Protocol) انجام میشود. ARP به دستگاهها کمک میکند تا MAC address دستگاهها را که به صورت فیزیکی در شبکه حضور دارند، پیدا کرده و به طور صحیح دادهها را به مقصد مورد نظر ارسال کنند. این پروتکل به ویژه در شبکههای محلی (LAN) برای ارتباط بین دستگاهها مورد استفاده قرار میگیرد.
پروتکل ARP
ARP یا Address Resolution Protocol یکی از مهمترین پروتکلهای مورد استفاده در شبکههای محلی (LAN) است که وظیفه آن تبدیل آدرس IP به آدرس MAC (فیزیکی) دستگاهها میباشد. در واقع، این پروتکل ارتباط میان دو لایه مهم در مدل OSI یعنی لایه شبکه (Network Layer) و لایه پیوند دادهها (Data Link Layer) را برقرار میسازد.
پروتکل arp در کدام لایه است؟
پروتکل ARP (Address Resolution Protocol) در لایه دوم مدل OSI یعنی لایه پیوند دادهها (Data Link Layer) قرار دارد. این پروتکل وظیفه دارد آدرس IP را به آدرس فیزیکی یا همان آدرس MAC تبدیل کند تا امکان ارسال پکتها در شبکههای محلی (LAN) فراهم شود. اگرچه ARP در لایه دوم فعالیت میکند، اما ارتباط نزدیکی با لایه سوم (Network Layer) دارد، زیرا اطلاعات مربوط به آدرسهای IP را دریافت و سپس آدرس فیزیکی متناظر را پیدا میکند. به همین دلیل، ARP یک نقش حیاتی در برقراری ارتباط میان لایه شبکه و لایه پیوند دادهها ایفا میکند و یکی از عناصر کلیدی در عملکرد صحیح شبکههای کامپیوتری محسوب میشود.
کاربرد پروتکل ARP در شبکه
پروتکل ARP (Address Resolution Protocol) نقش بسیار مهمی در عملکرد صحیح شبکههای محلی (LAN) ایفا میکند. این پروتکل به دستگاهها کمک میکند تا آدرس IP مقصد را به آدرس MAC متناظر آن تبدیل کنند. در شبکههای اترنت، دستگاهها برای ارسال داده نیاز دارند که آدرس فیزیکی (MAC) گیرنده را بدانند؛ اما اغلب فقط آدرس IP در دسترس است. اینجاست که ARP وارد عمل میشود.
هنگامی که یک کامپیوتر یا روتر بخواهد دادهای را به دستگاهی در همان شبکه ارسال کند، ابتدا با استفاده از ARP بررسی میکند که آدرس MAC مربوط به IP مورد نظر چیست. سپس این آدرس را در جدول ARP ذخیره کرده و از آن برای ارسال بستههای داده استفاده میکند. به طور خلاصه مهم ترین کاربردهای پروتکل arp در شبکه به شرح زیر است:
-
تبدیل آدرس IP به آدرس MAC برای ارسال داده در شبکههای محلی
-
شناسایی و ارتباط متقابل بین دستگاهها در یک شبکه
-
پشتیبانی از عملکرد صحیح پروتکلهای بالاتر مانند IP و TCP
-
ذخیرهسازی آدرسهای MAC کشفشده در جدول ARP برای افزایش سرعت پاسخدهی در آینده
دلایل اهمیت پروتکل ARP در شبکه
-
تبدیل آدرس IP به MAC آدرس
-
ایجاد ارتباط بین لایه شبکه و لایه پیوند داده
-
عملکرد صحیح ارتباط در شبکههای محلی (LAN)
-
تسهیل فرآیند ارسال پکهای داده در شبکه
-
کاهش پیچیدگی در مسیریابی شبکههای داخلی
-
کمک به شناسایی و تشخیص دستگاههای موجود در شبکه
-
فراهمسازی بستر مناسب برای پروتکلهای سطح بالاتر مانند IP و TCP
-
بهبود کارایی ارتباطات در شبکههای مبتنی بر Ethernet
-
امکانپذیر ساختن ارتباط بین سیستمها بدون نیاز به تنظیم دستی MAC آدرس
پروتکل ARP چگونه کار می کند؟
پروتکل ARP (Address Resolution Protocol) به طور گام به گام و مرحله به مرحله به شرح زیر عمل میکند:
1. آغاز ارتباط
دستگاه دستگاه X که میخواهد با دستگاه دستگاه Y ارتباط برقرار کند تنها آدرس IP دستگاه Y را میداند، اما برای ارسال پکتهای داده به آن دستگاه، به آدرس MAC دستگاه Y نیاز دارد.
2. ارسال درخواست ARP
دستگاه X یک درخواست ARP (ARP Request) به شبکه محلی ارسال میکند. این درخواست به صورت پخش (broadcast) به تمامی دستگاههای موجود در شبکه ارسال میشود. محتوای درخواست ARP بهطور کلی به صورت زیر است:
-
آدرس IP دستگاه X (فرستنده)
-
آدرس IP دستگاه Y (مقصد)
اگر بخواهیم ساده تر و عامیانه تر توضیح بدیم، ارسال درخواست به صورت زیر است:
آیا کسی با آدرس آی پی 192.168.1.2 (آدرس IP دستگاه Y) وجود دارد؟ اگر بله، لطفاً MAC آدرس خود را به من ارسال کنید.
3. دریافت درخواست توسط دستگاهها
تمام دستگاههای موجود در شبکه محلی، درخواست ARP را دریافت میکنند. از آنجایی که این درخواست به تمام دستگاه ها ارسال میشود، تمامی دستگاهها آن را بررسی میکنند و به آن درخواست پاسخ میدهند.
4. پاسخ دستگاه مقصد
در این مرحله، تنها دستگاه Y که آدرس IP مورد نظر را دارد، پاسخ ARP را ارسال میکند. این پاسخ شامل MAC آدرس دستگاه Y است.
پاسخ ARP به صورت زیر است:
“من دستگاه Y هستم و MAC آدرس من 00:1A:2B:3C:4D:5E است.”
5. دریافت پاسخ توسط دستگاه X
دستگاه X پاسخ ARP را دریافت میکند و MAC آدرس دستگاه Y را شناسایی میکند. اکنون دستگاه X میتواند پکتها را به آدرس MAC صحیح ارسال کند.
6. ذخیرهسازی آدرس MAC در کش ARP
در این مرحله برای جلوگیری از ارسال درخواستهای مکرر، دستگاه X آدرس MAC دستگاه Y را در کش ARP خود ذخیره میکند. این کش به عنوان یک جدول نگهداری اطلاعات برای آدرسهای IP و MAC است که دستگاه X به آنها دسترسی دارد.
7. برقراری ارتباط
حالا که دستگاه X آدرس MAC دستگاه Y را میداند، میتواند مستقیماً پکتهای داده را به آدرس MAC دستگاه Y ارسال کند و به این ترتیب ارتباط برقرار میشود.
8. انجام ارتباطات بعدی
اگر دستگاه X بخواهد بار دیگر با دستگاه Y ارتباط برقرار کند، دیگر نیازی به ارسال درخواست ARP ندارد، زیرا آدرس MAC دستگاه Y در کش ARP ذخیره شده است.
9. پایان ارتباط
بهتر است بدانید، اگر آدرس MAC دستگاه Y تغییر کند یا کش ARP دستگاه X منقضی شود، فرآیند ARP دوباره از ابتدا آغاز میشود.
در این مراحل، پروتکل ARP به طور خودکار ارتباط بین دستگاهها را در یک شبکه محلی برقرار میکند و تبدیل آدرسهای IP به آدرسهای MAC را انجام میدهد تا فرآیند ارسال دادهها ساده و سریع باشد.
وظیفه MAC Address چیست؟
MAC Address که به عنوان لایه پیوند داده (Data Link Layer) نیز شناخته میشود، وظیفه برقراری ارتباط بین دو دستگاه متصل فیزیکی را بر عهده دارد. در مقابل، آدرس IP در لایه شبکه (Network Layer) فعالیت میکند و مسئولیت ارسال پکت های داده از طریق مسیرهای مختلف را به عهده دارد. پروتکل ARP به عنوان واسطی بین این دو لایه عمل میکند و هماهنگی لازم را برای انتقال دادهها را فراهم میسازد.
پروتکل ARP چگونه کار میکند و چه وظایفی دارد؟
زمانی که یک کامپیوتر جدید به شبکه محلی (LAN) متصل میشود، یک آدرس IP منحصر به فرد دریافت میکند که برای شناسایی و ارتباط با سایر دستگاه ها استفاده میشود.
وقتی پکتهای داده به یک گیت وی (gateway) در شبکه می رسند و به یک دستگاه خاص هدایت میشوند، گیت وی وظیفه انتقال دادهها بین شبکهها را بر عهده دارد که به این ترتیب از پروتکل ARP درخواست میکند تا آدرس MAC مرتبط با آدرس IP مورد نظر را پیدا کند. در این فرآیند، کش ARP که شامل لیستی از آدرسهای آی پی و مک آدرس مربوط به آنها است، به کار میآید. این کش به طور پیشفرض پویا است، اما کاربران میتوانند یک جدول ARP استاتیک شامل آدرسهای آی پی و مک آدرس را پیکربندی کنند.
کشهای ARP در تمام سیستمعاملهای موجود در شبکههای اترنت IPv4 نگهداری میشوند. هر بار که دستگاهی بخواهد دادهای را به دستگاه دیگری در همان LAN ارسال کند، ابتدا کش ARP خود را بررسی میکند تا ببیند آیا ارتباط بین آدرس آی پی و مک آدرس قبلاً انجام شده است یا خیر. اگر این ارتباط موجود باشد، نیازی به درخواست مجدد نیست. اما در صورتی که این ترجمه انجام نشده باشد، درخواست به شبکه ارسال میشود و عملیات ARP صورت میگیرد.
توجه داشته مقدار کش ARP به مقدار محدود طراحی شده است و اطلاعات به صورت دوره ای پاک میشوند تا فضای آن آزاد شود، از این رو آدرس های آی پی و مک آدرس ها تنها برای چند دقیقه در حافظه باقی می مانند.
بهتر است بدانید، از آنجایی که مک آدرس ها ثابت هستند، آدرسهای IP به طور مداوم به روزرسانی میشوند؛ این موضوع به دلایل امنیتی و حریم خصوصی انجام شده است تا از سرقت یا جعل آدرسهای آی پی توسط مهاجمان سایبری جلوگیری شود.
نکته: در فرآیند پاک سازی، آدرسهایی که استفاده نشدهاند حذف میشوند و اطلاعات مربوط به تلاشهای ناموفق برای ارتباط با کامپیوترهایی که به شبکه متصل نیستند یا حتی خاموش هستند نیز از کش حذف میشود.
پروتکل ARP چه ارتباطی با DHCP و DNS دارد و تفاوت آن ها چیست؟
ARP فرآیند اتصال یک آدرس IP پویا به آدرس MAC دستگاه فیزیکی است. بنابراین، بررسی چند فناوری مرتبط با آدرس IP ضروری است.
همانطور که پیش تر ذکر شد، آدرسهای IP به دلیل ایجاد امنیت و حفظ حریم خصوصی کاربران، به طور مداوم تغییر میکنند، اما این تغییرات نباید کاملاً تصادفی باشند؛ چرا که باید قوانینی وجود داشته باشد که آدرس IP را از یک محدوده مشخص در شبکه تخصیص دهد. این قوانین به جلوگیری از مشکلاتی مانند تخصیص یک آدرس IP به دو کامپیوتر کمک میکنند. این قوانین تحت عنوان پروتکل DHCP شناخته میشوند.
آدرسهای IP بهعنوان شناسههایی برای کامپیوترها اهمیت دارند، زیرا برای انجام جستجوهای اینترنتی موردنیاز هستند. هنگامی که کاربران نام دامنه یا URL را جستجو میکنند، از حروف استفاده میکنند، اما کامپیوترها از آدرس عددی IP برای مرتبط کردن نام دامنه با سرور استفاده میکنند. برای اتصال این دو، از DNS استفاده میشود تا آدرس IP را از یک رشته پیچیده اعداد به یک نام ساده و قابل فهم ترجمه کند و برعکس.
انواع ARP چیست؟
همانطور که گفتیم، ARP یا Address Resolution Protocol یک پروتکل در شبکههای کامپیوتری است که وظیفهی اصلی آن تبدیل آدرس آی پی به آدرس مک است. به طور کلی انواع مختلفی از ARP وجود دارد که هرکدام برای کاربرد خاصی طراحی شدهاند:
- Proxy ARP
در این روش، یک روتر یا دستگاه واسطه به جای دستگاه مقصد به درخواست ARP پاسخ میدهد، حتی اگر آدرس IP مقصد در شبکه دیگری باشد. این کار باعث میشود دستگاه مبدا تصور کند مقصد در همان شبکه است، در حالی که اطلاعات از طریق پراکسی عبور داده میشود.
- Gratuitous ARP
ARP خودخواسته به نوعی یک روش مدیریتی است که توسط یک دستگاه در شبکه اجرا میشود تا به طور ساده آدرس IP و MAC خود را اعلام یا به روزرسانی کند. این نوع ARP به صورت خودخواسته انجام میشود و نیازی به درخواست ARP از سوی دیگر دستگاهها ندارد.
این روش معمولاً برای جلوگیری از مشکلاتی مانند آدرسهای تکراری (IP Conflict) استفاده میشود و همچنین میتواند بهعنوان راهی برای اطلاع رسانی تغییر آدرس دستگاه به شبکه کاربرد داشته باشد.
- Reverse ARP
RARP برای دستگاههایی استفاده میشود که آدرس IP خود را نمیدانند. این دستگاهها میتوانند از پروتکل ARP معکوس برای کشف آدرس IP خود استفاده کنند.
این پروتکل معمولاً برای دستگاههای بدون دیسک (Diskless Devices) که نمیتوانند به صورت مستقل آدرس IP دریافت کنند، به کار می رود. در این حالت RARP با ارسال درخواست به یک سرور در شبکه، آدرس IP مناسب را برای دستگاه فراهم میکند.
- Inverse ARP
برخلاف ARP که از آدرس IP برای یافتن آدرس MAC استفاده میکند، ARP از آدرس MAC برای یافتن آدرس IP استفاده میکند.
این پروتکل در موقعیتهایی به کار میرود که دستگاهی در شبکه فقط آدرس MAC یک دستگاه دیگر را میداند و نیاز دارد که آدرس IP آن را نیز پیدا کند. این روش معمولاً در شبکههای Frame Relay و ATM که از لینکهای مجازی استفاده میکنند، کاربرد دارد.
بهتر است بدانید هر نوع ARP برای موقعیتها و کاربردهای خاصی طراحی شده است و با وجود شباهت در عملکرد، هدفهای متفاوتی را دنبال میکنند.
Proxy ARP برای ارتباطات بین شبکهای Gratuitous ARP برای اطلاع رسانی و جلوگیری از تداخل، RARP برای کشف آدرس IP و ARP برای تبدیل آدرس MAC به IP استفاده میشود.
کاربرد پروتکل ARP در شبکه چیست؟
پروتکل ARP (Address Resolution Protocol) برای ترجمه آدرس نرم افزاری (آدرس IP) به آدرس سخت افزاری (MAC آدرس) در شبکه ها از ضرورت ها به شمار میرود؛ به این صورت که هر دستگاهی که به شبکه متصل میشود، از آدرس IP برای شناسایی و ارتباط استفاده میکند، اما ارتباط واقعی در سطح سخت افزاری، از طریق MAC Address انجام میشود. بدون وجود پروتکل ARP، یک دستگاه نمیتواند آدرس MAC دستگاه دیگری را که برای ارسال دادهها ضروری است، پیدا کند.
در یک شبکه محلی (LAN)، سیستمی وجود دارد که جدولی به نام جدول ARP یا دایرکتوری ARP نگهداری میکند. این جدول آدرسهای IP را به آدرسهای MAC دستگاههای مختلف در شبکه، مانند کامپیوترها، روترها و فایروالها مرتبط میکند.
نحوه عملکرد پروتکل arp در فایروال فورتی نت
پروتکل ARP در فایروالهای فورتینت برای تبدیل آدرس IP به MAC آدرس در شبکههای محلی بهکار میرود. زمانی که دستگاهی در شبکه قصد دارد با یک آدرس IP مشخص ارتباط برقرار کند، فورتینت با ارسال درخواست ARP (به صورت Broadcast) MAC آدرس مقصد را دریافت کرده و آن را در جدول ARP خود ذخیره میکند. این فرآیند باعث میشود ارتباط بین لایه شبکه (IP) و لایه پیوند داده (MAC) برقرار شود.
فورتینت همچنین برای جلوگیری از حملات ARP Spoofing یا Poisoning ویژگیهای امنیتی مانند IPS و ARP Inspection دارد. این ویژگیها به مدیران شبکه کمک میکنند تا از جعل آدرسهای ARP جلوگیری کرده و امنیت شبکه را حفظ کنند و حتی به ارتقا آن نیز کمک کنند. علاوه بر این، فورتینت امکان پیکربندی کش ARP، تنظیم زمان انقضا و استفاده از ARP static را برای کنترل بهتر ترافیک شبکه را فراهم میآورد. برای داشتن اطلاعات بیشتر در رابطه با سیستم امنیتی فورتی نت و راه اندازی یک شبکه امن می توانید با تیم فنی شرکت داریا در ارتباط باشید.
حمله ARP Spoofing یا ARP Poisoning چیست؟
حمله ARP Spoofing که به عنوان ARP Poison Routing یا ARP Cache Poisoning نیز شناخته میشود، نوعی حمله مخرب است که در آن مهاجم سایبری پیامهای جعلی ARP را به یک شبکه محلی (LAN) ارسال میکند. هدف این حمله این است که آدرس MAC مهاجم به آدرس IP یک دستگاه یا سرور قانونی در شبکه متصل شود. این ارتباط جعلی باعث میشود که دادههای رایانه قربانی به جای مقصد اصلی، به رایانه مهاجم ارسال شوند.
توجه داشته باشید که حملات ARP Spoofing میتوانند خطرناک باشند، زیرا اطلاعات حساس ممکن است بدون اطلاع قربانیان بین سیستمها منتقل شود. این نوع حمله همچنین راه را برای دیگر حملات سایبری باز میکند، از جمله این حملات میتوان به موارد زیر اشاره کرد:
- حمله مرد میانی (Man-in-the-Middle)
حمله مرد میانی (Man-in-the-Middle یا MitM) نوعی حمله سایبری است که در آن یک مهاجم بهصورت مخفیانه بین دو طرف ارتباط قرار میگیرد و دادههایی که بین آنها رد و بدل میشود را شنود، تغییر یا جعل میکند. در این حالت، قربانیان تصور میکنند که مستقیماً با یکدیگر در حال ارتباط هستند، در حالی که مهاجم در میانه مسیر، اطلاعات را کنترل میکند و میتواند از آنها سوءاستفاده کند، مانند سرقت رمز عبور، اطلاعات بانکی یا ایجاد تغییر در محتوای پیامها.
- حملات Denial-of-Service
حملات Denial-of-Service (یا DoS) نوعی حمله سایبری هستند که هدف آنها از کار انداختن یا مختل کردن سرویسهای یک سیستم، سرور یا شبکه است. در این حملات، مهاجم با ارسال حجم بسیار زیادی از درخواستها یا دادههای بیفایده به یک هدف، منابع آن را مصرف میکند تا دیگر کاربران نتوانند به خدمات آن دسترسی پیدا کنند. این نوع حملات میتوانند باعث کندی شدید یا حتی قطع کامل سرویس شوند و در نسخه پیشرفتهتر آن، که به DDoS (Distributed Denial-of-Service) معروف است، حمله از طریق چندین دستگاه بهصورت همزمان انجام میشود.
- Session Hijacking
Session Hijacking یا ربودن نشست، نوعی حمله سایبری است که در آن مهاجم با بهدست آوردن اطلاعات نشست (مانند کوکی یا توکن احراز هویت)، خود را بهجای کاربر قانونی جا میزند و بدون اجازه وارد حساب کاربری یا سرویس او میشود. این حمله معمولاً زمانی اتفاق میافتد که نشست فعال بین کاربر و سرور برقرار است و اطلاعات آن بهدرستی رمزنگاری نشده یا بهنوعی لو رفته باشد. نتیجه آن میتواند دسترسی غیرمجاز به اطلاعات شخصی، پیامها یا عملیات حساس باشد.
جمع بندی
به طور کلی ARP یک پروتکل شبکهای است که برای تبدیل آدرسهای IP به آدرسهای MAC استفاده میشود. این فرآیند به دستگاهها کمک میکند تا با استفاده از آدرسهای IP، دستگاههای فیزیکی (مانند کارت شبکه) را در شبکه شناسایی کنند. ARP برای برقراری ارتباط در شبکههای محلی (LAN) ضروری است و به دستگاهها این امکان را میدهد که دادهها را به مقصد صحیح ارسال کنند. ARP نقش مهمی در عملکرد صحیح شبکههای کامپیوتری ایفا میکند و برای ارتباط موثر و بدون مشکل بین دستگاهها ضروری است.
سوالات متداول
ARP چیست؟
ARP پروتکلی است که یک آدرس IP دینامیک را به آدرس MAC یک دستگاه فیزیکی متصل میکند.
از ARP چگونه استفاده میشود؟
ARP یکی از پروتکل های ضروری در شبکه است؛ زیرا آدرس نرم افزاری (آدرس IP) میزبان یا رایانه متصل به شبکه باید به یک آدرس سختافزاری (آدرس MAC) ترجمه شود.
Leave A Comment