15

Я не понимаю, зачем нужны 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-адреса?

10 ответов10

29

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

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

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

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

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

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

IP не волнует, что лежит в основе.

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

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

8

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

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

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

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

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

Разделение проблем хорошо.

3

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

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

2

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

Расстояние, проложенное кабелем 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

2

Как уже объясняли другие, вам нужны протоколы уровня 2 для контроля перегрузки в вашей локальной сети. Уровень 3 используется для маршрутизации и адресации между сетями.

Сказав это, правильным вопросом может быть: почему оба слоя не могут использовать одну и ту же схему адресации?

Первый ответ: как уже упоминалось, это позволяет переключать технологии L2 и / или L3, и все по-прежнему работает.

Второй ответ: даже если бы все согласились, что протоколы уровня 2 используют IP-адреса, вам все равно придется использовать два IP-адреса, один для уровня 2 и один для уровня 3. Зачем? NATting. Если ваш компьютер имеет общедоступный IP-адрес, то адреса L2 и L3 могут быть одинаковыми. Однако, если вы используете NATting, то ваши адреса L2 и L3 будут другими.

Последний комментарий: когда вы говорите, что все получают сообщение, а не получатели игнорируют его, вы говорите о WiFi. Проводной Ethernet больше не работает. Так было раньше, когда мы использовали коаксиальные кабели, а позже, когда мы использовали концентраторы. Коммутаторы только отправляют сообщения / пакеты на соответствующий порт (если вы не выполняете атаку на них и не насыщаете их таблицы).

0

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

Допустим, у меня есть какое-то древнее оборудование (скажем, токарный станок с ЧПУ за миллион долларов), которое говорит только на IPX. В вашей сети, где есть только IP, кто бы с ней разговаривал? Или, скажем, я подключаю ненастроенный компьютер к новой сети. В отсутствие MAC-адресов, как DHCP-сервер может сказать моему компьютеру, какой IP-адрес использовать?

Допустим, у меня есть сервер с четырьмя гигабитными подключениями к магистральному коммутатору, объединенный в одно виртуальное соединение. Каков адрес моего сервера в вашей сети только для MAC? Или, скажем, у меня есть компьютер, подключенный через модем PPPoA, и у меня нет MAC-адреса. Как можно подключиться к нему?

0

Хммм, я думаю, что это могло бы быть сделано (я фактически / сделал / назначил MAC-адрес вручную); однако, если бы это было сделано, вам пришлось бы покупать новое оборудование для IPv6, и, скорее всего, не было бы никакого совпадения. Так что в целом мне не нравятся последствия.

0

I в IP означает межсетевой протокол.

Это означает, что IP должен быть уникальным среди ВСЕХ сетей во всем мире.

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

(Это сломано несколько из-за NAT. Когда был изобретен протокол TCP/IP, NAT не был частью первоначального плана, и это был "взлом", пока IPv6 не станет более распространенным, чем там, где он не нужен. Притворись, что NAT не существует, чтобы понять этот ответ.)

Предполагается, что MAC-адрес уникален только в локальной сети, в которой находится хост. Он не предназначен для обеспечения связи между тем, что не находится в одной локальной сети. Таким образом, есть физическое ограничение, предполагаемое для MAC-адресов, но не такое ограничение для IP-адресов.

TCP/IP основан на том, что:

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

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

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

-2

Вы застреваете, думая только об одном слое OSI. IP работает только потому, что Ethernet (и другие) существует, так же, как Ethernet существует только потому, что существуют физические провода для передачи трафика. Это не «IP или MAC» - для маршрутизации трафика требуются MAC-адреса: технология IP (как и другие, связанные и не связанные технологии) стоит на вершине этого. Вы не можете просто обменять одно на другое.

-6

Динамические IP-адреса, мой друг! В вашей локальной среде (ваш дом, ваш колледж, ваше рабочее место) у вас есть сетевые настройки. Он подключен не напрямую к Интернету (с большой буквы), а через маршрутизатор. Этот маршрутизатор получает динамический IP-адрес (в большинстве случаев, если только у вас нет статического) от вашего интернет-провайдера и назначает динамические (такие же, как указано выше) адреса всем подключенным компьютерам. Почему так сделано? Таким образом, для предоставления услуг большему количеству пользователей, чем у вас есть IP-адреса. Дело в том, что вы должны быть в состоянии идентифицировать ваш MacBook Pro (:D) среди всех других компьютеров, поэтому вам нужен УНИКАЛЬНЫЙ адрес, а не динамический / общий. Это твой макинтош. И именно поэтому вам это нужно.

Вы можете прочитать далее здесь

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .