Hmm, lastige vraag. Pas op, dit wordt een technisch antwoord.
Als je probeert een adres te bereiken (hetzij met ping of bijvoorbeeld een webserver) dat in hetzelfde netwerk valt als je eigen machine, dan wordt dat pakketje niet doorgegeven aan de router, maar meteen benaderd. Hierbij wordt inderdaad het pakketje in OSI-layer 2 geadresseerd aan het MAC adres van de doel-host. Het IP-nummer wordt mbv ARP gekoppeld aan het MAC-adres.
Als deze machine echter fysiek in een ander netwerk zit (dus bij je vriend) dan gaat dat dus niet werken. Het ARP-protocol (Address Resolution Protocol) stuurt namelijk gewoon een (niet-routeerbare) broadcast uit met de vraag wie een bepaald IP-nummer heeft en wat het bijbehorende MAC-adres is. Je kunt de arp-tabel zien met het commando arp -a.
Als de doelhost een ip-nummer heeft van een ander netwerk, dan wordt het pakketje wel doorgegeven aan een router. Hierbij wordt in de route-tabel gekeken naar het adres van de juiste router. In de meeste gevallen is dat de default gateway, maar het kan zijn dat er een specifieke route is voor een bepaald netwerk. Je route tabel kun je zien met het commando route -n.
Als je eea in werking wilt zien, moet je wireshark eens installeren. Dit is een packetsniffer die je precies vertelt wat er allemaal op je draad gebeurt en bovendien alles per layer weergeeft. Als je echt geïnteresseerd bent, dan zijn er wel wat boeken over dit onderwerp, maar de meeste zijn zo'n 800 pagina's. Op het internet heb ik eigenlijk weinig terug kunnen vinden dat alles begrijpelijk en volledig behandelt.
Ik heb ooit in een ver en grijs verleden nog eens een cursusje gtemaakt over dit onderwerp. Ik kan wel eens kijken of ik dat nog ergens heb.
Ruud.