Skip to content
Jun 16 / Greg

Is ARP Considered Layer2 Or Layer3

I was discussing an issue with a customer the other day when he told me that layer3 was working because ARP was functioning. I told him that ARP is a layer 2 service that assists layer 3. He told me “you are wrong, but whatever.” 🙂 I didn’t argue. This customer is always abrupt and abrasive. I don’t blame them…I think past bad experiences trained them to approach their providers like this. I forgive you…hehehe

What is the function of ARP? ARP takes an IP address and resolves this to a layer 2 MAC address.

The answer to the question above is…both…sort of.

It is technically encapsulated by the link layer protocol and is required only to facilitate the operation of L3 which causes some to argue that is L3.

However, ARP packets are not routable nor do they have IP headers. ARP is a broadcast frame that is sent on a layer 2 segment. ARP has no protocol number and has type = 0x806. Which all lends itself to L2.

Ultimately ARP operates only at L2 but “provides services” to L3. What does this really mean…that it just plain works. It will continue to work and the world will continue to turn. What are your opinions?


leave a comment
  1. iam8up / Jun 17 2011

    You are right, layer 2 – ARP packets “are not routable nor do they have IP headers”.

    Note ARP doesn’t exist in IPv6…good thing or bad thing?

  2. Greg / Jun 17 2011

    You are right, though it does have NDP…which functions in much the same capacity as ARP. It exchanges broadcast for multicast and has been adjusted for the much larger IP size.

  3. Andrew Thrift / Jun 23 2011

    Hi Greg,

    I agree. Although ARP plays a major role in L3 communication, the fact it is not routable confirms its place as a L2 protocol.

  4. Greg / Jun 24 2011

    +1 for me, thanks Andrew 😉

  5. Alvaro Garcia / Jul 5 2011

    I think your customer have a L8 problem with ARP understanding.

  6. Ryan / Aug 5 2012

    Hmmm… I’ve read ipv6 documents that describe ARP as an afterthought to ipv4, and a helper protocol. I always think of it as the glue between the two layers. That being said, one must always ralize that the OSI layers revolve around a functional model. For example session setup and teardown occur in layer 5. TCP performs this function, but you would not argue that it is not a layer 4 protocol and instead a layer 5 protocol. Nor would you argue that because session setup and teardown occurs in the packet that it is a function of layer 4. Likewise, just because ARP rides in a frame does not make it a layer 2 function. Nor is it a layer 3 function. It is a helper protocol that does not conform to the OSI model. Not everything we do in the real world fits the model 😉

  7. Greg / Aug 5 2012

    Well said sir. It seems nicely thought out and built with experience. But if you don’t agree with me, then you are wrong and you need to get outta here. hehehehehe I think ultimately if it works, it works…we can continue to argue on the internet, but it won’t matter 😉

  8. Ryan Trentler / Aug 5 2012

    LOL… I realy enjoy reading your blog. It is fun sometimes to see a few engineers duke it out over something so arbitrary. I have to admit though, if you take the OSI model out of the equation, ARP truly does belong to the Layer 2 technology that is in use (assuming that technology needs such functionality). Therefore I must concede that the point still goes to you sir, and that either way your customer seems to be stuck in an ID10T feedback loop.

  9. Brain2000 / Nov 3 2017

    We all can agree that ARP is a layer 2 service because it binds MACs to IPs.

    Technically though, anything past the first 14 bytes in an Ethernet frame is considered layer 3.

    Whether or not it is routable I don’t think matters. I mean, if I really had nothing better to do I could probably write a useless program to route ARP packets.

    So maybe it’s layer 2.5.

  10. Greg / Nov 3 2017

    @Brain Agreed

Leave a Comment