ARP is useful, but this toy only models exact local-link request and reply bytes.
The result is only local
ARP maps a local IP address to a local MAC address on the same link. It does not choose a route across networks.
local opcode = 2 \text{local opcode}=2 local opcode = 2
Neighbor found The reply fills the router MAC and sends the answer back to the client. Reply Ethernet 112 bits / 14 bytes 0x001122334455aabbccddeeff0806 byte 0 byte 1 byte 2 byte 3 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 byte 4 byte 5 byte 6 byte 7 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 byte 8 byte 9 byte 10 byte 11 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 byte 12 byte 13 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 dst-mac 0x001122334455 (cont.) (cont.) src-mac 0xaabbccddeeff ethertype 2054->ARP Neighbor found 224 bits / 28 bytes 0x0001080006040002aabbccddeeffc0a80101001122334455c0a8010a byte 0 byte 1 byte 2 byte 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 byte 4 byte 5 byte 6 byte 7 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 byte 8 byte 9 byte 10 byte 11 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 byte 12 byte 13 byte 14 byte 15 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 byte 16 byte 17 byte 18 byte 19 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 byte 20 byte 21 byte 22 byte 23 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 byte 24 byte 25 byte 26 byte 27 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 htype 1 ptype 0x0800 hlen 6 plen 4 opcode 2 sender-mac 0xaabbccddeeff (cont.) sender-ip 192.168.1.1 (cont.) (cont.) target-mac 0x001122334455 target-ip 192.168.1.10
Neighbor pair
The pair learned here is IP 192.168.1.1 with MAC 0xaabbccddeeff. The client that asked was 0x001122334455.
learned MAC = 0 x a a b b c c d d e e f f \text{learned MAC}=0xaabbccddeeff learned MAC = 0 x aabb cc dd ee ff
Neighbor found The reply fills the router MAC and sends the answer back to the client. Reply Ethernet 112 bits / 14 bytes 0x001122334455aabbccddeeff0806 byte 0 byte 1 byte 2 byte 3 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 byte 4 byte 5 byte 6 byte 7 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 byte 8 byte 9 byte 10 byte 11 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 byte 12 byte 13 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 dst-mac 0x001122334455 (cont.) (cont.) src-mac 0xaabbccddeeff ethertype 2054->ARP Neighbor found 224 bits / 28 bytes 0x0001080006040002aabbccddeeffc0a80101001122334455c0a8010a byte 0 byte 1 byte 2 byte 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 byte 4 byte 5 byte 6 byte 7 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 byte 8 byte 9 byte 10 byte 11 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 byte 12 byte 13 byte 14 byte 15 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 byte 16 byte 17 byte 18 byte 19 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 byte 20 byte 21 byte 22 byte 23 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 byte 24 byte 25 byte 26 byte 27 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 htype 1 ptype 0x0800 hlen 6 plen 4 opcode 2 sender-mac 0xaabbccddeeff (cont.) sender-ip 192.168.1.1 (cont.) (cont.) target-mac 0x001122334455 target-ip 192.168.1.10
What this does not prove
NOTE: local-link resolution only; not routing, not DNS, not authentication, and not a cache timing model.
local only = 1 \text{local only}=1 local only = 1
Neighbor found The reply fills the router MAC and sends the answer back to the client. Reply Ethernet 112 bits / 14 bytes 0x001122334455aabbccddeeff0806 byte 0 byte 1 byte 2 byte 3 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 byte 4 byte 5 byte 6 byte 7 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 byte 8 byte 9 byte 10 byte 11 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 byte 12 byte 13 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 dst-mac 0x001122334455 (cont.) (cont.) src-mac 0xaabbccddeeff ethertype 2054->ARP Neighbor found 224 bits / 28 bytes 0x0001080006040002aabbccddeeffc0a80101001122334455c0a8010a byte 0 byte 1 byte 2 byte 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 byte 4 byte 5 byte 6 byte 7 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 byte 8 byte 9 byte 10 byte 11 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 byte 12 byte 13 byte 14 byte 15 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 byte 16 byte 17 byte 18 byte 19 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 byte 20 byte 21 byte 22 byte 23 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 byte 24 byte 25 byte 26 byte 27 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 htype 1 ptype 0x0800 hlen 6 plen 4 opcode 2 sender-mac 0xaabbccddeeff (cont.) sender-ip 192.168.1.1 (cont.) (cont.) target-mac 0x001122334455 target-ip 192.168.1.10
Summary
ARP finds a neighbor address for one local link. These lessons model exact request and reply bytes only, with no client compute and no production trust claim.
reply opcode = 2 \text{reply opcode}=2 reply opcode = 2
Neighbor found The reply fills the router MAC and sends the answer back to the client. Reply Ethernet 112 bits / 14 bytes 0x001122334455aabbccddeeff0806 byte 0 byte 1 byte 2 byte 3 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 byte 4 byte 5 byte 6 byte 7 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 byte 8 byte 9 byte 10 byte 11 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 byte 12 byte 13 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 dst-mac 0x001122334455 (cont.) (cont.) src-mac 0xaabbccddeeff ethertype 2054->ARP Neighbor found 224 bits / 28 bytes 0x0001080006040002aabbccddeeffc0a80101001122334455c0a8010a byte 0 byte 1 byte 2 byte 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 byte 4 byte 5 byte 6 byte 7 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 byte 8 byte 9 byte 10 byte 11 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 byte 12 byte 13 byte 14 byte 15 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 byte 16 byte 17 byte 18 byte 19 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 byte 20 byte 21 byte 22 byte 23 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 byte 24 byte 25 byte 26 byte 27 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 htype 1 ptype 0x0800 hlen 6 plen 4 opcode 2 sender-mac 0xaabbccddeeff (cont.) sender-ip 192.168.1.1 (cont.) (cont.) target-mac 0x001122334455 target-ip 192.168.1.10