تکنولوژی

آشنایی با پروتکل ARP

آشنایی با پروتکل ARP

نکته ظریفی که در مورد شبکه اینترنت وجود دارد آن است که اگر چه تمام ماشین های میزبان و ابزارهای شبکه ای از آدرس IP که آدرس منحصر به فرد و یکتا است استفاده میکنند ولیکن یک بسته IP فقط در لایه شبکه قابل شناسائی و تحلیل است. یک بستهIP

قبل از ارسال روی کانال از لایه اول یعنی لایۀ فیزیکی عبور میکند و ضمن اضافه شدن اطلاعات لازم و تشکیل یک فریم ، روی کانال فیزیکی ارسال میشود . بعبارت روشنتر بسته IP قبل از ارسال درون فیلد داده از فریمی قرار میگیرد که بعداً در لایه اول تشکیل

میشود؛ لایه اول وظیفه ای در قبال مسیریابی و کارهائی از این قبیل ندارد و فقط با آدرس های فیزیکی کار میکند .

بعنوان مثال اگر ماشین شما بخواهد بستهای را برای ماشینی که روی شبکه محلی خودتان واقع است بفرستد، در لایه اول الزاماً بایستی آدرس فیزیکی ماشین شما (مبداء) و آدرس فیزیکی ماشین طرف مقابل (مقصد) معین باشد . ( این آدرسها بصورت سخت

افزاری در کارت شبکه درج شده است) عدم دانستن آدرس های فیزیکی عملاً مساوی عدم توانایی برای ارتباط خواهد بود چرا که روی کانال انتقال آدرس های IP بی معنا هستند .

حال فرض کنید ماشین شما میخواهد بسته ای را برای ماشین دیگر ارسال کند که روی شبکه فعلی شما نیست. در این حالت هم لایه اول یک فریم برای ارسال روی کانال فیزیکی تشکیل میدهد و نیاز به آدرس MAC از مقصد دارد؛ آدرس فیزیکی مقصد چیست؟

در لایه اول هر گاه بسته ای قرار است به خارج از شبکه ارسال شود آدرس فیزیکی مقصد ، آدرس مسیریاب پیش فرض شما خواهد بود . بنابراین آدرس های MAC مقوله ای جدا هستند و آدرس های IP مقوله ای دیگر!

هر ماشینی در اینترنت، گذشته از آن که بایستی آدرس های IP خودش و مقصدش را بشناسد،

نیازمند به دانستن آدرس های فیزیکی ماشینهائی که مستقیماً با او در ارتباطند ، هم هست.

بعنوان مثال شبکه اترنت که در تمام دنیا شناخته شده است از آدرسهائی استفاده میکند که منحصر به فرد و 48 بیتی ( 6 بایتی) است . بنابراین کامپیوتری که به یک کارت اترنت مجهز است گذشته از آن که بایستی یک آدرس IP منحصر به فرد داشته باشد

یقیناً دارای یک آدرس 48 بیتی یکتاست که این آدرس یکتا در کارخانه سازندۀ آن ، تنظیم شده است . بنابراین وقتی پروتکل IP میخواهد یک بسته اطلاعاتی را روی شبکه بفرستد باید به نحوی آدرس فیزیکی اولین ماشینی که با آن بایستی ارتباط برقرار کند را

بداند؛ این ماشین میتواند مسیریاب پیش فرض او باشد یا میتواند آدرس فیزیکی مقصد روی همین شبکه محلی باشد.

حال فرض کنید ایستگاهی آدرس IP ماشینی را که میخواهد با آن ارتباط برقرار کند ، میداند ولی آدرس فیزیکی او را نمیداند . چه کاری میتواند انجام بدهد؟ باید از پروتکل ARP بهره ببرد! در این پروتکل فرض بر آن است که تمام ماشین هایِ روی یک شبکه محلی

آدرس IP خود را میدانند.

برای روشن شدن وظیفۀ پروتکل ARP به شکل زیر نگاه کنید در این شکل فرض کنید سه شبکه در دانشگاه شما نصب شده است . شبکۀ محلی اول در دانشکدۀ کامپیوتر با آدرس کلاس C به شماره 192.31.65.0 و شبکۀ دوم در دانشکده برق

با آدرس کلاس C به شمارۀ 192.31.63.0 نصب شده است. ( هر دو شبکه از نوع اترنت هستند )

این دو شبکه از طریق یک شبکه فیبر نوری با استاندارد FDDI و با آدرس IP شماره 192.31.60.0 به همدیگر متصل شدهاند . هر ماشین در شبکۀ اترنت یک آدرس 48 بیتی یکتا دارد.

مسیریاب ها در شکل مشخص شده اند و ارتباط دو شبکه اترنت را با FDDI برقرار میکنند. شبکۀ FDDI از طریق یک خط اختصاصی به شبکۀ جهانی اینترنت متصل شده است . هر مسیریاب به دو شبکۀ متفاوت متصل شده و به عنوان عضوی از هر دو شبکه

دارای دو آدرس IP مجزا میباشد، که هر یک از آنها در یکی از شبکه های محلی تعریف شده است .

حال فرض کنید که ماشینی مایل است به آدرس خاصی مثلاً 192.31.65.5 بستۀ IP بفرستد. در لایۀ شبکه یک بستۀ IP با مشخصات لازم ساخته میشود و در قسمت آدرس مقصد مقدار 192.31.65.5 قرار میگیرد. از دیدگاه لایه شبکه پس از تشکیل بستۀ IP ،

کار تمام است و لیکن از دیدگاه لایه اول که بایستی آن بسته را روی کانال ارسال کند دانستن آدرس فیزیکی (آدرس MAC) ماشین مقصدی که آدرس IP آن 192.31.65.5 است ، حیاتی است .

وظیفه پروتکل ARP در اینجا آن است که یک ”بسته فراگیر“ روی کل شبکه محلی منتشر کند که این بسته در حقیقت سوال میکند:" آدرس IP او 192.31.65.5 است ، آدرس فیزیکی او چیست؟ "

با توجه به آنکه بسته های فراگیر توسط تمام ماشین های روی شبکۀ محلی دریافت میشود ، ماشینی که آدرس IP خودش را درون این بسته میبیند ، بدان پاسخ میدهد و آدرس فیزیکی خود را برای ارسال آدرس کنندۀ آن بسته میفرستد. پس از آنکه آدرس

فیزیکیِ مقصد بدست آمد ، یک فریم اترنت ساخته شده بر روی کانال منتقل میشود.

به این نکته توجه داشته باشید که هر ماشین بر روی شبکۀ محلی از پروتکل ARP حمایت میکند و این پروتکل عملیات پرسش و پاسخ را برای هر ماشین که تقاضای ارسال بستۀ IP دارد ، انجام میدهد. (فعال بودن ARP بر روی تمام ماشینهای شبکۀ محلی

الزامی است.)

بر خلاف پروتکل ICMP که روی پروتکل IP قرار میگیرد ، پروتکل ARP مستقیماً بر روی لایۀ فیزیکی عمل میکند؛ یعنی پس از آنکه بستۀ ARP ساخته شد ، درون فیلد داده از فریم لایۀ فیزیکی قرار گرفته و روی کانال ارسال میشود.

محمد

محمد

برنامه نویس و کارشناس شبکه
دیدن ادامه مقالات

کارشناس شبکه و نرم افزار


برای ارسال دیدگاه لطفا ثبت نام کنید

نظرات کاربران