Вопрос: Почему не удалось использовать MAC-адреса вместо IPv4 | 6 для сетей? [закрыто]


Я читаю по TCP / IP и другим связанным протоколам и технологиям. MAC-адреса описываются как (разумно :) уникальные и имеющие большое пространство возможностей (несколько сотен триллионов), а также назначаются всем сетевым интерфейсам. Каковы исторические и технические причины использования адресов IPv4 или IPv6 вместо MAC-адресов для межсетевой связи?

Я пропустил что-то фундаментальное или это просто глупая причина (например, построение поверх устаревших технологий)?


180
2017-07-24 12:51


Источник


Педантичная коррекция: разумно уникальный; карты с идентичными MAC-адресами HW были замечены в дикой природе - это «забавная» сетевая проблема для отладки. - Piskvor
Я лично был свидетелем багги-водителя, который на самом деле назначенный тот же MAC-адрес для разных сетевых карт на разных компьютерах (у которых были уникальные HW-адреса перед установкой этого драйвера). Ну, это было болезненный, - Massimo
Массимо, я видел то же самое. Это не редкость для водителя, который делает это в разработке, и программисты забывают превратить этот компонент, когда он идет на производство. @Felix, также часто производители могут повторно использовать MAC с течением времени и в разных частях мира. Например, карта, проданная в 2005 году в США, может иметь тот же MAC, что и в продаже в Китае в 2013 году. - Robert Kaucher
Адресация пакета с MAC-адресом будет напоминать письмо с номером социального страхования. - Mikey
Как бы ты знать где конкретный MAC-адрес сейчас? Наверху, без необходимости уведомлять каждый узел в Интернете при переходе в другую сеть? - Thorbjørn Ravn Andersen


Ответы:


MAC-адрес может быть уникальным, но нет ничего особенного в количестве, которое указывает, где оно находится. MAC 00-00-00-00-00-00 может быть на другой стороне планеты от 00-00-00-00-00-01,

IP - это произвольная схема нумерации, иерархически наложенная на группу компьютеров, чтобы логически различать их как группу (вот что такое подсеть). Отправка сообщений между этими группами осуществляется с помощью таблиц маршрутизации, которые сами поделены на несколько уровней, поэтому нам не нужно отслеживать каждую отдельную подсеть. Например, 17.x.x.x находится в сети Apple. Оттуда Apple узнает, где расположены каждая из ее тысяч подсетей и как добраться до них (никто другой не должен знать эту информацию, им просто нужно знать, что все идет в Apple).

Также довольно легко связать это с другой парой систем. У вас есть идентификационный номер, выданный государством, для чего вам нужен почтовый адрес, если этот идентификационный номер уже уникален только вам? Вам нужен почтовый адрес, потому что это произвольная система, в которой описывается, куда должен идти уникальный контакт для связи.


341
2017-07-24 12:56



Это отличный ответ. Я бы добавил, что MAC-адреса в конечном итоге используются в IP-коммуникациях, когда компьютеры определяют, что они находятся в одной и той же подсети; вот почему отравление ARP работает как атака. То же самое с шлюзом по умолчанию, компьютер отправляет пакеты, предназначенные для другой подсети, MAC-адресу, возвращенному поиском ARP для IP-шлюза по умолчанию. Адресация уровня 3 / IP в основном используется маршрутизаторами и используется только хостом для определения того, находится ли пункт назначения в одной и той же подсети. - Sean C.
@SeanC, MAC-адреса в конечном итоге используются в IP-связи по протоколам на основе 802.1 (Ethernet, WiFi, Token Ring и т. Д.). Но не по протоколам ATM, таким как PoSDH и IPoATM. - Chris S
Кроме того, вы можете сохранить тот же IP-адрес, когда ваша сетевая карта (или весь компьютер) нуждается в замене. Представьте себе, насколько это раздражает это без абстракции IP. - OrangeDog
@ChrisS У меня есть друг, который как администратор sys, получил партию карт от одного поставщика, и у карт был только один MAC-адрес во всей палитре. Продавец сказал, что карты не попали в розничную продажу правильно, так что были дубликаты, так как заказ был прямым падением с завода. До того, как карты пошли в розничную продажу, они должны были смешиваться вместе, чтобы распространять обманов. Таким образом, для конкретного поставщика MAC-адресаты не уникальны, а тем более у поставщиков. - Jarrod Roberson
Существует множество исторических причин для дублирования адресов mac-address включая ошибки прошивки поставщика, - Mike Pennington


Поскольку таблицы маршрутизации становятся невероятно большими.

IP-адреса распределяются иерархически, поэтому маршрутизатор может группировать маршруты по префиксам адресов. Количество автономных систем, присутствующих в сети, теперь достаточно разумно, чтобы соответствовать сегодняшнему оборудованию.

С другой стороны, распределение MAC-адресов по сети является случайным и полностью не связано с топологией. Группировка маршрутов была бы невозможна, каждый маршрутизатор должен был отслеживать маршруты для каждого отдельного устройства, которое передает его через него. Это то, что делают переключатели уровня 2, и это не масштабируется далеко за пределами определенного количества хостов.


73
2017-07-24 12:52



Вы можете остановиться на этом? Почему они? Почему это не так с IPv *? - Félix Saparelli
Нет оснований полагать, что таблицы маршрутизаторов, использующие MAC-форматированный адрес, были бы «невероятно большими» по сравнению с форматами IPv4 / 6. Проблема в том, что распределение IP-адресов связано с иерархией, которая делает маршрутизацию WAN выполнимой. MAC-адреса назначаются для Ethernet-устройств производителями (и могут быть изменены в программном обеспечении), и по мере того, как аппаратное устройство перемещается, делая эти специальные изменения для таблиц маршрутизации WAN будут «невозможной большой» задачей. - hardmath


Мир не работает исключительно в сети (по крайней мере исторически). Уровень IP не зависит от аппаратного уровня под ним.

Узлы PPP не имеют адресов Mac. Ни дуги, ни маркера, ни fddi, hppi. Эти другие стандарты могут быть не такими актуальными сегодня, но Ethernet в будущем может быть заменен другими технологиями, и он будет прозрачным для уровня IP.

Существует более продолжительная дискуссия о том, как мы продолжаем изобретать новые аппаратные протоколы и называть их ethernet, но я отвлекаюсь ...


36
2017-07-24 16:03



Token Ring имеет MAC-адреса. - Chris S
Вы имеете в виду, что они не могут переключиться на ipv6 либо потому, что узел PPP не имеет адреса v6? (Или, по крайней мере, не было одного 5-10 лет назад). Насколько я могу судить, это не остановило развертывание ipv6 сегодня. Для MAC это тоже не имеет значения. - Dorus
@Dorus: Ваш комментарий не имеет смысла. Узлы PPP могут иметь как IPv4, так и IPv6-адреса, именно потому, что IP строит базовые протоколы, такие как Ethernet или PPP. Однако узлы PPP не имеют MAC-адреса (поскольку в стандарте PPP их нет). - sleske
3 года спустя (и немного более осведомленный), я бы с удовольствием прочитал, что «более продолжительное обсуждение того, как мы продолжаем изобретать новые аппаратные протоколы и называть их ethernet». ;П - Félix Saparelli
Это хорошее начало - standards.ieee.org/events/ethernet/history.html - Jeff Sacksteder


В дополнение к иерархической маршрутизации IP, если они отделяются от MAC-адресов, вы можете изменить свою сетевую карту или весь компьютер, сохраняя тот же IP-адрес (и, следовательно, логическую сетевую топологию).

Эта абстракция позволяет создавать более гибкие и поддерживаемые сети.


30
2017-07-24 14:46





Взгляните на Модель OSI: http://en.wikipedia.org/wiki/OSI_model

Это объясняет, почему нет смысла делать маршрутизацию, концепцию уровня 3, решения, основанные на механизме физического уровня 2.

Современная сеть разбита на несколько разных уровней, чтобы выполнить ваше окончательное общение. Ваша сетевая карта (то, что адресуется MAC-адресом [физическим адресом]), должна отвечать только за общение с одноранговыми узлами в своей физической сети.

Сообщение, которое вы можете выполнить с помощью вашего MAC-адреса, будет ограничено другими устройствами, которые находятся в физическом контакте с вашим устройством. Например, в Интернете вы физически не подключены к каждой машине. Вот почему мы используем механизм TCP / IP (уровень 3, логический адрес), когда нам нужно связаться с машиной, с которой мы физически не связаны.


22
2017-07-24 15:37



+1 для упоминания модели OSI. - Massimo


b0fh является правильным, но также потому, что MAC-адреса не всегда уникальны.

См., Например, сценарии виртуализации. Здесь несколько хостов могут обслуживать виртуальные машины с одинаковыми MAC-адресами.


8
2017-07-24 12:54





Для таблиц маршрутизации для MAC-адресов потребуется почти каждое устройство с указанным MAC-адресом. Маршрутизация в Интернет для IP - это единственная запись 0.0.0.0/0. Для классов сетей они разбиваются на 10.0.0.0/8 172.16.0.0/16 и 192.168.0.0/24. Многие из них могут быть агрегированы как 172.16.0.0/12 и 192.168.0.0/16, что дополнительно уменьшает размер таблицы маршрутизации.

Поиск маршрутов выполняется в обратном порядке в количестве одного бита в маске. Это делает маршрутизацию до 192.168.100.0/24, когда есть маршрут для 192.168.0.0/16, а другой для 0.0.0.0/0 (маршрут по умолчанию).

EDIT: Первоначально диапазон IP был разбит на несколько классов; A, B и C являются наиболее значимыми. Класс A составлял первую половину диапазона адресов, диапазон B - следующий квартал, а диапазон C - следующие восемь из диапазона. Эти классы имели маски 8, 16 и 24 бит соответственно. Позже строгое использование этих масок было отброшено, а распределение адресов было сделано в самых разных размерах.

Размер выделения всегда равен 2 и самый низкий и самый высокий адрес в каждом распределении зарезервированы. Каждое распределение также будет иметь адрес для маршрутизатора. Это часто самый низкий или самый высокий нерезервированный адрес. Наименьшее практическое распределение - это адрес / 30.

IPv6 использует ту же форму распределения, при которой / 64 наименьшее распределение, которое может появляться в Интернете. Как правило, и провайдеру будет предоставлено гораздо большее выделение, о котором должны знать все интернет-маршрутизаторы. Ожидаемые распределения указаны в RFC. Интернет-провайдеру необходимо будет знать, как маршрутизировать свою собственную подсеть, и какие адреса направляются на маршрутизаторы межсоединений. Это значительно проще, чем знать, как маршрутизировать каждый MAC-адрес.


4
2017-07-24 13:38



Нет Классы в сети больше и не было с 1994 года. = [ - Chris S
Поиск @ChrisS IPv4 PTR по-прежнему выполняется классом, хотя делегирование возможно. Агрегаты по-прежнему применяются с классами или без них, а агрегаты B и C все еще применяются даже до бесклассовых сетей. - BillThor
Поиски PTR выполняются Octet, классов нет. См. RFC 1517-1520. - Chris S
@ChrisS Среди людей, с которыми я работаю, классы используются для обозначения количества октетов в сетевой маске A = 1, B = 2 и C = 3. Мы не связываем их с историческими диапазонами и разбиваем класс A 10.0.0.0 на куски B и C. Занятия живут в традиции, если не в их первоначальном значении. - BillThor


Я думаю, что основной момент, который они пытаются решить, заключается в том, что MAC-адреса определяются поставщиками, поэтому нет единой схемы адресации, которая может быть соблюдена в локальной подсети из-за огромного разнообразия производителей, которые создают интерфейсы.

MAC-адреса используются, когда адрес назначения находится в локальной подсети (например, 192.168.0.x). Когда трафик не соответствует локальной подсети, компьютер ссылается на таблицу маршрутизации. Как правило, таблица маршрутизации сообщает любому трафику, который не соответствует локальной подсети (0.0.0.0), чтобы отправиться в локальный шлюз, после чего всякая привязка к MAC-адресам полностью разделяется. Единственный способ использования MAC-адресов в глобальном масштабе - это иметь одну, огромную, плоскую подсеть, которая была бы полностью неработоспособной.


2
2017-07-24 13:25





MAC-адрес целевого IP-адреса полезен только для доставки пакетов в пределах одного локального широковещательного домена.


2
2017-07-25 03:15





MAC-адрес может быть одинаковым для разных сетевых адаптеров на одном компьютере. У SUN был один uniqe MAC-адрес для каждой машины. Таким образом, сетевые карты для компьютеров SUN не имели никакого уникального MAC-адреса, машина была выполнена.

Поэтому, когда вы подключили машину к двум различным сетям, у нее был одинаковый MAC-адрес в обеих сетях.


2
2017-07-25 22:08