Question: is arp layer 2 or 3?
Answer: ARP is layer 2. The reason being is that a broadcast is sent on layer 2 (data link layer) and ARP will normally not traverse to layer 3 (network layer). However it can provide extra features to the layer 3 protocol. The truth is that not all protocols fit the OSI model exactly, because after all it's just a model.