Насколько я понимаю, ARP преобразует IP-адрес в MAC-адрес, а затем компьютер использует MAC-адрес для установления прямого соединения.
Если я уже знаю MAC-адрес компьютера, к которому я хочу подключиться, возможно ли подключиться к нему напрямую (без маршрутизатора)? Есть ли пример этого?
networking
Colin
источник
источник
Ответы:
Вы можете подключаться на низком уровне и отправлять пакеты на другие машины в той же локальной сети, но было бы трудно узнать, что помещать в эти пакеты, не зная больше о протоколах на верхних уровнях.
Например, существуют сетевые протоколы, отличные от IP, которые работают через Ethernet, и драйверы, которые реализуют эти протоколы, делают именно то, что вы описываете - они подключаются на низком уровне, не зная IP-адреса (потому что нет IP-адреса, который нужно знать) и передавать данные.
Тем не менее, MAC-адреса не имеют большого значения за пределами локальной сети, поэтому вам нужны протоколы более высокого уровня и маршрутизаторы, которые их понимают, для связи с машинами в других сетях.
источник
Вроде.
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, предназначенные для машины, не будут приниматься. другая сторона локального роутера.
источник
Этот пост довольно старый, но я не чувствую, что он получил правильный ответ.
ЕСЛИ вы можете подключиться к устройству, с которым вы знаете MAC, в той же сети (в идеале - кроссовер). Вы можете назначить IP-адрес MAC, а затем получить доступ к IP-адресу следующим образом:
Системы Microsoft Windows Windows требуют тире "-" между каждой цифрой MAC-адреса (Ethernet-адрес).
UNIX / Linux В системах UNIX и Linux требуется двоеточие ":" между каждой цифрой MAC-адреса (Ethernet-адрес).
Однако, чтобы это работало, вы должны находиться в одном и том же сегменте Ethernet (то есть между вами и устройством, к которому вы пытаетесь подключиться, не может быть маршрутизатора).
источник