در شبکههای کامپیوتری، یکی از مهمترین مراحل برای برقراری ارتباط بین دستگاهها، شناسایی MAC address دستگاهها از طریق IP address است. این کار توسط پروتکلی به نام ARP (Address Resolution Protocol) انجام میشود.
ARPبه دستگاهها کمک میکند تا MAC address دستگاهها را که به صورت فیزیکی در شبکه حضور دارند، پیدا کرده و به طور صحیح دادهها را به مقصد مورد نظر ارسال کنند. این پروتکل به ویژه در شبکههای محلی (LAN) برای ارتباط بین دستگاهها از اهمیت زیادی برخوردار است.
پروتکل ARP چیست؟
ARP یا Address Resolution Protocol یک پروتکل یا همان روش است که یک آدرس اینترنتی (IP) متغیر را به یک آدرس فیزیکی ثابت دستگاه در یک شبکه محلی (LAN) متصل میکند؛ بهتر است بدانید، این آدرس اینترنتی به عنوان آدرس کنترل دسترسی به رسانه (MAC) شناخته میشود.
این پروتکل، ارتباط لایه شبکه که آی پی نیز گفته میشود را با لایه پیوند داده که مک آدرس (MAC Address ) نیز گفته میشود برقرار میسازد و همچنین از این پروتکل برای شناسایی متقابل دستگاه ها در یک شبکه استفاده میشود.
به زبا ساده تر، پروتکل ARP روشی است که در شبکه های محلی (LAN) استفاده میشود تا آدرس IP شبکه را که مرتب تغییر میکند، به یک آدرس ثابت فیزیکی دستگاه، یعنی آدرس MAC، متصل شود.
جالب است بدانید این پروتکل زمانی اهمیت پیدا میکند که دستگاهها بخواهند در یک شبکه با هم ارتباط برقرار کنند. از آنجایی که طول آدرس های IP و MAC متفاوت از یکدیگر هستند، برای شناسایی سیستم ها نیاز به پروتکلی است که این آدرس ها را ترجمه کند.
در رابطه با آدرس آی پی (IP) باید بدانید رایج ترین نسخه آی پی، نسخه 4 آن یعنی IPv4 است که 32 بیت است، در حالی که طول مک آدرس ها 48 بیت است. وظیفه پروتکل ARP تبدیل آدرس 32 بیتی به 48 بیت است و تبدیل آدرس 48 بیتی به 32 بیت است.
آدرس MAC به عنوان لایه پیوند داده (Data Link Layer) نیز شناخته میشود، که وظیفه ایجاد و پایان دادن به ارتباط بین دو دستگاه فیزیکی متصل را بر عهده دارد تا انتقال داده امکان پذیر شود. آدرس IP به عنوان لایه شبکه (Network Layer) نیز شناخته میشود که مسئول هدایت پکت های داده از طریق روترهای مختلف است؛ جالب است بدانید پروتکل ARP بین این دو لایه عمل می کند.
قابل توجه مهندسین شبکه، در مدل شبکه OSI (مدل OSI یک استاندارد مفهومی در شبکه است که ارتباط بین سیستمهای مختلف را در هفت لایه تعریف میکند تا فرآیند انتقال دادهها ساده و قابل درک شود.)، به این ترتیب میتوان گفت پروتکل ARP نقش مهمی در لایه شبکه ایفا میکند. هدف اصلی این پروتکل یافتن آدرس MAC مرتبط با یک آدرس IP مشخص است. به عبارت ساده تر، ARP آدرس 32 بیتیIP را به آدرس 48 بیتی MAC تبدیل میکند تا به این ترتیب ارتباط بین سیستمها برقرار شود.
همچنین باید بدانید در اغلب برنامههای شبکه ای، اطلاعات با استفاده از آدرسهای IP ارسال و دریافت میشوند. اما در سطح سختافزار، ارتباط واقعی از طریق آدرسهای فیزیکی یا MAC Address که به لایه دوم مدل OSI تعلق دارند، انجام میشود. اینجاست که پروتکل ARP وارد عمل میشود تا آدرس IP را به آدرس فیزیکی ترجمه کند.
MAC Address که به عنوان لایه پیوند داده (Data Link Layer) نیز شناخته میشود، وظیفه برقراری ارتباط بین دو دستگاه متصل فیزیکی را بر عهده دارد. در مقابل، آدرس IP در لایه شبکه (Network Layer) فعالیت میکند و مسئولیت ارسال پکت های داده از طریق مسیرهای مختلف را به عهده دارد. پروتکل ARP به عنوان واسطی بین این دو لایه عمل میکند و هماهنگی لازم را برای انتقال دادهها فراهم میسازد.
پروتکل ARP چگونه کار میکند و چه وظایفی دارد؟
زمانی که یک کامپیوتر جدید به شبکه محلی (LAN) متصل میشود، یک آدرس IP منحصر به فرد دریافت میکند که برای شناسایی و ارتباط استفاده میشود.
وقتی پکتهای داده به یک گیت وی (gateway) در شبکه می رسند و به یک دستگاه خاص هدایت میشوند، گیت وی وظیفه انتقال دادهها بین شبکهها را بر عهده دارد، از پروتکل ARP درخواست میکند تا آدرس MAC مرتبط با آدرس IP مورد نظر را پیدا کند. در این فرآیند، کش ARP که شامل لیستی از آدرسهای IP و MAC مربوط به آنها است، به کار میآید. این کش به طور پیشفرض پویا است، اما کاربران میتوانند یک جدول ARP استاتیک شامل آدرسهای IP و MAC پیکربندی کنند.
برای داشتن اطلاعات بیشتر در رابطه با تفاوت Firewall و Gateway کلیک کنید.
کشهای ARP در تمام سیستمعاملهای موجود در شبکههای اترنت IPv4 نگهداری میشوند. هر بار که دستگاهی بخواهد دادهای را به دستگاه دیگری در همان LAN ارسال کند، ابتدا کش ARP خود را بررسی میکند تا ببیند آیا ارتباط بین آدرس IP و MAC قبلاً انجام شده است یا خیر. اگر این ارتباط موجود باشد، نیازی به درخواست مجدد نیست. اما در صورتی که این ترجمه انجام نشده باشد، درخواست به شبکه ارسال میشود و عملیات ARP صورت میگیرد.
توجه داشته مقدار کش ARP به مقدار محدود طراحی شده است و اطلاعات به صورت دوره ای پاک میشوند تا فضای آن آزاد شود، از این رو آدرس های آی پی و مک تنها برای چند دقیقه در حافظه باقی می مانند. از آنجایی که آدرسهای MAC ثابت هستند، آدرسهای IP به طور مداوم به روزرسانی میشوند؛ این موضوع به دلایل امنیتی و حریم خصوصی انجام شده است تا از سرقت یا جعل آدرسهای IP توسط مهاجمان سایبری جلوگیری شود.
نکته: در فرآیند پاک سازی، آدرسهایی که استفاده نشدهاند حذف میشوند و اطلاعات مربوط به تلاشهای ناموفق برای ارتباط با کامپیوترهایی که به شبکه متصل نیستند یا حتی خاموش هستند نیز از کش حذف میشود.
پروتکل ARP چه ارتباطی با DHCP و DNS دارد و تفاوت آن ها چیست؟
ARP فرآیند اتصال یک آدرس IP پویا به آدرس MAC دستگاه فیزیکی است. بنابراین، بررسی چند فناوری مرتبط با آدرس IP ضروری است.
همانطور که پیش تر ذکر شد، آدرسهای IP به دلیل ایجاد امنیت و حفظ حریم خصوصی کاربران، به طور مداوم تغییر میکنند، اما این تغییرات نباید کاملاً تصادفی باشند؛ چرا که باید قوانینی وجود داشته باشد که آدرس IP را از یک محدوده مشخص در شبکه تخصیص دهد. این قوانین به جلوگیری از مشکلاتی مانند تخصیص یک آدرس IP به دو کامپیوتر کمک میکنند. این قوانین تحت عنوان پروتکل DHCP شناخته میشوند.
آدرسهای IP بهعنوان شناسههایی برای کامپیوترها اهمیت دارند، زیرا برای انجام جستجوهای اینترنتی موردنیاز هستند. هنگامی که کاربران نام دامنه یا URL را جستجو میکنند، از حروف استفاده میکنند، اما کامپیوترها از آدرس عددی IP برای مرتبط کردن نام دامنه با سرور استفاده میکنند. برای اتصال این دو، از DNS استفاده میشود تا آدرس IP را از یک رشته پیچیده اعداد به یک نام ساده و قابل فهم ترجمه کند و برعکس.
انواع ARP چیست؟
نسخهها و موارد استفاده مختلفی از ARP وجود دارد. در ادامه به بررسی چند مورد میپردازیم:
Proxy ARP
پراکسی ARP یک تکنیک است که در آن یک دستگاه پراکسی در شبکه، به درخواست ARP برای یک آدرس IP که در همان شبکه وجود ندارد، پاسخ میدهد. این دستگاه پراکسی از موقعیت مقصد ترافیک آگاه است و آدرس MAC خود را بهعنوان مقصد ارائه میدهد.
به بیان سادهتر، اگر دستگاهی بخواهد با آدرسی خارج از شبکه فعلی ارتباط برقرار کند، پراکسی ARP میتواند بهعنوان واسطه عمل کرده و اطلاعات را از طریق خود به مقصد منتقل کند. این تکنیک معمولاً در شبکههایی استفاده میشود که نیاز به ارتباط بین زیرشبکهها دارند.
Gratuitous ARP
ARP خودخواسته به نوعی یک روش مدیریتی است که توسط یک دستگاه در شبکه اجرا میشود تا به طور ساده آدرس IP و MAC خود را اعلام یا به روزرسانی کند. این نوع ARP به صورت خودخواسته انجام میشود و نیازی به درخواست ARP از سوی دیگر دستگاهها ندارد.
این روش معمولاً برای جلوگیری از مشکلاتی مانند آدرسهای تکراری (IP Conflict) استفاده میشود و همچنین میتواند بهعنوان راهی برای اطلاع رسانی تغییر آدرس دستگاه به شبکه کاربرد داشته باشد.
Reverse ARP
RARP برای دستگاههایی استفاده میشود که آدرس IP خود را نمیدانند. این دستگاهها میتوانند از پروتکل ARP معکوس برای کشف آدرس IP خود استفاده کنند.
این پروتکل معمولاً برای دستگاههای بدون دیسک (Diskless Devices) که نمیتوانند به صورت مستقل آدرس IP دریافت کنند، به کار می رود. در این حالت RARZبا ارسال درخواست به یک سرور در شبکه، آدرس 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 Spoofing یا ARP Poisoning چیست؟
حمله ARP Spoofing که به عنوان ARP Poison Routing یا ARP Cache Poisoning نیز شناخته میشود، نوعی حمله مخرب است که در آن مهاجم سایبری پیامهای جعلی ARP را به یک شبکه محلی (LAN) ارسال میکند. هدف این حمله این است که آدرس MAC مهاجم به آدرس IP یک دستگاه یا سرور قانونی در شبکه متصل شود. این ارتباط جعلی باعث میشود که دادههای رایانه قربانی به جای مقصد اصلی، به رایانه مهاجم ارسال شوند.
توجه داشته باشید که حملات ARP Spoofing میتوانند خطرناک باشند، زیرا اطلاعات حساس ممکن است بدون اطلاع قربانیان بین سیستمها منتقل شود. این نوع حمله همچنین راه را برای دیگر انواع حملات سایبری باز میکند، از جمله:
حمله مرد میانی (Man-in-the-Middle)
حمله مرد میانی (MITM) نوعی حمله جاسوسی است که در آن مهاجم سایبری پیامها را بین دو طرف رهگیری، منتقل و تغییر میدهد. طرفین قربانی هیچ اطلاعی از حضور یک شخص ثالث ندارند. هدف این حمله سرقت اطلاعات است. مهاجم ممکن است پیامهای یکی از طرفین یا هر دو طرف را کنترل و دستکاری کند تا اطلاعات حساسی مانند نام کاربری، رمز عبور، شماره حسابها و موارد دیگر را به دست آورد.
در این حمله، بدافزار روی مرورگر قربانی نصب و کنترل آن به دست مهاجم داده میشود. مرورگر برای مهاجم اهمیتی ندارد، بلکه اطلاعاتی که کاربر از طریق آن به اشتراک میگذارد مهم است. مهاجم معمولاً با ایجاد یک سایت تقلبی مشابه سایت اصلی دادههای قربانی را رهگیری میکند.
حملات Denial-of-Service
حمله منع سرویس (DoS) زمانی رخ میدهد که مهاجم سایبری سعی میکند سیستمها، سرورها و شبکهها را با حجم بالایی از ترافیک اشباع کند تا کاربران نتوانند به آنها دسترسی پیدا کنند. نسخه گستردهتر این حمله به عنوان حمله DDOS شناخته میشود که در آن تعداد زیادی از منابع برای اشباع یک سیستم استفاده میشوند.
این نوع حمله از آسیب پذیریهای شناخته شده در پروتکلهای شبکه بهره میبرد. وقتی تعداد زیادی پکت داده به یک شبکه آسیب پذیر ارسال شود، خدمات آن به راحتی از کار میافتد و غیرقابل دسترس میشود.
Session Hijacking
در حمله Session Hijacking، مهاجم سایبری شناسه جلسه کاربر را سرقت کرده، کنترل جلسه وب او را به دست میگیرد و خود را به جای او جا میزند. با داشتن شناسه جلسه، مهاجم میتواند هر عملی را که کاربر مجاز به انجام آن در شبکه است، انجام دهد.
احراز هویت زمانی رخ میدهد که کاربر برای دسترسی به سیستم یا ورود به یک وب سایت یا سرویس خاص تلاش میکند. شناسه جلسه در قالب یک کوکی در مرورگر ذخیره میشود. در حمله Session Hijacking، مهاجم فرآیند احراز هویت را رهگیری کرده و به صورت لحظه ای وارد تعامل میشود.
جمع بندی
به طور کلی ARP یک پروتکل شبکهای است که برای تبدیل آدرسهای IP به آدرسهای MAC استفاده میشود. این فرآیند به دستگاهها کمک میکند تا با استفاده از آدرسهای IP، دستگاههای فیزیکی (مانند کارت شبکه) را در شبکه شناسایی کنند. ARP برای برقراری ارتباط در شبکههای محلی (LAN) ضروری است و به دستگاهها این امکان را میدهد که دادهها را به مقصد صحیح ارسال کنند. ARP نقش مهمی در عملکرد صحیح شبکههای کامپیوتری ایفا میکند و برای ارتباط موثر و بدون مشکل بین دستگاهها ضروری است.
سوالات متداول
ARP چیست؟
ARP پروتکلی است که یک آدرس IP دینامیک را به آدرس MAC یک دستگاه فیزیکی متصل میکند.
از ARP چگونه استفاده میشود؟
ARP یکی از پروتکل های ضروری در شبکه است؛ زیرا آدرس نرم افزاری (آدرس IP) میزبان یا رایانه متصل به شبکه باید به یک آدرس سختافزاری (آدرس MAC) ترجمه شود.
انواع ARP
چندین نوع مختلف از ARP وجود دارد که عبارتند از:
- ARP پروکسی
- ARP رایگان
- ARP معکوس
- InARP (معکوس (ARP
Leave A Comment