Зачем нужны адреса Ethernet/MAC?

Зачем нужны адреса Ethernet/MAC?

Я не понимаю, зачем нужны MAC-адреса Ethernet. Разве нельзя просто подключить все компьютеры к единой сети и использовать IP-адреса для связи?

Например, в Ethernet существует следующий механизм:

  1. Компьютер с IP 192.168.1.1( X.1) хочет отправить пакет на 192.168.1.2( X.2)
  2. X.1использует ARP для получения MAC-адресаX.2
  3. Для этого X.1необходимо отправить пакет всем компьютерам в сети; ответит только один
  4. X.1получает MAC и отправляет пакет

Не проще ли было бы сделать всего один шаг:

  1. X.1отправляет пакет всем компьютерам в сети; только один из них X.2его обработает, остальные его проигнорируют

Дополнительным вопросом будет: зачем нужны IP-адреса, если все устройства имеют уникальные MAC-адреса?

решение1

Theразличные сетевые уровнипредназначены для того, чтобы их можно было заменить другими технологиями.

Два уровня, о которых вы здесь говорите, — это уровни 2 и 3. Уровень 2 в этом сценарии — это Ethernet, из которого возникают MAC-адреса, а уровень 3 — это IP.

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

Требования каждого из них различны. Ethernet определяет семейство технологий, которые позволяют отправлять и получать пакеты между сетевыми устройствами, тогда как IP определяет протокол, который позволяет пакетам данных проходить через несколько сетей.

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

В реальном мире существуют различные протоколы передачи данных, два из которых вы уже используете (хотя их схемы адресации одинаковы): 802.3 - Ethernet и 802.11 - Wi-Fi.

IP не имеет значения, какой уровень лежит в основе.

Аналогично, IP может быть заменен на другие протоколы сетевого уровня (при условии, что это происходит для всех участников). Например:банкомат.

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

решение2

Где будет приниматься решение о том, обрабатывать или игнорировать пакет? Ни один ответ не является действительно удовлетворительным:

1) В коммутаторе? Ну, это означало бы, что коммутаторы должны понимать каждый протокол, который определяет, какие компьютеры заинтересованы в каких пакетах. Это не только увеличило бы стоимость коммутаторов и снизило бы их скорость, но и значительно усложнило бы внесение изменений в протокол IP.

2) В оборудовании интерфейса Ethernet? Ну, это сделало бы сеть намного медленнее, поскольку каждый пакет данных должен был бы идти на каждую машину. Такие технологии, как WiFi и мостовые сети с более медленными мостами были бы невозможны. Взаимодействие Ethernet, работающего на разных скоростях, было бы невозможно. Такие технологии, как IPv6 или многоадресная IP-рассылка, потребовали бы изменений в оборудовании для развертывания на всех конечных станциях Ethernet.

3) В программном обеспечении? Ну, это сделало бы компьютеры намного медленнее, поскольку им пришлось бы иметь дело с гораздо большим количеством прерываний сетевого интерфейса. Все упомянутые выше проблемы с мостами, VPN и Wifi тоже были бы проблемами.

Все это сделало бы Ethernet непригодным для использования без IP и означало бы, что для внесения изменений в IP потребовалось бы внесение изменений в Ethernet. Фу.

Разделение интересов — это хорошо.

решение3

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

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

решение4

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

Расстояние, охватываемое кабелем Ethernet, является еще одной серьезной проблемой, поскольку оно может ограничить успешность передачи, если оно выходит за определенные пределы. Это привело к появлению новых сущностей в виде концентратора/повторителя.

Обратите внимание, что все механизмы связи не используют MAC-адрес для связи. PPP и HDLC не используют MAC-адрес для идентификации.

Также обратите внимание, что некоторые сети не используют Ethernet. Для сетей Token Ring требуется другой уровень канала передачи данных.

Если вы отправите пакет из сети A на устройство в сети B, обращаясь через MAC-адрес устройства в сети B, он будет отброшен в самой сети A. Обратите внимание, что даже если между сетями A и B есть маршрутизатор, маршрутизатор отбросит пакет, поскольку маршрутизатор работает, принимая пакеты, адресованные на его MAC-адрес, но для другого IP-адреса.

Из вышеприведенных сценариев совершенно ясно, что Интернет не является плоской сетью из-за различных локальных/частных сетей. Существуют также различные сетевые сущности между источником и местом назначения.

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

Также см. аналогичное обсуждение вhttps://stackoverflow.com/questions/26290069/arp-vs-ip-why-do-we-need-both

Связанный контент