بروتوكول ARP أختصار لـ Address Resolution Protocol

️هو بروتوكول وظيفته الربط بين عنوان الـ IP (المنطقي) وعنوان الـ MAC (الفعلي) داخل الشبكة المحلية (LAN).

️الكمبيوترات بتتعامل مع IP.

️لكن عملية الإرسال داخل الشبكة نفسها بتحصل عن طريق
MAC Address.

️هنا ييجي دور ARP: يحوّل عنوان IP → إلى MAC Address.
وظيفة ARP

لو جهاز (A) عايز يتواصل مع جهاز (B) في نفس الشبكة:

جهاز (A) يعرف فقط عنوان الـ IP بتاع (B).

لازم يلاقي الـ MAC Address الخاص بـ (B) عشان يقدر يبعت له Frame.

الجهاز (A) يبعت رسالة ARP Request (استعلام):

"مين الجهاز اللي عنده الـ IP = 192.168.1.5؟"

الجهاز (B) يرد بـ ARP Reply (رد):

"أنا 192.168.1.5، وMAC Address بتاعي = xx:xx:xx:xx:xx:xx".

الجهاز (A) يخزن المعلومة دي في ARP Cache Table (جدول ARP).
أنواع رسائل ARP

ARP Request → استعلام يُبث (Broadcast) لكل الأجهزة في الشبكة.

ARP Reply → رد من الجهاز المستهدف فقط (Unicast).
ARP Cache (جدول ARP)

️الأجهزة بتخزن نتائج الـ ARP اللي اتعلمتها مؤخرًا في جدول داخلي اسمه ARP Cache.

️عشان لو احتاجت تبعت تاني، تستخدم الجدول بدل ما تعمل استعلام جديد.

️لكن الجدول له Timeout (بيتم مسح البيانات القديمة بعد فترة).
المشاكل المرتبطة بـ ARP
ARP Spoofing / ARP Poisoning

هجوم بيحصل لما جهاز خبيث يرد بإجابات مزيفة على استعلامات ARP.

النتيجة: الترافيك يتوجه للجهاز المخترِق بدل ما يروح للجهاز الصحيح.

الحل: استخدام أدوات أمان زي Dynamic ARP Inspection على السويتشات.
مثال عملي 
الجهاز A عنده IP: 192.168.1.2، وMAC: AA:AA:AA:AA:AA:AA.

الجهاز B عنده IP: 192.168.1.3، وMAC: BB:BB:BB:BB:BB:BB.

A عايز يبعت
Ping لـ B:
A يعمل Broadcast: "مين عنده IP 192.168.1.3؟"
B يرد: "أنا، وMAC بتاعي BB:BB:BB:BB:BB:BB".
A يحفظ المعلومة في ARP Cache ويبدأ يبعث البيانات.