پروتکل ARP چیست و چرا نقش مهمی در دنیای امروز دارد؟
پروتکل تفکیک آدرس ARP سرنام Address Resolution Protocol یکی از پروتکل‌های مهم دنیای شبکه است. هنگامی که یک سامانه متصل به شبکه قصد دارد پیامی از طریق شبکه ارسال کند، باید داده‌ها را در لایه‌های مدل OSI قرار دهد. بنابراین در هر لایه باید تمام اطلاعات سرایند مثل پورت‌های TCP/UDP را در سرایند لایه ۴، آدرس آی‌پی مقصد در سربرگ لایه ۳ و مک آدرس‌‌های مبدا و مقصد را در سربرگ لایه ۲ پر کند. اگر کمی دقیق فکر کنید، متوجه می‌شوید، تمامی این اطلاعات به غیر از مک آدرس مقصد در دسترس کاربران نهایی قرار دارد.

پروتکل 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  اینجا  کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

ایسوس

نظر شما چیست؟