1

I have a question about how an interface triggers the ARP request.

For example if two routers have one interfaces each ->

(A)[intf1: 2.2.2.1/24] ------- (B)[intf2: 2.2.2.2/24].

If router A receives some Ipv4 packet destined to 2.2.2.2, so will interface A trigger an ARP request just based on that the IPv4 packet destination IP address is equal to its own subnet?

1
  • Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer.
    – Ron Maupin
    Sep 19 '17 at 22:27
2

ARP is required when an IP packet is forwarded over Ethernet. When the IP address is in the local subnet it'll be ARPed, the IP packet wrapped into an Ethernet frame addressed to the ARPed MAC address and sent out.

When the IP address is not in the local subnet, another router is required (next hop), so the frame is addressed to the router's MAC address instead (which also requires ARP first).

Of course, not every IP packet triggers an ARP request - ARP responses are cached for some time ('ARP aging').

1

A host that sends something to another host needs to resolve a layer-2 address from the layer-3 address in order to create a layer-2 frame to encapsulate the layer-3 packet. That is where ARP (Address Resolution Protocol) comes in.

A host should maintain a resolution table for ARP. This table is indexed by layer-3 address, and the information is the layer-2 address. This table will be empty when a host starts up, and table entries should eventually time out.

When a host needs to resolve a layer-2 address from a layer-3 address (each time it sends a layer-3 packet to layer-2 for encapsulation), the host will search the resolution table for the layer-3 address. If there is no entry for that layer-3 address in the resolution table, the host will broadcast an ARP request. If no reply is received in a certain amount of time, the packet will be dropped, and an ICMP message sent to the application telling it that the host is unreachable. When a reply is received from the destination host, its layer-3 and layer-2 addresses are added to the table, and the next time a host needs to send a layer-3 packet to the destination host, it will have the resolution in its table, at least until the table entry times out.

This process happens even when the destination host is on a different network, but in that case, the layer-2 destination host will be the host's configured gateway.

From the perspective of layer-2, a router is just another host on the LAN, and ARP functions the same way for a router as for any other host on the LAN.

The ARP process is detailed in RFC 826, An Ethernet Address Resolution Protocol -- or -- Converting Network Protocol Addresses to 48.bit Ethernet Address for Transmission on Ethernet Hardware.

0

Thanks for answering my questions folks. I got the answer myself basically the interface only triggers ARP response only and only if it receives any packet that fall within its network mask and it is destinations is remote.

How system knows about this interface ? Because the route to local interface is present in the kernel routing table with the network mask :)

1
  • You should accept one of the answers so that the question doesn't keep popping up forever, looking for an answer.
    – Ron Maupin
    Jul 21 '17 at 22:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.