Вроде.
IP-адресация на некотором уровне является символической, обычно полагаясь на сетевые протоколы более низкого уровня (с меньшей иерархической структурой), чтобы фактически завершить передачу.
На уровне IP каждая машина имеет (как минимум) один IP, в (как минимум) одну подсеть. Он также может (и обычно имеет) иметь «шлюз по умолчанию» (то есть IP-адрес, через который он отправляет все пакеты куда-либо, кроме локальной подсети).
Абстрактно, пакет, предназначенный для веб-порта, выглядит примерно так:
[заголовок ethernet] [заголовок ip] [заголовок tcp] [полезная нагрузка]
Заголовок Ethernet содержит различную управляющую информацию, включая MAC-адреса источника и назначения в локальной сети.
Заголовок IP содержит различную управляющую информацию, например, IP-адрес источника и назначения и инкапсулированный протокол (в данном примере TCP).
Заголовок TCP содержит различную управляющую информацию, различные флаги (какая это часть сеанса, какой порядковый номер, порты TCP источника и назначения, ...)
Полезная нагрузка просто передается по протоколу TCP и «заботится только приложение».
ARP используется, когда кто-то в локальной сети хочет отправить IP-пакет на IP-адрес, для которого у него нет MAC-адреса, и он в основном транслируется на уровне Ethernet, говоря «у кого есть IP-адрес, бла?».
На большинстве машин ничего не будет прослушиваться для соединений чистого Ethernet, но вы все равно сможете сопоставить этот MAC-адрес с IP-адресом. В некоммутируемой локальной сети вам просто нужно наблюдать за пакетами, находить что-то с MAC-адресом источника или назначения, с которым вы хотите общаться, и анализировать IP-адрес.
Если на машине есть какой-либо прослушиватель уровня Ethernet, вы можете поговорить об этом, но вы не сможете общаться с ним из-за пределов локальной сети, поскольку кадры Ethernet, предназначенные для машины, не будут приниматься. другая сторона локального роутера.