skip to Main Content
محتوای اختصاصی کاربران ویژهورود به سایت

فراموشی رمز عبور

با شبکه های اجتماعی وارد شوید

عضو نیستید؟ عضو شوید

ثبت نام سایت

با شبکه های اجتماعی وارد شوید

عضو نیستید؟ وارد شوید

فراموشی رمز عبور

وارد شوید یا عضو شوید

جشنواره نوروزی آنر

پروتکل ARP چیست و چه کاربردی دارد؟

شادی یگانه نویسنده میهمان

۲۱ خرداد ۱۴۰۱

زمان مطالعه : ۸ دقیقه

تاریخ به‌روزرسانی: ۲۴ خرداد ۱۴۰۲

پروتکل ARP چیست و چه کاربردی دارد؟

در این مطلب می‌خوانید

    تبادل اطلاعات بین رایانه‌ها در یک شبکه، از طریق آدرس IP و آدرس MAC آنها اتفاق می‌افتد. گاهی اوقات پیش می‌آید که آدرس IP کامپیوتر مقصد در دسترس است ولی آدرس MAC آن مشخص نیست. پروتکل ARP وظیفه پیدا کردن آدرس MAC یک دستگاه را با استفاده از آدرس IP آن برعهده دارد. در این مطلب به توضیح پروتکل ARP می‌پردازیم و کاربردها و مزایا و معایب آن را بررسی می‌کنیم.

    پروتکل ARP چیست؟

    ساز و کار پروتکل APR

    ARP ‌مخفف عبارت Address Resolution Protocol و یکی از مهم‌ترین پروتکل‌های لایه شبکه است. این پروتکل آدرس منطقی ۳۲ بیتی یا همان  IP Address یک دستگاه موجود در شبکه LAN را دریافت می‌کند و آدرس فیزیکی ۴۸ بیتی یا همان MAC Address مربوط به آن را تحویل می‌دهد. همچنین این پروتکل دارای یک حافظه Cache است که لیستی از آدرس‌های‌ IP دستگاه‌های موجود در شبکه در آن قرار دارد و از طریق این لیست اقدام به پیدا کردن آدرس MAC یک دستگاه می‌کند.

    برای ‌برقراری ارتباط بین دستگاه‌های موجود در یک شبکه، داشتن آدرس MAC دستگاه مقصد، امری ضروری است. اینجاست که پروتکل ARP وارد عمل می‌شود و آدرس IP را به آدرس MAC تبدیل می‌کند.

    پروتکل ARP چگونه کار می‌کند؟

    فرض کنید کامپیوتر مبدأ با آدرس IP و آدرس MAC مشخص قصد ارسال یک بسته به کامپیوتر مقصد را دارد که آدرس IP آن مشخص و آدرس MAC آن نامشخص است. در ابتدا کامپیوتر مبدأ به جدول ARP خود که به ARP Cache یا ARP Table معروف است رجوع می‌کند. در این جدول آدرس‌های MAC مربوط به هر آدرس IP در مقابل آن نوشته شده است. اگر آدرس MAC مربوط به آدرس IP کامپیوتر مقصد در این لیست قرار داشت، آن را برداشته و در جای خود قرار می‌دهد و بسته را به کامپیوتر مورد نظر ارسال می‌کند. اما اگر آدرس MAC کامپیوتر مقصد در این لیست قرار نداشت پروتکل ARP وارد عمل می‌شود و یک درخواست بین کامپیوترهای موجود در شبکه ارسال می‌کند و آدرس MAC کامپیوتر مقصد را درخواست می‌کند. این درخواست بین کامپیوترهای موجود در شبکه پخش می‌شود و کامپیوتری که آدرس IP آن مطابق با آدرس IP کامپیوتر مقصد باشد درخواست را دریافت می‌کند و آدرس MAC خود را به‌عنوان جواب به پروتکل ARP‌ می‌دهد. حالا که تمام فاکتورهای لازم برای ارسال یک بسته بین دو کامپیوتر مشخص شده‌ است، بسته بین کامپیوترها منتقل می‌شود.

    کاربرد پروتکل ARP

    شاید این سوال در ذهن شما ایجاد شده‌ باشد که وقتی آدرس IP کامپیوتر مقصد را می‌دانیم دیگر چه نیازی به داشتن آدرس MAC‌ آن داریم. در این قسمت به این سوال که نشان‌دهنده کاربرد پروتکل ARP است جواب می‌دهیم.

    آدرس IP برای هر دستگاه یک مقدار پویا است که در طول عمر آن دستگاه ممکن است چندین بار تغییر کند. اما آدرس MAC برای هر دستگاه همواره مقدار ثابت و منحصر به‌ فردی است. به عبارت دیگر ممکن است دو دستگاه دارای آدرس IP‌ یکسانی باشند ولی به هیچ وجه امکان ندارد که دارای آدرس MAC یکسان باشد.

    از طرف دیگر مسیریابی کامپیوتر مقصد با استفاده از آدرس IP سریع‌تر و آسان‌تر اتفاق می‌افتد ولی استفاده از آدرس MAC برای این کار، دشوار است.

    با توجه به مواردی که در بالا به آن‌ها اشاره کردیم می‌توان نتیجه گرفت که برای ارسال یک بسته بین دو کامپیوتر همزمان به هر دو آدرس IP و آدرس MAC نیاز داریم که آدرس MAC را تنها با استفاده از پروتکل ARP می‌توانیم به‌ دست آوریم. پس نتیجه می‌گیریم این پروتکل در جا به‌ جایی بسته‌ها بین دو سیستم بسیار مهم و کاربردی است.

    مزایا و معایب پروتکل ARP

    از مزایای پروتکل ARP می‌توان به موارد زیر اشاره کرد:
    • باعث ایجاد دسترسی آسان و سریع به آدرس MAC یک دستگاه تنها با داشتن آدرس IP آن دستگاه می‌شود.
    • دسترسی به آدرس MAC و آدرس IP‌ تمامی دستگاه‌های موجود در شبکه را از طریق ARP Cache به راحتی امکان‌پذیر می‌کند.
    • دستگاه‌‌هایی که به تازگی در شبکه قرار گرفته‌اند را به سرعت شناسایی و آدرس MAC آنها را بین تمامی دستگاه‌های موجود در شبکه پخش می‌کند.
    از معایب این پروتکل می‌توان موارد زیر را نام برد:
    • این پروتکل از درست بودن آدرس MAC دریافت شده از طرف کامپیوتر مقصد اطمینان ندارد.‌ یعنی پروتکل ARP هر جوابی را که به عنوان آدرس MAC دریافت می‌کند درست می‌داند و فرآیند انتقال اطلاعات را برای آن آدرس انجام می‌دهد. این مساله باعث به خطر افتادن امنیت شبکه می‌شود.
    • این پروتکل ممکن است باعث بروز حمله‌های مخرب ARP Spoofing یا  ARP Denial of service شود که به ترتیب باعث حمله مهاجم به یک شبکه اترنت و متوقف کردن ترافیک از طرف مهاجم می‌شود.

    ساختار پروتکل ARP

    پروتکل ARP از ساختار پیام نسبتا ساده‌‌ای استفاده می‌کند. این پیام شامل فیلدی برای نوع پیام و آدرس لایه دوم و آدرس لایه سوم شبکه است. ساختار کلی پیام‌های ARP شامل مواردی است که در ادامه این موارد را نام برده و معرفی می‌کنیم.

    • Hardware Type: این فیلد نوع سخت‌افزاری که برای ارسال پیام ARP استفاده شده را مشخص می‌کند. از رایج‌ترین انواع سخت‌افزار می‌توان به اترنت و کانال فیبر اشاره کرد.
    • Protocol Type: این فیلد کامل‌کننده فیلد نوع سخت‌افزار است و نوع آدرس‌هایی که در لایه سه شبکه استفاده شده مشخص می‌کند.
    • Hardware Address Length: این فیلد طول آدرس MAC را بر حسب بایت مشخص می‌کند. در حالت کلی آدرس MAC در شبکه اترنت ۶ بایت طول دارد.
    • Protocol Address Length: طول آدرس منطقی IPV4 را مشخص می‌کند که عموما برابر ۴ بایت است.
    • OpCode: یک فیلد ۱۶ بیتی است که نوع بسته ARP را مشخص می‌کند. دو نوع بسته ARP که شامل بسته درخواست ARP و بسته پاسخ ARP است وجود دارد که برای درخواست کد یک و برای پاسخ کد ۲ ارسال می‌شود.
    • Sender Hardware Address: این فیلد آدرس فیزیکی یا همان آدرس MAC ارسال‌کننده بسته را مشخص می‌کند.
    • Sender Protocol Address: آدرس منطقی یا همان آدرس IP ارسال‌کننده پیام را مشخص می‌کند.
    • Target Hardware Address: آدرس فیزیکی یا همان آدرس MAC دریافت‌کننده بسته را مشخص می‌کند. در درخواست ARP به دلیل این که ارسال‌کننده از آدرس فیزیکی دریافت‌کننده اطلاع ندارد این فیلد برابر صفر است.
    • Target Protocol Address: این فیلد آدرس منطقی یا همان آدرس IP دریافت‌کننده بسته ARP را در خود نگهداری می‌کند.

    پروتکل ARP و RARP

     تفاوت‌ها ARP & RARP

    برای عملکرد درست IPها، وجود پروتکل ARP لازم و ضروری است. این پروتکل وظیفه شناخت و تشخیص مک آدرس را دارد. آدرس IP برای هر دستگاهی مقداری پویا است و در طول عمر دستگاه ممکن است چندین بار تغییر کند؛ ولی آدرس MAC برای هر دستگاه مقدار ثابتی خواهد بود.

    اما پروتکل RARP کاملا برعکس پروتکل ARP بوده و اگر دستگاهی آدرس IP را نداند نمی‌تواند از ARP استفاده کند. پس بدون داشتن آدرس IP، دستگاه قادر نخواهد بود که ای ار پی را درخواست دهد و پاسخی هم دریافت نمی‌کند. راه‌حل رفع این مشکل نیز این خواهد بود که به گره اجازه می‌دهد با آدرس MAC پیغامی روی شبکه ارسال کند که در ازای آن یک آدرس آی پی را دریافت می‌کند.

    ارسال Ip

    در پروتکل RARP، آدرس فیزیکی گرفته می‌شود و آدرس IP مورد نظر برگردانده می‌شود. همچنین با این پروتکل، آدرس‌های فیزیکی ماشین‌های مختلف را به شکل فراگیری روی شبکه پخش می‌کند و  آدرس آی‌پی یک دستگاه را در تصویر حافظه جاسازی خواهد کرد. به‌طور کلی در پروتکل ARP فرآیند انتقال در شبکه‌های محلی با داشتن MAC آدرس گیرنده پیام را مستقیم به مبدأ ارسال می‌کند و در شبکه‌های سراسری این آدرس گیرنده در Gate Node ذخیره می‌شود.

    پس در موقع ارسال، سیستم مبدأ چه در شبکه‌های سراسری و چه در شبکه‌های محلی باید آدرس فیزیکی گیرنده را داشته باشد. به کمک پیام درخواست از طریق پروتکل ARP می‌توان MAC آدرس مقصد را به دست آورد.

    قابلیت‌ها و کاربرد پروتکل ARP در میکروتیک

    همان‌طور که قبلا هم گفتیم پروتکل ARP وظیفه تبدیل IP به MAC Address را دارد که این پیاده‌سازی در روتر میکروتیک از طریق Broadcasting در داخل شبکه صورت می‌گیرد. با فرستادن Broadcasting به داخل شبکه که همه کامپیوترها آن را دارند آدرس IP ارسال شده و در پاسخ، آدرس مک را ارسال می‌کند. در نهایت این فرآیند با در اختیار داشتن این آدرس به کامپیوتری که به مک آدرس نیاز داشته ارسال می‌شود و آن را کامل خواهد کرد.

    برای کاهش ترافیک و همچنین کاهش تعداد Broadcastingها جدول ARP Table طراحی شده که وقتی هر پیغام Broadcasting ارسال و آدرس MAC مورد نظر در سیستم مشخص می‌شود، آدرس IP و MAC در آن نگه‌داری خواهد شد. تمام سیستم‌هایی که در یک شبکه کار می‌کنند این جدول را دارند و از آن استفاده خواهند کرد. برای مشاهده ARP Table در میکروتیک باید وارد منوی IP شده و با انتخاب گزینه ARP پنجره‌ای برایتان باز خواهد شد.

    این جدول آدرس IP و MACهای همه سیستم‌هایی که به‌نوعی با میکروتیک در ارتباط هستند را نمایش می‌دهد و می‌توان فهمید این دستگاه‌ها از طریق کدام Interface به میکروتیک وصل شده‌اند. وقتی دو کامپیوتر در یک شبکه به یکدیگر متصل شوند فوری آدرس آی‌پی و مک یکدیگر را به ARP Table اضافه می‌کنند. برای Attack زدن به شبکه، پروتکل ARP یکی از حفره‌هایی است که به‌ وسیله آن می‌توان این کار را انجام داد.

    به‌ عنوان‌ مثال اگر یک سیستم برای سیستم دیگر که فقط آدرس آی‌پی دارد اطلاعات ارسال کند باید کامپیوتر اول در ابتدا NetID مربوط به IP کامپیوتر دوم را مورد بررسی قرار داده و در صورت یکسان بودن به سراغ ARP Table خود برود. سپس آدرس مک سیستم دوم را در آن جست‌وجو کند و اگر هیچ آدرسی از سیستم اول در آن ثبت نشده باشد یک پیغام Broadcasting را ارسال می‌کند.

     

    https://pvst.ir/ciq

    0 نظر

    ارسال دیدگاه

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

    *

    برای بوکمارک این نوشته
    Back To Top
    جستجو