ARP (Address Resolution Protocol) بروتوكول عُرّف في RFC 826، ووظيفته الإجابة عن سؤال واحد: ما عنوان MAC صاحب عنوان IPv4 هذا؟ فالجهاز يعرف عنوان IP الوجهة، لكنه لا يستطيع بناء إطار Ethernet دون معرفة عنوان MAC الذي سيضعه في خانة الوجهة.
كيف يعمل؟
- يبحث الجهاز أولاً في ARP Cache لديه؛ إن وجد العنوان استخدمه مباشرة.
- إن لم يجده يرسل ARP Request كإطار بث إلى FFFF.FFFF.FFFF يسأل فيه: من يملك العنوان 192.168.1.20؟
- تستقبل كل أجهزة الـ VLAN الطلب، لكن صاحب العنوان فقط يرد بـ ARP Reply مباشر Unicast يحتوي عنوان MAC الخاص به.
- يخزن المرسل النتيجة في الجدول لفترة محددة (أربع ساعات افتراضياً على أجهزة سيسكو، ودقائق قليلة في أغلب أنظمة التشغيل).
نقطة مهمة: إذا كانت الوجهة خارج الشبكة المحلية، فالجهاز لا يسأل عن عنوان الوجهة البعيدة، بل يسأل عن عنوان MAC الخاص بـ البوابة الافتراضية ويرسل الإطار إليها.
أوامر مفيدة
C:\> arp -a
Router# show ip arp
Router# clear arp-cache
أنواع وحالات خاصة
- Gratuitous ARP: يعلن فيه الجهاز عن عنوانه دون أن يُسأل، ويُستخدم لاكتشاف تكرار العناوين ولتحديث الجداول بعد انتقال عنوان افتراضي في HSRP أو VRRP.
- Proxy ARP: يرد فيه الراوتر نيابة عن جهاز في شبكة أخرى، وهو مفعّل افتراضياً على واجهات سيسكو ويُفضل تعطيله في التصاميم الحديثة.
المخاطر الأمنية
لا يحتوي ARP على أي مصادقة، فيمكن لمهاجم إرسال ردود مزيفة تجعل الضحايا يرسلون حركتهم إليه، وهو هجوم ARP Spoofing أو ARP Poisoning الذي يمهد لهجمات Man-in-the-Middle. الحل على السويتشات هو تفعيل Dynamic ARP Inspection المعتمد على جدول DHCP Snooping.
ARP في IPv6
لا وجود لـ ARP في IPv6، بل يقوم بالوظيفة نفسها بروتوكول NDP عبر رسائل ICMPv6 من نوع Neighbor Solicitation وNeighbor Advertisement، باستخدام Multicast بدلاً من البث.




