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

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-адреса?

user2449761
источник
Как компьютеры знают, что они должны игнорировать данные? Без MAC-адреса они не могут сказать, какой в ​​сети должен его обработать ...
Bakuriu
1
они могли бы использовать IP-адрес вместо MAC-адреса
user2449761
эм ... компьютер & lt; - & gt; IP-адрес не инъективное отображение. Я перефразирую свой вопрос: откуда компьютеры знают, что они должны игнорировать данные? Без MAC-адреса они не могут сказать, какой в ​​сети должен его обработать ... поскольку более чем один из них может иметь один и тот же IP ?
Bakuriu
4
они не должны иметь один и тот же IP-адрес в одной подсети ... это конфликт
user2449761
1
Дополнительный вопрос serverfault.com/q/410626/102768
OrangeDog

Ответы:

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, он был бы менее гибким и, следовательно, менее привлекательным и поэтому вряд ли использованным.

Paul
источник
2
Для внутренней сети вы должны были использовать RFC1149 , (Менее технический описание )
Scott Chamberlain
2
Что, как использовать сигнальные флаги ?
Scott Chamberlain
1
@ScottChamberlain: я люблю искусство ASCII в флагах ручного сигнала один!
Fred Larson
5
IPoAC - плохой выбор для внутренних коммуникаций; голуби лучше работают на улице, чем в помещении
cpast
2
@ user2449761 люди только перечислили глупых. Вместо Ethernet вы можете использовать Bluetooth, Dial-Up, GPRS, LTE, USB, DSL, Token Ring и т. Д.
OrangeDog
8

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

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

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

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

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

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

David Schwartz
источник
Кроме того, это может значительно снизить общую производительность сети. Для варианта 3 я отправляю огромный файл, насыщающий мою 1-гигабитную сеть, и вдруг все остальные в сети тоже получают этот файл и вынуждены его игнорировать, и у него нет пропускной способности, чтобы отправить файл кому-то, кто не является частью текущей передачи файлов.
PlasmaHH
второй вариант не описывает, как работает Ethernet? Все интерфейсы получают одинаковые пакеты, но только одна машина не будет их игнорировать (кроме этих в случайном режиме). Переключатели есть, чтобы ускорить процесс ...
user2449761
2
@ user2449761 Все пакеты отправляются на все компьютеры, только если вы используете устаревшее сетевое оборудование с концентраторами вместо коммутаторов. Концентраторы были первоначально выбором по причинам стоимости; но теперь, когда переключатели дешевы, никто не использует их больше.
Dan Neely
@ Дэн, об этом я и говорю ...
user2449761
2
Вариант 1 уже происходит. Это не заменяет использование MAC-адресов, по крайней мере, пока. Но некоторые коммутационные устройства могут быть настроены либо на использование MAC-адреса назначения, либо на использование IP-адреса назначения для выбора исходящего интерфейса. Возможно, что через 10 или 20 лет MAC-адрес останется только для исторических целей, и вся маршрутизация пакетов будет осуществляться только на основе IP-адреса. Часть о том, что изменения в IP сложнее развертывать, в любом случае не была обойдена, потому что магистральные маршрутизаторы годами маршрутизировали на основе аппаратного IP-адреса назначения.
kasperd
3

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

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

vembutech
источник
2

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

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

Обратите внимание, что все механизмы связи не используют MAC-адрес для связи. PPP & amp; 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

Karthik Balaguru
источник
В дополнение к «альтернативным носителям 2», «птичьим носителям», «ручным сигналам» и «бумаге и карандашу», есть некоторые странные, но иногда случайные полезным , IP через SMS, или через Facebook, или даже по электронной почте. Тогда есть старые резервные SLIP, PPP и PPPoE. Эти три НЕ представляют собой тот же тип лица, что и соединение Ethernet или WIFI, - но все они проходят через IP и полностью маршрутизируемы.
Ross Presser
2

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

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

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

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

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

cabad
источник
Я очень рад, что вы добавили последний комментарий. Как вы указали, перегрузка может управляться коммутаторами. Коммутаторы могут использовать только схему IP-адресации. Я также не понимаю аргумента NATing: нам всегда нужны два IP-адреса с обеих сторон NAT. Я думаю, что правильный вопрос будет таким: зачем нам нужны отдельные уровни DataLink и Network в современных сетях? Я понимаю, что разделение было необходимо в 70-х годах, когда использовались жетоны, голуби и бумаги.
user2449761
0

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

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

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

Mark
источник
0

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

Joshua
источник
0

я в IP означает Internetworking Протокол.

Это означает, что 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 в одной сети, а не через Интернет в целях безопасности.

LawrenceC
источник
-2

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

Lightness Races in Orbit
источник
-6

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

Вы можете читать дальше Вот

tfrascaroli
источник
2
Это действительно не причина использовать MAC-адреса.
Daniel B
1
Дело в том, что не у всех компьютеров есть уникальный IP-адрес, иногда вы даже не хотите этого, так что это хороший аргумент для того, чтобы у них был отдельный сетевой адрес, то есть MAC-адрес.
reinierpost
1
Да, они делают. Все интернет-маршрутизируемые по определению однозначно адресуемы. В противном случае интернет не будет работать. Есть такие вещи, как NAT, которые нарушают этот так называемый сквозной принцип. В случае NAT у вас также есть отдельный адрес локальной сети.
Daniel B
@DanielB Я почти уверен, что это неправда, но, возможно, я вас неправильно понял. Например: можете ли вы сказать мне, как вы будете уникальным образом обращаться к этому ПК, на котором я печатаю, который находится в локальной частной сети, откуда вы находитесь, если ранее не было установлено соединение? А что если вы хотите вместо этого обратиться к компьютеру рядом с этим?
SevenSidedDie
@DanielB Конечно, это не причина. Вопрос ОП: Разве все компьютеры не могут быть подключены к единой сети и использовать IP-адреса для связи? Мой ответ предоставляет информацию о тот вопрос, а не вы гипотетический Вопрос, который будет звучать так: «Почему мы используем MAC-адреса в модели Ethernet?». Так как он / она спрашивает, почему мы не можем просто используйте IP, есть мой ответ. Пожалуйста, в следующий раз внимательно прочитайте перед голосованием :)
tfrascaroli