Можем ли мы подключиться к компьютеру в той же частной сети, используя MAC-адрес?
Я мог соединить два компьютера в частной сети, используя частные IP-адреса, используя сокет программирования. Можно ли сделать то же самое, используя MAC-адреса?
Если это возможно, любой пример на Java/C/C++ будет оценен. Я не мог найти какие-либо полезные сообщения в Интернете о том же.
ОБНОВИТЬ:
Мне было любопытно узнать, возможно ли подключиться к другому компьютеру в той же частной сети, просто зная MAC-адрес? Одна логика, лежащая в основе вопроса, может заключаться в том, что IP-адрес, назначенный сетевому устройству, может отличаться при каждой перезагрузке маршрутизатора. Таким образом, MAC-адрес звучит более солидный вариант для идентификации в этом случае.
(Хотя я знаю, что MAC-адрес тоже можно изменить.)
2 ответа
MAC-адреса используются для идентификации "физических" объектов в сети.
В то время как сокеты существуют на уровне IP.
MAC-адреса обозначают аппаратные объекты; если вы хотите, чтобы эти объекты взаимодействовали, вам нужно взглянуть на вышеперечисленные уровни. И либо вы используете существующие протоколы; такие как UDP/TCP; или вы должны будете определить свой собственный протокол.
Другими словами: единственная функция MAC-адреса состоит в том, чтобы идентифицировать уникальный аппаратный компонент в "области видимости" видимой сети. MAC-адрес не определяет какой-либо сервис / протокол, который можно использовать для подключения одной конечной точки MAC-адреса к другой.
Короче говоря, ответ таков: нет, это не сносно.
Да. IP является одним из возможных протоколов уровня 2, но вы можете запустить свой собственный протокол поверх Ethernet. Например, FCoE обходит TCP-IP и запускает собственный протокол. Поскольку Fibre Channel может поддерживать сетевой трафик, а также трафик хранилища, теоретически вы можете подключить свою сеть с помощью FCoE. С небольшим усилием программирования вы можете добавить слой сокета.