Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 
Community Member

arp and mac forwarding tables

Hi all, can anyone tell me the difference between these? is it possible to view both on a switch? i.e how would i show what mac addresses are mapped to my uplink ports? what is the function of the arp table on switches/routers ? and lastrly do we only have an arp table on layer 3 devices ?

Community Member

Re: arp and mac forwarding tables


The MAC table is a list of mac addresses and switch ports. This table is used by the layer 2 switch to decide on which port to forward an ethernet frame. If it receives a frame with an unknown destination MAC address, it floods the frame out all of it's ports. The switch populates the mac table by examining the source mac address of frames received on different ports. In the old days this was know as the TCAM table. You can view this table with "sh mac addr".

The arp table is a list of IP addresses and MAC addresses. This table is used by the router to decide which MAC address to apply to the ethernet header of a given packet. When a layer 3 device receives a frame on an interface it strips the layer2 header and examines the layer 3 (IP) header. It then does an arp table lookup to decide what the destination MAC will be for the next hop. It then uses this information to construct the new layer 2 header. The router or layer 3 switch uses the ARP protocol to populate this table. You can view it with "sh arp".

Brian ": )

Community Member

Re: arp and mac forwarding tables

Thanks for that, so is the arp table needed on all layer 3 devices ? what is the main function here ?

Re: arp and mac forwarding tables

Routers generally contain ARP table for their directly connected devices.

So when a packet comes to the router, it strips the L2 header & reads the L3 header to get an idea which network the pkt is destined for.

It then checks its routing table to find out the next-hop to reach this network. Then from Arp table it extracts the mac for this next-hop & rewrite the L2 header with its own mac as source & nxt-hop mac as destination.

CreatePlease to create content