پروتکل ARP برای تبدیل یک مک آدرس بر اساس آدرس آیپی داده شده در یک شبکه محلی نقش پیونده دهنده یا آشناساز را بازی میکند. برای روشن شدن بحث به مثال زیر دقت کنید:
PC1 در تلاش است به PC3 که در شبکه محلی و زیر شبکه یکسان 10.1.1.0/24 قرار دارد، پینگ دهد. هنگامی که کاربر دستور ping 10.1.1.3 را اجرا میکند،PC1 قبل از ارسال آن به شبکه اقدام به کپسوله کردن درخواست ICMP Ping در یک فریم اترنت میکند. برای درک بهتر موضوع باید نحوه ساخت واحد داده پروتکل (PDU) را بررسی کنیم.
در لایه 4، PC1از این نکته اطلاع دارد که پینگ با ارسال ICMP Echo Request کار میکند و به انتظار ICMP Echo Response مینشیند. بنابراین پروتکل را در لایه ۴ به عنوان ICMP با مجموعه فلگ Echo Request تنظیم میکند. بنابراین، اطلاعات موردنیاز در این لایه در دسترس است.
در لایه 3، PC1 آدرس آیپی مقصد را میداند، زیرا ، توسط کاربر در دستور ping 10.1.1.3 به آن اشاره شده است، بنابراین آنرا در قسمت آیپی مقصد قرار میدهد. PC1 آدرس آیپی پیکربندی شده خود را ۱۰.۱.۱.۱ میداند و آن را در قسمت منبع قرار میدهد. بنابراین، اطلاعات موردنیاز در این لایه نیز در دسترس است.
در لایه 2، PC1 مکآدرس پیکربندی شده خود را میداند و در قسمت منبع قرار میدهد، اما راهکاری برای PC1 وجود ندارد که بداند کدام کلاینت نهایی در شبکه محلی 10.1.13 پیکربندی شده و مکآدرس آن چیست. بنابراین مکآدرس مقصد در دسترس PC1 نیست و به همین دلیل برای بهدست آوردن آن باید از ARP استفاده کند.
نحوه کارکرد پروتکل ARP چگونه است؟
ARP از رویکرد پخشی یک به همه استفاده میکند تا از تمام کلاینتهای نهایی در یک شبکه محلی سوال کند که آدرس فیزیکی یک آیپی مشخص چیست. بهطور کلی، دو نوع اصلی بسته در عملیات پروتکل ARP بهنامهای درخواست ARP و پاسخ ARP وجود دارد.
در شکل زیر هر دو نوع را مشاهده میکنید. همانگوه که مشخص است، چهار بخش در سربرگ ARP بهنامهای آدرس سختافزار منبع (MAC)، آدرس پروتکل منبع (IP)، آدرس سخت افزار هدف (MAC) و آدرس پروتکل هدف (IP)وجود دارد.
نکته مهمی که باید در این بخش به آن دقت کنید این است که در پیام ARP Request مکآدرس مقصد از نوع همهپخشی و به صورت FFFF-FFFF-FFFF است. تکنیک فوق به سوئیچهای شبکه محلی نشان میدهد که این ارتباط از نوع همهپخشی است و همه دستگاههای متصل در شبکه محلی باید یک کپی از فریم را دریافت و پردازش کنند. پارامتر مهم دیگری که باید به آن دقت کنید، Target MAC 0000-0000-0000 است. مقدار فوق به IP Target نشان میدهد که فرستنده در تلاش است آدرس فیزیکی این آدرس آیپی را مشخص کند. دقت کنید در پیامهای ARP Reply مکآدرسهای مبدا و مقصد، آدرسهای یونیکست هستند.
در عملیات فوق چهار مورد مشخص به شرح زیر وجود دارد:
۱- میزبان در نظر دارد دادهها را به میزبان دیگری در شبکه یکسانی ارسال کند: بهطور مثال، PC2 قصد دارد پیامی به PC3 ارسال کند.
PC2 یک درخواست ARP در ارتباط با آدرس IP PC3 192.168.1.3 ارسال میکند.
گرهها در شبکه محلی یک کپی از فریمARP دریافت میکنند.
PC3 با آدرس فیزیکی خود BBBB-BBBB-BBBB پاسخ میدهد و سایر میزبانها درخواست ARP را کنار میگذارند.
۲- میزبان در نظر دارد دادهها را به میزبان دیگری در شبکه دیگر ارسال کند. بهطور مثال، PC2 قصد دارد پیامی به google.com ارسال کند.
PC2 به جدول مسیریابی خود نگاه میکند.
آدرس آیپی گیتوی پیشفرض خود را ۱۹۲.۱۶۸.۱.۱ پیدا میکند.
یک درخواست ARP در مورد آدرس آیپی پیشفرض گیتوی ۱۹۲.۱۶۸.۱.۱ ارسال میکند.
تمامی گرهها در شبکه محلی یک کپی از فریم ARP از جمله Router1 دریافت میکنند.
روتر ۱ با آدرس فیزیکی خود DDDD-DDDD-DDDD پاسخ میدهد.
۳- یک روتر دادههایی که برای یک میزبان در شبکه متصل محلی تعیین شده دریافت میکند. روتر ۱ قصد دارد دادههایی از PC2 دریافت کند.
روتر ۱ یک درخواست ARP در مورد آدرس آیپی مقصد ۱۹۲.۱۶۸.۱.۲ ارسال میکند.
تمامی گرهها در شبکه محلی یک کپی از فریم ARP دریافت میکنند.
PC2 با آدرس فیزیکی خود پاسخ میدهد و تمامی میزبانها درخواست ARP را کنار میگذارند.
۴- یک روتر دادههایی که برای میزبان در شبکه دیگری تعیین شده است دریافت میکند. روتر ۲ دادههایی که برای PC2 تعیین شده است را دریافت میکند.
روتر ۲ جدول مسیریابی خود را بررسی میکند و متوجه میشود که آدرس بعدی هاپ به سمت PC2 34.43.12.1 است.
در این حالت یک درخواست ARP در مورد آدرس IP بعدی ۳۴.۴۳.۱۲.۱ ارسال میکند.
روتر ۱ یک کپی از درخواست ARP دریافت میکند و با آدرس فیزیکی خود AD12-43AB-F432 پاسخ میدهد.
جدول ARP Cache
هنگامی که دستگاهی مکآدرس یک آیپی مشخص را با موفقیت بهدست میآورد، اتصال IP-to-MAC را در جدول ARP ذخیره میکند. در این حالت، ارتباطات بعدی به جای ارسال مجدد درخواست ARP از این اتصال ذخیره شده در حافظه کش استفاده میکنند تا سرعت افزایش پیدا کند. برای روشن شدن بحث بهتر است به جدول ARP روتر سیسکو نگاهی داشته باشیم.
Router#show arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet ۱۰.۱.۱.۱ – ۰۰E0.B076.9A02 ARPA GigabitEthernet0/1
Internet ۱۰.۱.۱.۲ ۹ ۰۰۳۰.A321.43E3 ARPA GigabitEthernet0/1
Internet ۱۹۲.۱۶۸.۱.۱ – ۰۰E0.B076.9A01 ARPA GigabitEthernet0/0
Internet ۱۹۲.۱۶۸.۱.۲ ۲۳ ۰۰۴۰.۰BAD.3852 ARPA GigabitEthernet0/0
Internet ۱۹۲.۱۶۸.۱.۳ ۵۹ ۰۰E0.F760.8C2D ARPA GigabitEthernet0/0
Internet ۱۹۲.۱۶۸.۱.۴ ۰ ۰۰E0.B01D.B1E7 ARPA GigabitEthernet0/0
Internet ۱۹۲.۱۶۸.۱.۶۴ ۲ ۰۰۶۰.۲FE4.6DB0 ARPA GigabitEthernet0/0
هر ورودی در جدول به شکل پیشفرض ۲۴۰ دقیقه معادل ۴ ساعت نگه داشته میشود. این مقدار با نام ARP Timeout شناخته میشود و میتواند در هر رابطی روی مقدار متفاوتی تنظیم شود. سرپرستان شبکه میتوانند با نگاهی به خروجی رابط نشان داده شده آنرا بررسی کنند.
Router#sh int GigabitEthernet 0/1
GigabitEthernet0/0/1 is up, line protocol is up (connected)
Hardware is ISR4331-3x1GE, address is 00e0.b076.9a02 (bia 00e0.b076.9a02)
Internet address is 10.1.1.1/24
MTU 1500 bytes, BW 1000000 Kbit, DLY 100 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive not supported
output flow-control is on, input flow-control is on
ARP type: ARPA, ARP Timeout 04:00:00,
Last input 00:00:08, output 00:00:05, output hang never
Last clearing of “show interface” counters never
Input queue: 0/375/0 (size/max/drops); Total output drops: 0
Queueing strategy: fifo
Output queue :0/40 (size/max)
۵ minute input rate 4 bits/sec, 0 packets/sec
۵ minute output rate 4 bits/sec, 0 packets/sec
۴ packets input, 512 bytes, 0 no buffer
Received 0 broadcasts (0 IP multicasts)
۰ runts, 0 giants, 0 throttles
۰ input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
۰ watchdog, 1017 multicast, 0 pause input
۰ input packets with dribble condition detected
۴ packets output, 512 bytes, 0 underruns
۰ output errors, 0 collisions, 1 interface resets
۰ unknown protocol drops
۰ babbles, 0 late collision, 0 deferred
۰ lost carrier, 0 no carrier
۰ output buffer failures, 0 output buffers swapped out
با اجرای دستورا arp -a در پنجره خط فرمان، می توان ARP Cache متعلق به سیستمعاملهای ویندوز یا لینوکس را بررسی کرد.
C:\>arp -a
Internet Address Physical Address Type
۱۹۲.۱۶۸.۱.۱ ۰۰e0.b076.9a01 dynamic
۱۹۲.۱۶۸.۱.۲ ۰۰۴۰.۰bad.3852 dynamic
۱۹۲.۱۶۸.۱.۴ ۰۰e0.b01d.b1e7 dynamic
۱۹۲.۱۶۸.۱.۶۴ ۰۰۶۰.۲fe4.6db0 dynamic
کلام آخر
پروتکل ARP مکانیزمی برای تبدیل آدرس فیزیکی (MAC) به آدرس منطقی داده شده آیپی در اتصال LAN: IP-to-MAC است.
یک درخواست ARP در یک فریم همهپخشی قرار میگیرد و به همین دلیل ارتباط مذکور یک به یک است و هر میزبان در شبکه محلی یک نسخه از درخواست ARP را دریافت میکند، اما فقط آدرس آیپی هدف پاسخ میدهد.
پاسخ ARP در یک فریم یونیکست قرار میگیرد و به همین دلیل یک ارتباط یک به یک بین درخواستکننده و ارسالکننده ایجاد میشود.
هنگامی که دستگاه آدرس فیزیکی آیپی دریافت میکند، یک ورودی در ARP Table خود یا همان کش ARP ایجاد میکند. در این حالت هر ارتباط بعدی از ورودی ذخیره شده استفاده میکند.
هر ورودی در جدول ARP در حالت پیشفرض ۴ ساعت نگهداری میشود که به آن ARP Timeout میگویند.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟