короче, нет... для подключения компьютеров в одной сети IP-адреса не требуются. Есть несколько примеров таких протоколов, как IPX или Banyan.
проблема с использованием аппаратных адресов лучше всего описывается следующим образом:
представьте на мгновение, что компьютеры-это люди в комнате... (все приклеены на 1 место и не могут двигаться), если Боб хочет поговорить с Сьюзи... он кричит "Привет, Сьюзи"... и Сьюзи отвечает... и разговор следует. Здорово, правда? Конечно... в небольших масштабах это работает довольно хорошо и на самом деле регулярно используется в некоторых сетевых протоколах между двумя (или несколькими) устройствами. (Много высоких протоколов I/O используют non IP
протоколы, потому что они намного "проще" и точно настроены для этой задачи.) Интернет (как мы его знаем сегодня) - это не просто 2... или несколько человек, разговаривающих напрямую друг с другом. Интернет-это буквально миллиарды устройств. Если все они были помещены в одну и ту же "комнату" (сегмент сети)... Представь, что случится, если Боб захочет поговорить со Сьюзи. Боб кричал: "Эй, Сьюзи!"... и голос Боба потерялся бы в толпе. (Строительство комнаты, чтобы соответствовать миллиардам людей, одинаково смешно.)
по этой причине в сети segmented
в "меньшие комнаты", которые позволяют людям, которые находятся в том же segment
(номер), чтобы поговорить непосредственно друг с другом, но люди за пределами номера вам нужно своего рода router
для передачи сообщений из одной комнаты в другую. Но огромное количество из номеров означает, что вам нужна какая-то схема адресации, так что различные routers
в середине знать, как получить сообщение от Боба к Сьюзи. С помощью протокола IP они назначают subnet
в каждую "комнату", и маршрутизаторам говорят, как передать сообщение из одной комнаты в другую. Например, если адрес Боба 1.1.1.1, а адрес Сьюзи 2.2.2.2, и Боба subnet
is 1.1.1.0/24 (это означает, что первые 3 байта его адреса должны совпадать, чтобы он находился в его комнате), Боб должен передать свое сообщение router
так его можно пройти вперед к Сюзи "room*. Боб знает своего router
- это 1.1.1.2, поэтому он передает сообщение router
, и маршрутизатор передает его другим маршрутизаторам в середине, пока сообщение не будет передано маршрутизатору Сьюзи в 2.2.2.1, который передает сообщение непосредственно Сьюзи... и Сьюзи может отправить ответ Бобу тем же способом.
компьютеры в том же subnet
на самом деле общаться непосредственно друг с другом с помощью MAC-адреса. Это на самом деле начинается отсылаю ARP
запрос (ARP = протокол разрешения адресов) это означает, что он кричит: "У кого есть адрес X. X. X?"... и тот, у кого есть этот адрес, отвечает, и с этого момента они продолжают разговаривать друг с другом напрямую.
(я могу продолжить эту аналогию и объяснить гораздо больше того, как работает Интернет, Если вам действительно интересно.)