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

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

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

180 голосов | спросил Félix Saparelli 24 J000000Tuesday12 2012, 16:51:58

13 ответов


341

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

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

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

ответил Chris S 24 J000000Tuesday12 2012, 16:56:02
73

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

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

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

ответил b0fh 24 J000000Tuesday12 2012, 16:52:26
36

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

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

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

ответил Jeff Sacksteder 24 J000000Tuesday12 2012, 20:03:09
30

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

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

ответил OrangeDog 24 J000000Tuesday12 2012, 18:46:09
22

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

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

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

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

ответил barancw 24 J000000Tuesday12 2012, 19:37:05
8

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

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

ответил Frederik Nielsen 24 J000000Tuesday12 2012, 16:54:32
4

Для таблиц маршрутизации для 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-адрес.

ответил BillThor 24 J000000Tuesday12 2012, 17:38:58
2

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

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

ответил Alex Berry 24 J000000Tuesday12 2012, 17:25:07
2

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

ответил mr_eclair 25 J000000Wednesday12 2012, 07:15:19
2

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

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

ответил Anders 26 J000000Thursday12 2012, 02:08:34
2

MAC-адреса являются адресами уровня ссылки (2n) в модели ISO /OSI и модель TCP /IP . Это означает, что MAC-адреса используются для соединения узлов внутри локальной сети (точка-точка). IP-адреса - это адреса сетевого уровня (3-й) внутри Интернета (от конца до конца).

Оба адреса используются только в их слое и не предназначены для использования вне него.

ответил logoff 26 J000000Thursday12 2012, 15:11:16
1

Люди здесь заявили, что проблема использования MAC-адресов вместо адресов IPv4 - это маршрутизация, потому что таблицы маршрутизации будут расти большими, однако предполагается, что маршрутизаторы IPv4. Возможно иметь небольшие таблицы маршрутизации, и если вам интересно, найдите маршрутизацию пространства имен Flat. Одна из работ, описывающих эту технику, такова: http: //www. cs.uiuc.edu/~caesar/papers/rofl.pdf

ответил Nikola Knezevic 26 J000000Thursday12 2012, 02:15:22
1

Мое воспоминание о том, что MAC-адреса - это действительно Ethernet-адреса. Адреса Ethernet делятся на две части: часть поставщика - которая идентифицирует поставщика карты Ethernet и адресную часть, назначаемую поставщиком. Поставщик должен сделать их уникальными - или нет.

Таким образом, 48-битное MAC-адресное пространство не используется эффективно и - как уже упоминалось несколько раз выше - иерархически.

Адрес предназначен для уникальных адресов в локальной сети CSMA.

По крайней мере, насколько я помню.

IP-адреса предназначены для масштабирования гораздо более широко и для решения другой проблемы.

ответил Mike Howard 26 J000000Thursday12 2012, 04:02:57

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132