Una specie di.
L'indirizzamento IP è a un certo livello simbolico, di solito si basa su protocolli di rete di livello inferiore (con una struttura gerarchica inferiore) per completare effettivamente la trasmissione.
A livello IP, ogni macchina ha (almeno) un IP, in (almeno) una sottorete. Può anche (e solitamente ha) un "gateway predefinito" (ovvero un indirizzo IP attraverso il quale invia tutti i pacchetti che vanno in un posto diverso da una sottorete locale).
In astratto, un pacchetto destinato a una porta web assomiglia a qualcosa del tipo:
[intestazione ethernet] [intestazione ip] [intestazione tcp] [payload]
L'intestazione Ethernet contiene varie informazioni di controllo, inclusi gli indirizzi MAC di origine e destinazione sulla LAN.
L'intestazione IP contiene varie informazioni di controllo, come l'IP di origine e di destinazione e il protocollo incapsulato (TCP, in questo esempio).
L'intestazione TCP contiene varie informazioni di controllo, vari flag (quale parte della sessione è questa, qual è il numero di sequenza, le porte TCP di origine e di destinazione, ...)
Il payload è semplicemente trasmesso da TCP e "solo l'applicazione è importante".
L'ARP viene utilizzato quando qualcuno sulla rete locale desidera inviare un pacchetto IP, a un IP per cui non ha un indirizzo MAC ed è fondamentalmente una trasmissione a livello di Ethernet che dice "chi ha un indirizzo IP blah?".
La maggior parte delle macchine non ascolterà nulla per connessioni Ethernet pure, ma potresti comunque riuscire a mappare quel MAC su un indirizzo IP. In una LAN non commutata, devi semplicemente osservare i pacchetti, trovare qualcosa con un MAC di origine o di destinazione che è quello con cui vuoi parlare e analizzare l'IP.
Se la macchina ha un ascoltatore di livello ethernet di qualche tipo, potresti parlarne, ma non sarai in grado di parlarne dall'esterno della LAN locale, poiché i frame Ethernet destinati alla macchina non verranno raccolti su l'altro lato del router locale.