مقدمه:
انتقال دیتا در شبکه، بر پایهIP انجام میگیرد. IP یک شناسه ی منطقی است، که در لایه اینترنت کار می کند. بسته های IP خود در فریم های لایه فیزیکی قرار می گیرند و سپس درون شبکه ارسال می شوند. اما Device ها و کامپیوتر های درون شبکه محلی برای ارتباط با یکدیگر نیازمند به دانستن Mac Address یکدیگر هستند. این در حالیست که ما هنگام استفاده از کامپیوتر ها و Device هایی مانند مودم، روتر، پرینتر و … که در شبکه کار می کنند فقط IP آن ها را می دانیم در صورتی که در عمل برای برقراری ارتباط بین آن ها به Mac Address این دستگاه ها نیاز است.
ارتباط بین دوکامپیوتر در ظاهر به وسیله IP انجام می گیرد ولی در واقع Mac Address ها هستند که این ارتباط را برقرار می کنند. اما نکته مهم این است که یک سیستم از کجاMac Address سیستم های دیگری را که می خواهد از طریق شبکه با آنها ارتباط برقرار کند را بیابد؟ این امر با استفاده از پروتکل ARP میسر است.
پروتکل ARP مسئول تبدیل IP به Mac Address است. این پروسه از طریق Broadcasting در داخل شبکه انجام می شود. بدین صورت که کامپیوتر ارسال کننده در داخل شبکه فریاد میزند که ” این آدرس IP متعلق به کدام سیستم است؟ من Mac Address تو را نیاز دارم.“ !
این Broadcast به داخل شبکه فرستاده می شود و همه ی کامپیوتر ها آن را دریافت می کنند. سپس کامپیوتری که آدرس IP ارسال شده، متعلق به آن باشد در پاسخ ، Mac Address خود را ارسال میکند. در نهایت این پروسه با در اختیار قرار دادن Mac Address به کامپیوتری که برای ارسال داده های خود نیازمند به آن Mac Address بود کامل می شود.
برای کاهش تعداد Broadcast ها و در نتیجه کاهش ترافیک شبکه، جدولی تحت عنوان ARP Table طراحی شده است که پس از ارسال هر پیغام Broadcast و مشخص شدن آدرس Mac سیستم مورد نظر ، آدرس IP و Mac سیستم در آن نگهداری میشود. همه ی سیستم هایی که در یک شبکه کار میکنند این جدول را در درون خود دارند و از آن استفاده میکنند. نمونه ای از یک ARP Table را در تصویر زیر مشاهده میکنید.
ARP Table در میکروتیک:
برای اینکه ARP Table را در میکروتیک مشاهده کنیم وارد منوی IP شده و گزینه ی ARP را انتخاب میکنیم تا پنجره ای مانند پنجره ی زیر نمایش داده شود.
این جدول آدرس Mac و IP همه ی سیستم هایی که به نحوی با میکروتیک در ارتباطند را نمایشمیدهد. همچنین میتوان دریافت که این دستگاه ها از طریق کدام Interface به میکروتیک وصل شده اند.
به محض اینکه دو دستگاه در یک شبکه وجود یکدیگر را احساس کنند و با یکدیگر ارتباط برقرار کنند آدرس IP و Mac یکدیگر را به ARP Table خود اضافه میکنند (به اصطلاح جدول خود را Update میکنند).
پروتکل ARP یکی از حفره هایی است که به وسیله ی آن میتوان به شبکه Attack زد. برای مثال فرض کنید که یک سیستم بخواهد برای سیستمی دیگر که فقط آدرس IP آن را در اختیار دارد اطلاعات ارسال کند. در این صورت کامپیوتر شماره ۱ در ابتدای کار NetID مربوط به IP کامپیوتر شماره ۲ را مورد بررسی قرار میدهد. اگر NetID کامپیوتر شماره ۲ با NetID کامپیوتر شماره ۱ یکسان باشد به سراغ ARP Table خود رفته و آدرس Mac کامپیوتر شماره ۲ را در آن جست و جو میکند. در صورتی که هیچ آدرسی از کامپیوتر شماره ۲ در این جدول ثبت نشده باشد یک پیغام Broadcast در جهت یافتن آدرس Mac کامپیوتر شماره ۲ در شبکه ارسال میکند. در چنین شرایطی فرض کنید که یک کامپیوتر دیگر خود را به جای کامپیوتر شماره ۲ جا بزند و به این پیغامBroadcast پاسخ دهد. مسلما شبکه دچار مشکل شده و اطلاعات نیز به سرقت میروند.
برای جلوگیری از چنین اتفاقاتی تعدادی گزینه در میکروتیک تعبیه شده است که به وسیله ی آن ها میتوان تا حدودی از این خطر احتمالی دوری کرد. در ادامه به بررسی این گزینه ها میپردازیم.
همه ی Interface های موجود در میکروتیک از این گزینه ها برخوردارند چراکه همان طور که در جلسه های قبل نیز گفتیم هر Interface در روتر یک Broadcast domain مجزا به حساب می آید.
بنابراین برای دسترسی به این گزینه ها وارد منوی Interfaces میشویم و بر روی Interface مورد نظر خود کلیک میکنیم تا پنجره ی زیر نمایش داده شود.
در قسمت پایین این پنجره یک منو به نامARP وجود دارد که اگر آن را باز کنیم میتوانیم همه یگزینه های موجود در آن را مشاهده کنیم.
حالت enable : این منو به صورت پیش فرض در حالت enable قرار دارد. هنگامی که جدول ARP بر روی حالت enable باشد ، آدرس Mac و IP دستگاه هایی که به میکروتیک وصل میشوند به صورت خودکار در این جدول نوشته میشود همچنین آدرس Mac و IP میکروتیک نیز در جدول ARP سیستم مقابل قرار میگیرد.
حالت disable : اگر ARP در حالت disable قرار داشته باشد هیچ دستگاهی توانایی دسترسی به این Interface را نخواهد داشت. نه آدرسی را در جدول خود ثبت میکند و نه آدرس خودش در جدول سایر سیستم ها ثبت میشود.
حالت proxy-arp : تصویر زیر را در نظر بگیرید.
فرض کنید کامپیوتر شماره ی ۱ در شبکه ی ۱LAN قصد دارد به سمت کامپیوتر شماره ی ۵ در ۲LAN اطلاعات ارسال کند. کامپیوتر شماره ی ۱ در ابتدا NetID مربوط به IP کامپیوتر شماره
۵ را بررسی میکند .NetID کامپیوتر شماره ۵ شباهتی به NetID کامپیوتر شماره ۱ ندارد بنابراین کامپیوتر شماره ۱ یک پیغام Broadcast را در شبکه ارسال میکند. این پیغام به سمت روتر نیز ارسال میشود. روتر کامپیوتر شماره ی ۵ را میشناسد اما به دلیل اینکه اجازه ی عبور Broadcast را ندارد ، آدرس Mac خود را به جای آدرس Mac کامپیوتر شماره ۵ برای کامپیوتر شماره ۱ ارسال میکند. از این پس کامپیوتر شماره ۱ هرگاه بخواهد اطلاعاتی را به سمت کامپیوتر شماره ۵
ارسال کند آن را به سمت روتر میفرستد و روتر نیز آن ها را به کامپیوتر شماره ۵ منتقل میکند .چنین شرایطی مربوط به حالت proxy-arp میباشد. به عبارت دیگر در حالت proxy-arp هرکس از روتر سوالی مبنی بر آدرس مقصد بپرسد، روتر خود را به عنوان مقصد معرفی میکند.
در کل این حالت در جهت برقراری امنیت هر چه بیشتر تعبیه شده است.
حالت Local proxy-arp : این حالت نیز تقریبا شبیه به حالت proxy-arp کار میکند با این تفاوت که تنها در یک شبکه ی LAN اتفاق می افتد. در این حالت هر سیستم که بخواهد اطلاعاتی را به سمت سیستمی دیگر ارسال کند ، مستقیم به سراغ روتر رفته و اطلاعات را به آن منتقل میکند. در آخر نیز روتر اطلاعات را به سمت مقصد اصلی میفرستد. به عبارت دیگر سیستم شماره ی ۱ به جای اینکه اطلاعات را به سمت آدرس Mac سیستم شماره ۲ ارسال کند ، آن ها را به سمت آدرس Mac روتر میفرستد. روتر نیز به عنوان واسطه عمل کرده و اطلاعات را به سمت آدرس Mac سیستم اصلی ارسال میکند.
حالت reply-only : این حالت بسیار کاربردی است چراکه به وسیله ی آن میتوانیم معین کنیم که فقط سیستم هایی که مد نظر ما هستند بتوانند با این Interface در ارتباط باشند و فقط آدرس Mac و IP آن ها در ARP Table ثبت گردد. به منظور اجرایی کردن این سناریو لازم است که قبل از انتخاب این گزینه ، مجددا وارد ARP Table شویم.
بر روی دستگاه های مد نظر خود راست کلیک کرده و گزینه ی Make static را انتخاب میکنیم.
حال وارد منوی Interfaces شده و ARP را در حالت reply-only قرار میدهیم.
بدین ترتیب تنها دستگاه هایی که Static شدند میتوانند با این Interface ارتباط برقرار کنند و آدرس های Mac و IP خود را در ARP Table های یکدیگر Update کنند.