Schedule DemoStart Free Trial

Unified Observability Platform for Modern IT Operations

Summarize with AI what Motadata does:

ObserveOps

  • Network Observability
  • Network Configuration & Compliance Management
  • Hybrid Infrastructure Monitoring
  • Log Monitoring
  • Application Performance Monitoring
  • Real User Monitoring

ServiceOps

  • Service Management
  • IT Asset & Configuration Management
  • Patch & Deployment Management
  • Agentic AI & Orchestration
  • MSP Edition

By Use Cases

  • Data Centre Monitoring
  • Docker Monitoring
  • Enterprise Service Management
  • IT Service Desk
  • ITSM MSP
  • Enterprise Network Monitoring

By Technologies

  • AWS Monitoring
  • Azure Monitoring
  • Kubernetes Monitoring
  • DevOps Observability
  • REST API Monitoring
  • Storage Monitoring

Resources

  • Getting Started
  • Documentation
  • Integrations
  • IT Glossary
  • Whitepapers
  • Ebooks & Guides
  • Product Brochures
  • Success Stories
  • Comparison
  • Features

Community

  • Blog
  • Press Releases
  • Events
  • Webinar
  • Become a Partner

Company

  • Company
  • Careers
  • Contact Us
  • Customer Support

Get in Touch

  • Request Demo
  • sales@motadata.com
  • support@motadata.com
© 2026 Mindarray Systems Limited. All rights reserved.
Privacy PolicyTerms of Service
Back to IT Glossary
IT Resources

ARP Table

What Is an ARP Table?

An ARP table holds the IP and MAC address pairs a device has picked up from neighbors on its local network. Before sending a frame, the device looks there first.

Here's a single line from arp -a on a Windows laptop, piece by piece:

  • 192.168.1.1: the IP address of the gateway

  • 3c-52-82-1a-9f-00: the MAC address that answered for that IP

  • dynamic: the laptop learned the pair on its own from an ARP reply

Hosts keep one. So do routers, firewalls and Layer 3 switches. You'll often hear it called the ARP cache, because nothing in it lasts long.

Why two addresses at all? The IP address picks the network. Once the frame gets there, the MAC address picks the exact network card.

What Is ARP (Address Resolution Protocol)?

Address Resolution Protocol (ARP) is how a device on a local network learns which MAC address goes with a given IPv4 address. Each answer becomes one row in the ARP table. It is a network protocol with a single job and a fixed message format.

The IP address usually comes from an application or a DNS lookup, but an Ethernet frame can't leave without a destination MAC. ARP gets one by asking the whole segment. Three properties shape how ARP behaves:

  • Local scope: ARP requests are broadcasts, and routers do not forward broadcasts, so ARP stays inside its subnet

  • No authentication: any device on the segment can send a reply, and receivers accept it, which is the gap ARP spoofing exploits

  • IPv4 only: IPv6 uses Neighbor Discovery Protocol for the same job, covered later on this page

Is ARP a Layer 2 or Layer 3 Protocol?

Textbooks disagree on this one. Its payload is a Layer 3 address, yet it travels in a Layer 2 frame. Because of that split across the OSI model, you'll see it called Layer 2.5.

Layer 2 is the more common answer. ARP messages travel straight inside Ethernet frames under EtherType 0x0806, and there's no IP header anywhere in them.

How Does ARP Work?

ARP asks the whole segment who owns an IP address, then keeps the answer. Here's what that looks like for a laptop at 192.168.1.50 reaching its gateway, 192.168.1.1, with nothing cached yet. There are five steps:

  1. Cache lookup: The laptop checks its ARP table for 192.168.1.1, finds nothing and holds the outgoing packet.

  1. Request broadcast: It sends an ARP request to the broadcast MAC address ff:ff:ff:ff:ff:ff, asking which device owns 192.168.1.1 and including its own IP and MAC.

  1. Comparison on every host: Each device in the broadcast domain, usually one VLAN, compares the requested IP with its own. Devices without a match discard the request.

  1. Unicast reply: The gateway sends an ARP reply straight to the laptop's MAC address, carrying its own MAC address.

  1. Cache entry: The laptop writes the pair into its ARP table and sends the held packet. The gateway usually records the laptop's pair from the request too, so no second lookup is needed in the other direction.

What about a target on another network, like 10.0.5.20? A quick check against the subnet mask shows the address is remote, so the laptop asks for the gateway's MAC instead. The router handles the rest with its own ARP exchange on the other side.

ARP Packet Format and Fields

Nine fixed fields make up an ARP packet, identifying both sender and target by MAC and by IP. Requests and replies use the same layout. With Ethernet and IPv4, that adds up to 28 bytes.

Field

Size

Value on Ethernet With IPv4

What It Holds

Hardware type

2 bytes

1

The link-layer technology, Ethernet here

Protocol type

2 bytes

0x0800

The address type being resolved, IPv4 here

Hardware address length

1 byte

6

Length of a MAC address in bytes

Protocol address length

1 byte

4

Length of an IPv4 address in bytes

Operation

2 bytes

1 or 2

1 marks a request and 2 marks a reply

Sender hardware address

6 bytes

Sender's MAC

The MAC of the device asking or answering

Sender protocol address

4 bytes

Sender's IP

The IP that the sender owns

Target hardware address

6 bytes

All zeros in a request

The MAC being sought, filled in on the reply

Target protocol address

4 bytes

Target's IP

The IP whose MAC the sender wants

Want to see them for yourself? Open a packet capture, filter on arp and look at any reply. Its sender fields hold the MAC address the requester asked for.

What Does an ARP Table Contain?

One row per neighbor. Column names change from one operating system to the next. The five fields underneath stay much the same.

Field

What It Holds

Example

IP address

The neighbor this row describes

192.168.1.1

MAC address

The 48-bit hardware address that came back in the reply

3c:52:82:1a:9f:00

Interface

Where it was learned: a NIC on a host, a port or VLAN on a switch

eth0, Vlan10, Ethernet 2

Type or state

Dynamic (learned) or static (configured), plus a reachability state on some systems

dynamic, REACHABLE, STALE, INCOMPLETE

Age

How long since the entry was learned or last confirmed

12 minutes

Watch for INCOMPLETE. A request went out and nothing came back, so the row shows an IP next to an empty MAC field, and the usual cause is a target that's switched off or disconnected.

How Do You View an ARP Table?

You don't have to install anything. Windows, Linux, macOS and Cisco IOS each have a built-in command. The table lists the ones used most often.

Platform

Command

What It Tells You

Windows (Command Prompt)

arp -a

IP, MAC and type, grouped by adapter

Windows (PowerShell)

Get-NetNeighbor -AddressFamily IPv4

Adds a state such as Reachable, Stale or Permanent

Linux

ip neigh show

IP, interface, MAC and reachability state

macOS

arp -a

IP, MAC and interface, with ? when no hostname is known

Cisco IOS

show ip arp

IP, age in minutes, MAC and interface

Cisco IOS

show ip arp 192.168.1.20

The entry for one host only

Cisco IOS

show ip arp vlan 10

Entries learned on one VLAN only

Older Linux guides still show arp -n. That command now needs the net-tools package on most distributions, so ip neigh show is the safer habit. PowerShell suits Windows servers better, because you can pipe its output into a script.

Read the Age Column First

Watch whether the age resets. A value that keeps returning to 0 means the device sends traffic often, and that is expected from a gateway but odd from a printer.

An entry whose age climbs toward the timeout has gone quiet. Most of the time, that device has been unplugged or shut down.

Dynamic vs Static ARP Entries: What's the Difference?

A dynamic ARP entry comes from an ARP reply and expires by itself. A static one is typed in by an administrator, and it stays until somebody removes it. That difference changes how each one fails.

Most rows you will see are dynamic. Static entries are worth using only on a handful of devices that must never change, like the gateway or a core server, because no ARP reply can overwrite them. Each platform uses its own commands to add, remove and flush entries:

Platform

Add a Static Entry

Remove One Entry

Flush Everything

Windows

netsh interface ipv4 add neighbors "Ethernet" 192.168.1.10 00-14-22-01-23-45

arp -d 192.168.1.10

arp -d *

Linux

ip neigh add 192.168.1.10 lladdr 00:14:22:01:23:45 dev eth0 nud permanent

ip neigh del 192.168.1.10 dev eth0

ip neigh flush all

macOS

sudo arp -s 192.168.1.10 00:14:22:01:23:45

sudo arp -d 192.168.1.10

sudo arp -a -d

Cisco IOS

arp 192.168.1.10 0014.2201.2345 arpa (global config)

clear ip arp 192.168.1.10

clear arp-cache

Windows requires an administrator prompt for all of these. No flush command touches a static entry.

Forged ARP replies can't overwrite it. The downside shows up later: if a server gets a new network card, the static entry still points at the old MAC, and nothing flags the mismatch.

What Is the ARP Cache Timeout?

The ARP cache timeout decides how long a learned entry is trusted. When it runs out, the device either deletes the entry or checks it again. Defaults vary widely by platform:

  • Cisco IOS: holds entries for several hours per interface, changed with the arp timeout command in interface configuration

  • Linux: an entry stays REACHABLE for a random period of roughly 15 to 45 seconds after the last confirmation, then moves to STALE and gets rechecked the next time traffic needs it

  • Windows: follows the same reachable-time model, with a randomized reachable time in a similar range

  • macOS: keeps an entry for up to about 20 minutes by default

Why does the gap matter? A router that holds entries for hours can keep sending frames to an old MAC after a host has moved, unless a gratuitous ARP corrects it. Short timers recover quickly, at the cost of more ARP traffic.

So where hosts move a lot, as on wireless or virtual machine VLANs, a lower Cisco timeout makes sense. Stable server VLANs can keep the default.

When Should You Flush an ARP Table, and How?

Flushing an ARP table wipes its dynamic entries. Within seconds, live traffic fills the table again, so a flush is a low-risk first move in three situations:

  1. A server received a new network card, and neighbors still hold its old MAC address

  1. A device moved to a new IP address, and the old pairing has not expired yet

  1. Entries look poisoned, for example the gateway IP suddenly maps to an unfamiliar MAC

The flush command for each platform is in the static entries table above.

What Are the Four Types of ARP?

ARP comes in four types: gratuitous ARP, proxy ARP, Reverse ARP (RARP) and Inverse ARP (InARP). Gratuitous and proxy ARP are variations on the standard exchange. RARP and InARP are separate protocols, and both run the lookup in the opposite direction.

Type

Question It Answers

Where You See It

Gratuitous ARP

Here is my own IP-to-MAC pair, please update

Startup, IP changes, gateway failover

Proxy ARP

Who answers for a host on another network?

Routers covering for misconfigured hosts

Reverse ARP (RARP)

What IP address belongs to my MAC?

Legacy diskless workstations

Inverse ARP (InARP)

What IP address is behind this circuit?

Frame Relay and ATM networks

Gratuitous ARP

Gratuitous ARP reverses the usual order: the device announces its own address without being asked. Its sender IP and target IP are identical. Since it goes out as a broadcast, every neighbor on the segment updates its table at once.

Devices send one in these situations:

  • At startup or when an interface comes up, to announce the pairing

  • After an IP change or a network card replacement, so neighbors drop the old MAC

  • During failover between redundant gateways or clustered servers, so traffic follows the shared virtual IP to the newly active device

The ARP probe is a close relative. Sent with 0.0.0.0 as the sender IP, it asks whether someone else already has the address. If anything answers, the address is taken and the host should not use it.

Proxy ARP

Under proxy ARP, a router answers ARP requests for hosts that live on another network. It hands out its own MAC address, so the traffic comes to the router first. The router then passes it on to the right destination.

Hosts with a bad subnet mask, or with no gateway configured, can still reach remote networks this way. It's on by default on many routers. Hardening guides usually say to switch it off, because it masks configuration errors and puts many IPs behind a single MAC.

Reverse ARP (RARP)

Reverse ARP worked the other way around: a device knowing only its MAC asked a local server for its IP address. Diskless workstations once used it at boot. BOOTP and later DHCP replaced it, and RARP is now obsolete.

Inverse ARP (InARP)

Inverse ARP finds the IP address of a remote device when its link-layer address is already known. Frame Relay and ATM networks needed it. There, a router knows which virtual circuit leads to the far end but not which IP address is assigned at the other end.

What Is ARP Spoofing and How Is It Prevented?

In an ARP spoofing attack, also called ARP cache poisoning, a device on the local network sends fake ARP replies linking its own MAC to someone else's IP. Nothing in ARP checks who sent a reply. Neighbors believe it and start sending that host's traffic to the attacker.

The gateway IP is the usual target. Poison that one entry and every victim's outbound traffic flows through the attacker, who can read it, hijack sessions or simply drop it. The ARP table tends to show the first warning signs:

  • The gateway IP maps to a MAC address that differs from the gateway's known MAC

  • One IP flips between two MAC addresses within a few minutes

  • Several unrelated IPs map to the same MAC, and that MAC does not belong to a router

These controls prevent ARP spoofing or limit its reach:

  • Dynamic ARP Inspection (DAI): the access switch checks every ARP packet against its DHCP snooping bindings and drops replies that do not match

  • DHCP snooping: builds the trusted table of IP, MAC and switch port bindings that DAI depends on

  • Static ARP entries: pin the gateway and critical servers so no reply can overwrite them, practical for a small number of devices

  • Port security: limits each access port to one or a few known MAC addresses

  • 802.1X and network access control: keep unknown devices off the segment in the first place

  • Encryption: TLS and VPN tunnels keep intercepted traffic unreadable even if spoofing succeeds

Cisco IOS access switches need DHCP snooping in place before DAI will work. Both are enabled in global configuration:

Command

What It Tells You

ip dhcp snooping

Turns on DHCP snooping globally

ip dhcp snooping vlan 10

Builds the binding table for VLAN 10

ip arp inspection vlan 10

Checks ARP packets on VLAN 10 against those bindings

show ip arp inspection statistics

Counts of ARP packets forwarded and dropped per VLAN

One step is easy to miss. Uplinks and DHCP server ports have to be set as trusted. Use ip arp inspection trust and ip dhcp snooping trust in interface configuration, otherwise valid traffic on those ports gets dropped.

ARP in IPv6: How Neighbor Discovery Protocol Replaces ARP

IPv6 dropped ARP altogether. Neighbor Discovery Protocol (NDP) took over, using ICMPv6 messages, and hosts now keep a neighbor table that plays the same role.

The exchange mirrors ARP closely. One difference: NDP asks through a solicited-node multicast address, which means only hosts whose address shares the same last 24 bits process it. NDP also covers router discovery and address autoconfiguration, two jobs ARP never had.

Task

IPv4 (ARP)

IPv6 (NDP)

Ask for a MAC address

ARP request, broadcast

Neighbor Solicitation, multicast

Answer with a MAC address

ARP reply, unicast

Neighbor Advertisement, unicast

Announce its own address

Gratuitous ARP

Unsolicited Neighbor Advertisement

Transport

Its own EtherType in an Ethernet frame

ICMPv6 inside an IPv6 packet

Table name

ARP table or ARP cache

Neighbor table or neighbor cache

Spoofing defense on switches

Dynamic ARP Inspection

IPv6 first-hop security, such as RA Guard and ND inspection

States such as REACHABLE, STALE and PROBE mean the same thing here as in the Linux ARP table.

ARP vs DNS vs DHCP: What Is the Difference?

ARP turns an IP address into a MAC address on the local network. DNS works one step earlier, converting a hostname to an IP address. DHCP comes before both and hands the device its own IP.

Protocol

Question It Answers

Scope

Example

ARP

Which MAC address owns this IP?

One local subnet

192.168.1.1 resolves to 3c:52:82:1a:9f:00

DNS

Which IP address belongs to this name?

Any network, through resolvers

example.com resolves to 203.0.113.10

DHCP

Which IP address should this device use?

One subnet, or more through a relay

192.168.1.50 leased for eight hours

In practice, all three run within seconds of each other. A laptop joining the network gets its address from DHCP first. Next comes a DNS lookup for the server name, and only then an ARP request for the gateway.

Some DHCP clients also run an ARP probe on the offered address before taking it, in case it's already in use.

ARP Table vs MAC Address Table vs Routing Table

Moving one packet can involve three different tables. It's easy to confuse them. One reason is that a single switch can hold all three at once.

Table

Maps

Built From

Lives On

ARP table

IP address to MAC address

ARP replies

Anything with an IP address

MAC address table

MAC address to switch port

The source MAC of incoming frames

Switches

Routing table

Destination network to next hop and exit interface

Static routes and routing protocols such as OSPF

Routers and Layer 3 switches

On a Layer 2 switch, forwarding depends on MAC addresses only. Its ARP table has little in it beyond the switch's own management IP, at least until routing is enabled and entries appear for each routed VLAN.

What Can the ARP Table Tell You When Something Breaks?

If a local device stops responding, its ARP entry is a quick way to tell a Layer 2 fault from one higher up. Three checks cover most cases.

  1. Ping the device, then read its ARP entry:

Ping the target first and check its entry afterward. An Incomplete status says ARP got no answer. In that case, the device is likely off, unplugged or on the wrong VLAN, so leave the firewall rules alone for now.

A complete entry with a failed ping means Layer 2 works. Check the host firewall or a routing rule next.

  1. Watch for a MAC address that keeps changing under one IP:

When one IP keeps switching between two MAC addresses, the cause is nearly always a duplicate address. Often somebody has set a static IP inside a DHCP scope.

It is a different story when the gateway IP is the one flipping. Treat that as possible ARP spoofing and go through the spoofing checks earlier on this page.

  1. Look for a sudden rise in Incomplete entries:

Has an access switch suddenly filled with Incomplete entries? Someone is probably scanning the network, since every address that goes unanswered in a sweep leaves one behind. Good network segmentation confines that scan to a single VLAN.

  1. Pull ARP and MAC address tables from every switch into one view:

All of this happens one device at a time. With hundreds of switches, switch monitoring can collect the ARP and MAC address tables over SNMP and match them up. One IP lookup then returns the switch, port and MAC together.

Explore More IT Terms

Browse our comprehensive IT glossary to learn more about technology terminology.

Back to IT GlossaryContact Us
Table of Contents