5

As was mentioned in this post:

The reason for seeing an incomplete ARP is that "An ARP request was sent for that address, but the host with that address is not up and running on the LAN, so there is no reply"

So, if a multilayer switch sends an ARP request to a server and gets no reply, ARP will be marked as incomplete in the switch ARP table.

But what if the server sends an ARP request to the switch but does not receive reply? Will the server display incomplete ARP in its ARP table, and the switch will display no entry?

Supposing the above is correct, can we say that if you see the incomplete ARP entry on a local device, the problem is with the device at the other end of the connection (or cabling)? Or are there some exceptions?

  • 1
    As @RonTrunk points out, a switch is a transparent layer-2 device that does not know or care about layer-3 (IP) addressing, so it doesn't use or respond to ARP. The switch may be managed, so the management of the switch is like a host on the network, and it has a layer-3 interface that uses and responds to ARP, but that has nothing to do with the switching function, which still knows nothing about layer-3. Don't confuse ARP on layer-3 devices with the MAC address table of switches. Many people do confuse them. – Ron Maupin May 31 '18 at 18:34
  • Is the switch acting as the L3 gateway, or just as an L2 switch? – cpt_fink Jun 1 '18 at 5:56
  • @cpt_fink, yes by "switch" I meant a multilayer switch (L3 gateway) – kamokoba Jun 1 '18 at 15:30
2

For a layer-3 switch, the layer-3 module in the switch is a router, and it works just like a router, which works like any other host for ARP. A layer-3 switch is still primarily a layer-2 switch, and the layer-2 switch still acts just like a layer-2 switch. The layer-3 and layer-2 parts of a layer-3 switch are really separate. The layer-3 interfaces (both virtual interfaces and any physical interfaces configured as layer-3 interfaces) will use an ARP table, but the layer-2 interfaces will use a MAC address table.

When a host, including a router or the routing module in a layer-3 switch, sends an ARP request and receives no reply, it marks the ARP table entry as incomplete.

But what if the server sends an ARP request to the switch but does not receive reply? Will the server display incomplete ARP in its ARP table, and the switch will display no entry?

That depends. If a host sends an ARP request to another host, including a router, but it has not yet received a reply then the host ARP table entry will be marked incomplete for the router IPv4 address.

What the router has in its ARP table depends on whether or not the router got the ARP request, and whether or not the router already has an ARP table entry for the host.

  • A router with an existing ARP table entry for the host will continue to have that entry until the router purges it due to a timeout. The timeout is not mandated by the RFC, but the RFC does have a section that deals with the possibility of using a timeout for ARP table entries, and most hosts do this:

    It may be desirable to have table aging and/or timeouts. The implementation of these is outside the scope of this protocol.

  • If the router never received the ARP request, and it had no entry for the host, then there will be no entry in the router ARP table.
  • If the router received the ARP request from the host, but the reply back to the host got lost, the router will have a complete ARP table entry for the host.

For an understanding of how ARP works, you should read RFC 826, An Ethernet Address Resolution Protocol -- or -- Converting Network Protocol Addresses to 48.bit Ethernet Address for Transmission on Ethernet Hardware. Remember that ARP works for IPv4, but not for IPv6, which has ND (Neighbor Discovery) instead of ARP.

3

A successful ARP resolution is required for two IPv4 nodes to communicate on a common layer-2 segment (usually Ethernet).

Incomplete ARP requests have two basic reasons.

  1. The ARP request has not been answered. Either the destination node hasn't received the ARP request or its response hasn't been received. The destination node may be down.

  2. The source node's network mask is not configured correctly. The source node considers all destinations within its own subnet local or on-link: it expects to be able to talk to them directly over its Ethernet interface, without the help of a gateway router.

    When e.g. a node within the 192.168.0.0/24 subnet is incorrectly set up with 192.168.0.10/16 it considers a destination like 192.168.16.1 local. It will not try to use a gateway but attempt a direct ARP which stays incomplete.

Whether the source or the destination/next hop node is a router, multi-layer switch or end node doesn't matter.

2

The switch’s ARP table is only used by the switch management interface for IP traffic generated by the switch itself.

Otherwise, switches only look at layer 2 info. They don’t understand ARP.

  • yes, I meant a multilayer switch – kamokoba Jun 1 '18 at 21:59

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.