Wat is ARP?

ARP (Address Resolution Protocol) is het netwerkprotocol waarmee een apparaat in een lokaal Ethernet-netwerk bij een bekend IP-adres het bijbehorende MAC-adres opvraagt, zodat het een frame op laag 2 kan afleveren. ARP is beschreven in RFC 826 uit november 1982 en wordt nog steeds door vrijwel elk IPv4-apparaat gebruikt, van kantoorlaptop tot PLC, HMI en IO-module. Omdat het protocol geen enkele vorm van authenticatie kent, is het in OT-netwerken tegelijk onmisbaar en een bekend aanvalspunt.

Zonder ARP kan een apparaat met een IP-adres geen gegevens verzenden via Ethernet: het weet dan wel naar welk adres het wil, maar niet naar welke netwerkkaart.


🧠 Hoe werkt ARP stap voor stap?

  1. Een apparaat wil een pakket sturen naar een IP-adres binnen het eigen subnet. Ligt het doel buiten het subnet, dan zoekt het in plaats daarvan het MAC-adres van de standaardgateway, meestal een Router of Firewall.
  2. Het controleert eerst de ARP-cache: een tabel met recent geleerde combinaties van IP- en MAC-adres.
  3. Staat het adres er niet in, dan stuurt het een ARP-request als broadcast naar FF:FF:FF:FF:FF:FF: “Wie heeft IP x.x.x.x? Meld je bij mij.”
  4. Alleen het apparaat met dat IP-adres antwoordt met een ARP-reply (unicast) met zijn eigen MAC-adres.
  5. De afzender slaat het antwoord op in de cache en verstuurt het Ethernet-frame.

Een detail uit RFC 826 maakt ARP zowel efficiënt als kwetsbaar: een ontvanger werkt een bestaand cache-item bij op basis van elk ARP-bericht waarin dat IP-adres als afzender staat, ook als het niet om dat bericht heeft gevraagd. Er wordt nergens gecontroleerd of de afzender de waarheid spreekt.

ARP werkt alleen binnen het lokale broadcastdomein; een Router of VLAN-grens houdt ARP-verkeer tegen.


🔧 Hoe ziet een ARP-bericht eruit?

ARP draait direct op Ethernet met EtherType 0x0806 en zit dus onder IP. Bij IPv4 over Ethernet is het bericht 28 bytes groot:

Veld Grootte Waarde bij IPv4 over Ethernet
Hardware type 2 bytes 1 (Ethernet)
Protocol type 2 bytes 0x0800 (IPv4)
Lengte hardware-adres 1 byte 6
Lengte protocoladres 1 byte 4
Opcode 2 bytes 1 = request, 2 = reply
Afzender MAC / IP 6 + 4 bytes Adressen van de afzender (bij een reply: het antwoordende apparaat)
Doel MAC / IP 6 + 4 bytes Bij een request is het doel-MAC nog leeg (nullen)

Naast request en reply bestaan er varianten die u in netwerkopnames tegenkomt:

  • Gratuitous ARP - een apparaat kondigt ongevraagd zijn eigen IP/MAC-combinatie aan, bijvoorbeeld na opstarten of bij een failover van een redundante server of router (VRRP doet dit bij overname van het virtuele adres).
  • ARP-probe - een request met afzender-IP 0.0.0.0 waarmee een apparaat controleert of een adres al in gebruik is (RFC 5227, juli 2008). Ook een DHCP-client hoort het aangeboden adres zo te controleren en weigert het bij een conflict.
  • RARP en Inverse ARP - historische of niche-varianten (RFC 903 en RFC 2390). RARP werd opgevolgd door BOOTP en later DHCP.

Bij IPv6 bestaat ARP niet meer: daar neemt Neighbor Discovery (RFC 4861) die taak over, via ICMPv6-berichten.


🏭 Waar speelt ARP een rol in industriële netwerken?

  • Adresconflictdetectie - ODVA voegde in 2010 Address Conflict Detection (ACD) volgens RFC 5227 toe aan de IP-specificatie. Een apparaat dat zijn adres dubbel ziet, verdedigt het of meldt een conflict in plaats van stilletjes verkeer te verliezen.
  • Inbedrijfstelling - na adrestoewijzing via BOOTP/DHCP of een configuratietool is ARP het eerste protocol dat een PLC of drive gebruikt om zijn gesprekspartners te vinden.
  • Diagnose - arp -a op een engineeringstation of SCADA-server, of een opname in Wireshark laat snel zien welk MAC-adres achter een IP zit. Een wisselend MAC-adres voor hetzelfde IP wijst op een dubbel adres, een vervangen apparaat of een aanval.
  • Passieve inventarisatie - ARP-broadcasts zijn op elke switchpoort in het VLAN zichtbaar. Tools voor asset discovery en passieve monitoring gebruiken ze om zonder actief scannen een lijst van IP/MAC-paren op te bouwen; de eerste drie bytes van het MAC-adres (OUI) verraden de fabrikant.
  • Redundantie - bij een overschakeling van een redundant serverpaar of router stuurt de nieuwe actieve partij gratuitous ARP, zodat clients direct het nieuwe MAC-adres gebruiken.

Let op een veelgemaakte denkfout: een gewone laag-2-Switch stuurt frames door op basis van zijn MAC-adrestabel, niet op basis van ARP. Alleen routers, laag-3-switches en firewalls gebruiken een ARP-tabel om de volgende hop te bereiken.


⏱️ Hoe lang onthoudt een apparaat een ARP-item?

De levensduur van een cache-item verschilt sterk per platform. Dat verklaart veel “het werkt pas na een paar minuten”-situaties na het vervangen van een apparaat met hetzelfde IP-adres.

Platform Typische levensduur Opmerking
Windows (vanaf Vista) 15–45 seconden reachable, daarna stale Basiswaarde 30 s, aanpasbaar met netsh; cachelimiet 256 (client) of 1024 (server)
Linux 15–45 seconden reachable base_reachable_time standaard 30 s; tonen met ip neigh
Cisco IOS-router typisch 4 uur Instelbaar met arp timeout
Embedded OT-apparaten sterk wisselend Vaak kleine tabellen; raadpleeg de handleiding van de fabrikant

Vervangt u een PLC of IO-module door een exemplaar met hetzelfde IP-adres maar een nieuw MAC-adres, dan kan een router of firewall met een lange timeout nog uren naar het oude MAC sturen. Een gratuitous ARP van het nieuwe apparaat, of het handmatig legen van de ARP-tabel, lost dat op.


🔄 Wat is het verschil tussen ARP en DNS?

Aspect ARP DNS
Doel IP → MAC (laag-2-adres) Naam → IP (laag-3-adres)
Bereik Alleen binnen het lokale subnet Binnen én buiten het LAN
Plaats in OSI-model Tussen laag 2 en 3 Applicatielaag (laag 7)
Transport Direct in Ethernet-frame Meestal UDP poort 53
Caching ARP-cache op elke host Cache per systeem of resolver
Typische aanval ARP-spoofing / poisoning DNS-spoofing / cache poisoning

🔐 Hoe beveiligt u ARP in een OT-netwerk?

Omdat ARP elk antwoord gelooft, kan een aanvaller met toegang tot hetzelfde broadcastdomein valse ARP-replies sturen. Dat heet ARP-spoofing of ARP-poisoning, een vorm van spoofing, en is de klassieke opstap naar een Man-In-The-Middle-aanval: verkeer tussen HMI en PLC loopt dan via de aanvaller, die het kan meelezen, wijzigen of blokkeren. Omdat veel industriële protocollen zoals Modbus TCP geen authenticatie of versleuteling hebben, is dat in OT extra gevaarlijk.

Een praktische aanpak in lagen, passend bij Defense in Depth en IEC 62443:

  1. Verklein het broadcastdomein - met netwerksegmentatie en VLAN’s kan een geïnfecteerde laptop in het kantoornetwerk geen ARP-berichten naar de procesbesturing sturen.
  2. Beperk wie mag aansluiten - Port Security, MAC Binding en 802.1X voorkomen dat een onbekend apparaat überhaupt in het segment komt.
  3. Valideer ARP op de switch - Dynamic ARP Inspection controleert ARP-berichten tegen de bindingstabel van DHCP Snooping; voor vaste adressen, gangbaar in OT, gebruikt u statische ARP-ACL’s.
  4. Gebruik statische ARP-items waar het kan - op HMI’s, engineeringstations, servers en gateways die met een vaste set PLC’s of safety-PLC’s praten. Leg ze vast in het wijzigingsbeheer, want bij vervanging van hardware moeten ze mee.
  5. Detecteer afwijkingen - een IDS of NDR-oplossing met passieve monitoring signaleert een IP-adres dat ineens een ander MAC-adres krijgt; stuur die meldingen door naar uw SIEM.

ARP is eenvoudig en krachtig, maar zonder aanvullende maatregelen vertrouwt elk apparaat in het segment blind op elke buurman.


❓ Veelgestelde vragen

Werkt ARP ook over een router heen?

Nee, ARP werkt alleen binnen één broadcastdomein. Voor een bestemming buiten het subnet vraagt een apparaat met ARP het MAC-adres van zijn standaardgateway op, en de Router doet aan de andere kant zijn eigen ARP-opvraging.

Hoe bekijk ik de ARP-tabel van mijn computer?

Op Windows toont arp -a de ARP-cache en op Linux gebruikt u ip neigh. Met arp -d (Windows) of ip neigh flush all (Linux) leegt u de tabel, wat helpt na het vervangen van een apparaat met hetzelfde IP-adres.

Wat is gratuitous ARP?

Gratuitous ARP is een ARP-bericht waarin een apparaat ongevraagd zijn eigen IP- en MAC-adres bekendmaakt. Het wordt gebruikt na opstarten en bij failover van redundante routers of servers, zodat andere apparaten hun ARP-cache direct bijwerken.

Heeft IPv6 ook ARP?

Nee, IPv6 gebruikt geen ARP maar Neighbor Discovery (RFC 4861), dat via ICMPv6 dezelfde taak uitvoert. Neighbor Discovery heeft vergelijkbare spoofingrisico’s, waartegen switches functies als RA Guard en IPv6-snooping bieden.

Waarom is ARP-spoofing extra gevaarlijk in OT-netwerken?

Bij ARP-spoofing leidt een aanvaller verkeer om via zijn eigen apparaat, en veel OT-protocollen hebben geen authenticatie of versleuteling. Een aanvaller kan daardoor commando’s naar een PLC wijzigen of de HMI valse meetwaarden tonen, terwijl het proces gewoon doorloopt.

Wat gebeurt er bij een dubbel IP-adres?

Bij een dubbel IP-adres antwoorden twee apparaten op dezelfde ARP-request en wisselt het MAC-adres in de caches van andere apparaten, waardoor verbindingen sporadisch wegvallen. Apparaten met adresconflictdetectie volgens RFC 5227, zoals veel IP-apparaten, merken dit op en melden het conflict.


📌 Samengevat

  • ARP koppelt binnen een lokaal subnet een IP-adres aan een MAC-adres via broadcast-request en unicast-reply (RFC 826, 1982).
  • Cache-items leven op Windows en Linux 15–45 seconden actief, op routers vaak uren; dat verklaart storingen na hardwarevervanging.
  • In OT ondersteunt ARP adresconflictdetectie, inbedrijfstelling, diagnose en passieve asset discovery.
  • ARP kent geen authenticatie: segmentatie, Port Security, Dynamic ARP Inspection, statische items en monitoring beperken het risico op spoofing.

ARP is de onzichtbare schakel tussen IP en Ethernet: onmisbaar voor elke OT-verbinding, maar alleen veilig in een klein, bewaakt en gesegmenteerd netwerk.