Voor lokale hosts (hosts in uw netwerksegment), begint een Address Resolution Protocol (ARP) -verzoek met een bepaald type van een netwerkcommunicatieaanvraag tussen twee computers. Dit kan ping zijn, het opzetten van een Transmission Control Protocol (TCP) -sessie of een UDP-sessie (User Diagram Protocol). Ongeacht de reden is het nettoresultaat het volgende proces:
-
De eerste host neemt contact op met een andere host.
De eerste host voert een AND-bewerking uit op zijn adres- en subnetmasker, evenals op het adres en het subnetmasker van de tweede host. Dit bepaalt dat de IP-adressen op hetzelfde netwerk behoren, dus de tweede host moet zich in hetzelfde netwerksegment bevinden.
-
Dit verzoek daalt via de OSI-lagen totdat het de netwerklaag raakt (of de internetlaag in het IP-netwerkmodel). Op die laag moet het doel-IP-adres worden gekoppeld aan een MAC- of hardwareadres.
-
De beslissingsboom in de volgende afbeelding wordt gevolgd:
Het allereerste dat wordt gecontroleerd, is de lokale ARP-cache.
In het volgende gedeelte wordt nader ingegaan op wat er tijdens dat proces gebeurt.
Standaard blijven items niet langer de ARP-cache van een computer dan tien minuten, maar bevinden ze zich gedurende vier uur in de ARP-cache van een Cisco-netwerkapparaat. Op een computer bevat de ARP-cache alleen recente hosts die communicatiesessies hebben gehad.
-
Als het IP-adres waarmee u probeert te communiceren zich niet in de ARP-cache bevindt, moet het adres worden opgelost.
De volgende afbeelding toont de eerste stap in dit proces. Merk op dat het doelhardwareadres het uitzendadres voor Ethernet is.
-
Het gegevensverzoek wordt in de wacht geplaatst totdat het adres is opgelost en een ARP-aanvraag is gegenereerd en naar het netwerk is verzonden.
Alle ARP-verzoeken hebben hetzelfde basisformaat: twee hardware- (of MAC-) adressen en twee protocol- (of IP-) adressen (bron en doel).
Het gegevensverzoek omvat de MAC- en IP-informatie van de verzendende host, evenals het IP-adres van de beoogde host. De opcode voor dit type pakket is 0x0001, waarmee wordt aangegeven dat dit een verzoek is.
-
Het pakket wordt verzonden naar het lokale hardwarematige broadcast-adres, zodat elke computer in het lokale netwerksegment dat frame ziet en verwerkt.
Na het verwerken van het frame en het lezen van de pakketinformatie, verwijderen de meeste computers de gegevens omdat hun IP-adres niet overeenkomt met het gezochte adres.
-
Als een host bij toeval dat adres heeft, registreert het de bron-MAC en het IP-adres in zijn eigen ARP-cache, wetende dat als iemand ermee wil praten, het waarschijnlijk binnenkort gegevens moet verzenden, zodat het dan bouwt zijn eigen ARP-pakket op als antwoord.
Het antwoord-ARP-pakket heeft een opcode van 0x0002, waarmee wordt aangegeven dat dit een antwoord is. De structuur van het ARP-antwoord ziet er hetzelfde uit als het ARP-verzoek, behalve dat alle vier adresvelden zijn ingevuld en ingevuld. Logisch gezien gebruikt het zijn adres als het afzenderadres en de afzender van ARP-aanvraag als het doelwit. De volgende afbeelding geeft u een idee van hoe dit eruit ziet.
-
Met de verzonden reactie ziet de oorspronkelijke host een frame in het lokale netwerksegment dat rechtstreeks is geadresseerd aan het MAC-adres; het opent dat frame en verwerkt het ARP-pakket.
De oorspronkelijke host weet dan de doel-MAC die nodig is om zijn gegevens naar toe te sturen.
-
De oorspronkelijke host voegt de ARP-informatie toe aan zijn ARP-cache en publiceert vervolgens de gegevens die hij in de wacht had gezet en stuurt deze naar het doel-MAC-adres via het lokale netwerksegment.