How do MAC addresses change when a packet travels to a destination on a remote network?
When the destination is on a remote network, the sender puts the default gateway's MAC in the destination MAC field; MAC addresses are rewritten at every hop while the source/destination IP addresses stay the same end-to-end.
* Each router rebuilds the Layer 2 frame, so source/destination MAC change on every hop; the source/destination IP stay fixed from PC1 to PC2. *
When destination is on a REMOTE network:
The destination MAC address in the frame is set to the default gateway's MAC address, not the final destination's MAC.
Frame addressing at each hop:
| Hop | Source MAC | Destination MAC | Source IP | Destination IP |
|---|---|---|---|---|
| PC1 → R1 | PC1 (aa-aa-aa) | R1 G0/0/0 (bb-bb-bb) | PC1 (192.168.10.10) | PC2 (10.1.1.10) |
| R1 → R2 | R1 G0/0/1 (cc-cc-cc) | R2 G0/0/1 (dd-dd-dd) | PC1 (192.168.10.10) | PC2 (10.1.1.10) |
| R2 → PC2 | R2 G0/0/0 (ee-ee-ee) | PC2 (55-55-55) | PC1 (192.168.10.10) | PC2 (10.1.1.10) |
Key insight:
- MAC addresses CHANGE at each hop (Layer 2 is rebuilt)
- IP addresses REMAIN THE SAME from source to destination
Address resolution protocols:
- ARP - Used by IPv4 to map IP to MAC
- ICMPv6 ND - Used by IPv6 to map IP to MAC
Go deeper:
-
Address Resolution Protocol (ARP) — PracticalNetworking: IP is end-to-end while MAC is hop-to-hop, which is exactly why the L2 header is rewritten at every router.
-
Address Resolution Protocol — Wikipedia: a host resolves the gateway's MAC (not the final host's) to forward a packet off the local network.