Я читаю по TCP / IP и другим связанным протоколам и технологиям. MAC-адреса описываются как (разумно :) уникальные и имеющие большое пространство возможностей (несколько сотен триллионов), а также назначаются всем сетевым интерфейсам. Каковы исторические и технические причины, по которым адреса IPv4 или IPv6 используются вместо MAC-адресов для межсетевого взаимодействия?
Я упускаю что-то фундаментальное или это просто глупая причина (например, построение на основе устаревших технологий)?
networking
mac-address
ipv4
Феликс Сапарелли
источник
источник
Ответы:
MAC-адрес может быть уникальным, но в числе нет ничего особенного, что указывало бы, где он находится. MAC
00-00-00-00-00-00
может быть на другой стороне планеты от00-00-00-00-00-01
.IP - это произвольная схема нумерации, наложенная иерархически на группу компьютеров, чтобы логически выделить их как группу (то есть подсеть). Отправка сообщений между этими группами осуществляется с помощью таблиц маршрутизации, которые разделены на несколько уровней, поэтому нам не нужно отслеживать каждую подсеть. Например,
17.x.x.x
в сети Apple. Оттуда Apple узнает, где находится каждая из ее тысяч подсетей и как к ним добраться (никто другой не должен знать эту информацию, им просто нужно знать, что 17. все идет в Apple).Также довольно легко связать это с другой парой систем. У вас есть выданный государством идентификационный номер. Зачем вам нужен почтовый адрес, если этот идентификационный номер уже уникален только для вас? Вам нужен почтовый адрес, потому что это произвольная система, которая описывает, куда должен направляться уникальный адрес для связи с вами.
источник
Потому что таблицы маршрутизации станут невероятно большими.
IP-адреса распределяются иерархически, поэтому маршрутизатор может группировать маршруты по префиксам адресов. Количество автономных систем, присутствующих в сети, в настоящее время достаточно разумно, чтобы соответствовать современному оборудованию.
С другой стороны, распределение MAC-адресов по сети является случайным и совершенно не связано с топологией. Группировка маршрутов была бы невозможна, каждый маршрутизатор должен был бы отслеживать маршруты для каждого устройства, которое передает трафик через него. Это то, что делают коммутаторы уровня 2, и это не масштабируется далеко за пределы определенного количества хостов.
источник
Мир не работает исключительно по сети Ethernet (по крайней мере, исторически). Уровень IP не зависит от уровня оборудования под ним.
Узлы PPP не имеют адресов Mac. Никто не делает arcnet, Token Ring, fddi, hppi. Эти другие стандарты могут быть не такими подходящими сегодня, но Ethernet может быть заменен другими технологиями в будущем, и это будет прозрачно для уровня IP.
Существует более продолжительная дискуссия о том, как мы продолжаем изобретать новые аппаратные протоколы и называть их Ethernet, но я отвлекся ...
источник
В дополнение к иерархической маршрутизации IP, их отделение от MAC-адресов позволяет вам менять сетевую карту или весь компьютер, сохраняя тот же IP-адрес (и, следовательно, логическую топологию сети).
Эта абстракция обеспечивает гораздо более гибкую и удобную поддержку сетей.
источник
Взгляните на модель OSI : http://en.wikipedia.org/wiki/OSI_model
Это объясняет, почему не имеет смысла делать маршрутизацию, концепцию уровня 3, решения, основанные на физическом механизме уровня 2.
Современное сетевое взаимодействие разбито на множество разных уровней, чтобы обеспечить вам сквозное общение. Ваша сетевая карта (по адресу с MAC-адресом [физический адрес]) должна отвечать только за связь со сверстниками в своей физической сети.
Связь, которую вам разрешено осуществлять с вашим MAC-адресом, будет ограничена другими устройствами, которые находятся в пределах физического контакта с вашей машиной. Например, в Интернете вы физически не связаны с каждой машиной. Вот почему мы используем механизм TCP / IP (уровень 3, логический адрес), когда нам нужно общаться с машиной, к которой мы физически не подключены.
источник
b0fh прав - но также потому, что MAC-адреса не всегда уникальны.
Смотрите, например, в сценариях виртуализации. Здесь несколько хостов могут обслуживать виртуальные машины с одинаковыми MAC-адресами.
источник
Таблицам маршрутизации для 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 (маршрут по умолчанию).
РЕДАКТИРОВАТЬ: Первоначально, диапазон IP был разбит на несколько классов; А, В и С являются наиболее значимыми. Класс A составлял первую половину диапазона адресов, диапазон B - следующий квартал, а диапазон C - следующие восемь диапазонов. Эти классы имели маски 8, 16 и 24 бита соответственно. Позже строгое использование этих масок было прекращено, и распределение адресов было сделано в различных размерах.
Размер распределения всегда является степенью 2, а самый низкий и самый высокий адреса в каждом распределении зарезервированы. Каждое распределение также будет иметь адрес для маршрутизатора. Часто это самый низкий или самый высокий незарезервированный адрес. Наименьшее практическое распределение - это адрес / 30.
IPv6 использует ту же форму размещения с / 64 наименьшее распределение, которое может появиться в Интернете. Как правило, и провайдеру будет предоставлено гораздо большее распределение, о котором все интернет-маршрутизаторы должны знать. Ожидаемые отчисления указаны в RFC. Интернет-провайдеру необходимо знать, как маршрутизировать свою собственную подсеть и какие адреса направлять на какие соединительные маршрутизаторы. Это значительно проще, чем знать, как маршрутизировать каждый MAC-адрес.
источник
Я думаю, что главное, что они пытаются донести, - это то, что MAC-адреса определяются поставщиками, поэтому в локальной подсети отсутствует согласованная схема адресации из-за огромного разнообразия производителей, которые создают интерфейсы.
MAC-адреса используются, когда адрес назначения находится в локальной подсети (например, 192.168.0.x). Когда трафик не соответствует локальной подсети, компьютер обращается к таблице маршрутизации. Обычно таблица маршрутизации сообщает любому трафику, который не соответствует локальной подсети (0.0.0.0), направляться к локальному шлюзу, после чего любая принадлежность к MAC-адресам полностью удаляется. Единственный способ использовать MAC-адреса в глобальном масштабе - это иметь одну огромную плоскую подсеть, которая была бы полностью неработоспособна.
источник
MAC-адрес может быть одинаковым на разных адаптерах Ethernet на одной машине. У SUN был один уникальный MAC-адрес для каждой машины. Таким образом, у сетевых карт для компьютеров SUN не было уникального MAC-адреса, как у машины.
Поэтому, когда вы подключили аппарат к двум разным сетям, у него был одинаковый MAC-адрес в обеих сетях.
источник
MAC - адрес адрес канального уровня (2n) в модели ISO / OSI и модели TCP / IP . Это означает, что MAC-адреса используются для подключения узлов внутри локальной сети (точка-точка). IP-адреса - это адреса сетевого уровня (3-го) внутри Интернета (сквозной).
Оба адреса используются только в своем слое и не предназначены для использования вне его.
источник
MAC-адрес целевого IP-адреса полезен только для доставки пакетов в пределах одного локального широковещательного домена.
источник
Люди здесь заявили, что проблема использования MAC-адресов вместо IPv4-адресов заключается в маршрутизации, потому что таблицы маршрутизации вырастут большими - однако это предполагает использование маршрутизаторов IPv4. Можно иметь небольшие таблицы маршрутизации, и если вам интересно, как искать плоскую маршрутизацию в пространстве имен. Вот одна из статей, описывающих эту технику: http://www.cs.uiuc.edu/~caesar/papers/rofl.pdf
источник
Я помню, что MAC-адреса на самом деле являются адресами Ethernet. Адреса Ethernet делятся на две части: часть поставщика - которая идентифицирует продавца карты Ethernet и часть адреса, которая назначается продавцом. Поставщик должен сделать их уникальными или нет.
Таким образом, 48-битное адресное пространство MAC не используется ни иерархически, ни, как уже упоминалось выше.
Адрес предназначен для уникальных адресов в локальной сети CSMA.
По крайней мере, насколько я помню.
IP-адреса предназначены для более общего масштабирования и решения другой проблемы.
источник