Вопрос: Каково точное использование MAC-адреса?


Я понимаю, что IP-адреса являются иерархическими, так что маршрутизаторы по всему Интернету знают, в каком направлении пересылать пакет. С MAC-адресами нет иерархии, и, таким образом, пересылка пакетов невозможна. Таким образом, MAC-адреса не используются для передачи пакетов.

Я не думаю, что он сидит там без причины. Итак, мой вопрос: где именно MAC-адрес вступает в игру во время пакетной передачи?


122


Источник




Ответы:


TL; DR> MAC-адреса являются низкоуровневым компонентом сети Ethernet (и некоторыми другими аналогичными стандартами, такими как WiFi). Они позволяют устройству связываться с машиной в локальной физической сети (LAN) и не могут быть маршрутизированы через Интернет, потому что физическое оборудование может быть теоретически подключено в любой точке мира.

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

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

Если бы мы когда-либо находили лучший стандарт, чем IP (например, IPv6, если все адреса IPv4 закончились), большинство аппаратных средств Ethernet могло переносить новый вид трафика без изменений - и простое обновление программного обеспечения / прошивки исправило бы большинство остальных.

MAC-адреса необходимы для локальной сети (или Wi-Fi). Они позволяют сетевому устройству привлекать внимание одного напрямую подключенного устройства, даже если физическое соединение является общим. Это может быть важно, когда тысячи устройств соединены вместе в рамках одной организации. Они не выполняют никакой функции в более широком Интернете.

Чтобы действительно понять ответ на этот вопрос, вам нужно понять Модель OSI (иногда называемая 7-слойной),

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

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

Вместо этого проблема сетевого взаимодействия была разделена на слои, и каждый слой знал, как говорить с соответствующим слоем на удаленной машине, и как взаимодействовать со слоем ниже (а иногда и выше) его на своей локальной машине. Он ничего не знал о каких-либо других слоях на месте - так что вашему веб-браузеру не нужно заботиться о том, работает ли он на машине, использующей кольцо токенов, сеть Ethernet или Wi-Fi, и определенно не нужно знать, какое оборудование удаленная машина использует.

Чтобы сделать эту работу, 7-слойная модель использует систему скорее как вложенные конверты; приложение создает свои данные и переносит их в конверт для операционной системы. ОС обертывает это в другой конверт и передает его сетевому драйверу. Драйвер сети обертывает это в еще один конверт и помещает его в физический кабель. И так далее.

Нижний слой, слой 1, является физическим уровнем. Это слой проводов и транзисторов и радиоволн, и на этом слое связь в основном представляет собой поток одних и нов. Данные идут повсюду, что физически связано. Вы подключаете сетевой порт своего компьютера к коммутатору с помощью кабеля CAT-5.

Уровень 2 является каналом данных. Это обеспечивает некоторую структуру тем и качеств, некоторые возможности обнаружения ошибок и коррекции, а также некоторые указания о том, какое физически подключенное устройство (физические соединения здесь могут фактически быть более Wi-Fi) должно обратить внимание на сообщение. Это слой, в который входят MAC-адреса, и мы вернемся к нему позже. Но MAC-адреса - это не единственная возможность на этом уровне. Например, сети Token Ring нуждаются в другой реализации линии передачи данных.

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

Слои 4-7 являются протоколами более высокого уровня. Они становятся все дальше от аппаратного обеспечения и ближе к приложению. TCP, например, находится поверх IP и предоставляет механизмы, которые автоматически отправляют сообщения, когда они пропадают.

Таким образом, MAC-адреса работают на уровне 2 и позволяют двум машинам, физически связанным друг с другом, отправлять сообщения, которые будут игнорироваться другими машинами, которые имеют одинаковое физическое соединение.

Предположим, у меня есть приложение, которое хочет отправить некоторые данные на компьютер с IP-адресом 8.8.8.8

Слой 3 завершает данные в конверте, который содержит, помимо прочего, IP-адрес 8.8.8.8, а затем передает его на уровень 2.

Уровень 2 смотрит на этот IP-адрес и решает, к какой машине, к которой он напрямую подключен, способен справиться с этим сообщением. Он будет иметь таблицу поиска выбора непосредственно подключенных IP-адресов вместе с соответствующим MAC-адресом сетевой карты на этом компьютере. Эта таблица поиска построена с использованием протокола ARP, который позволяет сетевой карте задавать вопросы другим напрямую подключенным устройствам. Ethernet резервирует специальный MAC-адрес, FF: FF: FF: FF: FF: FF, который позволяет устройству разговаривать с все физически подключенные устройства.

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

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

Маршрутизатор отмечает свой собственный MAC-адрес в конверте слоя 2 и открывает пакет уровня 2. Он смотрит на IP-адрес на конверте уровня 3 и работает там, где должно идти сообщение, которое, вероятно, будет маршрутизатором вашего интернет-провайдера. Если маршрутизатор использует NAT (или аналогичный), он может даже изменить конверт уровня 3 в этот момент, чтобы сохранить внутренние внутренние IP-адреса. Затем он обернет конверт уровня 3 в новый конверт уровня 2, который адресован MAC-адресу маршрутизатора ISP и отправит там сообщение.

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

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

Но все это работает, почти как волшебство!

Обратите внимание, что сетевые коммутаторы могут использовать MAC-адреса для оптимизации потока сетевого трафика. В то время как концентратор ethernet просто перенаправляет весь входящий трафик на все его порты, напротив, коммутатор может перенаправлять трафик только на один порт, к которому подключен MAC-адрес назначения пакета. Это увеличивает эффективную пропускную способность сети; путем ориентации на определенные порты, коммутатор избегает перенаправления трафика на ненужные сегменты сети. Коммутатор будет использовать ARP или пакетное обнюхивание, чтобы определить, какие устройства подключены к этому порту. Переключатели полностью игнорируют содержимое пакетов уровня 2.


55



Здравствуй! Спасибо за ответ. Насколько я читал, ваш ответ лучший. Было бы замечательно, если бы вы могли включить в свой сценарий еще несколько концепций, таких как ARP и NAT. - Vishnu Vivek
Добавлена ​​ссылка на ARP и сетевые коммутаторы. Я не думаю, что NAT имеет какое-либо отношение к MAC-адресам, будучи функцией уровня 3 ... - Bill Michell
@BillMichell: В IPv6 для составления IP-адреса может использоваться MAC или другой локальный («hardware») ID. - Luciano
Ответ - сообщество Wiki. Возможно, вы можете отредактировать его, указав эту дополнительную информацию, если считаете, что это поможет ответить на вопрос ОП. - Bill Michell
Для этого требуется TL; DR. - AJMansfield


Для чего используются MAC-адреса?

MAC-адреса - это основы низкого уровня, которые делают вашу локальную сеть на основе сети Ethernet. Local означает, что сетевые устройства либо напрямую подключаются через кабель, либо через Wi-Fi или через сетевой концентратор или сетевой коммутатор.

Сетевые карты имеют уникальный MAC-адрес. Пакеты, которые отправляются в ethernet, всегда поступают с MAC-адреса и отправляются на MAC-адрес. Если сетевой адаптер принимает пакет, он сравнивает MAC-адрес назначения пакета с собственным MAC-адресом адаптера. Если адреса совпадают, пакет обрабатывается, в противном случае он отбрасывается.

Существуют специальные MAC-адреса, например ff: ff: ff: ff: ff: ff, который является широковещательным адресом и адресует каждый сетевой адаптер в сети.

Как IP-адреса и MAC-адреса работают вместе?

IP - это протокол, который используется на слое выше ethernet. Другим протоколом, например, будет IPX. IP позволяет подключать различные локальные сети и тем самым формировать корпоративную сеть или глобальный Интернет.

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

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

Поскольку ethernet использует MAC-адреса, отправителю необходимо получить MAC-адрес следующего перехода. Существует специальный протокол ARP (протокол разрешения адресов), который используется для этого. После того как отправитель восстановил MAC-адрес следующего перехода, он записывает целевой MAC-адрес в пакет и отправляет пакет.

Как работает ARP?

ARP сам по себе является протоколом выше ethernet, например IP или IPX. Когда устройство хочет узнать MAC-адрес для заданного IP-адреса, он отправляет пакет на широковещательный MAC-адрес с запросом «Кто имеет IP-адрес y.y.y.y?» Все устройства получают этот пакет, но только тот, у которого есть IP-адрес y.y.y.y, ответит пакетом «Это я». Запрошенное устройство получает ответ и теперь знает, что MAC-адрес источника является правильным MAC-адресом для использования. Конечно, результат будет кэшироваться, поэтому устройству не нужно каждый раз разрешать MAC-адрес.

маршрутизация

Я почти забыл упомянуть: нет маршрутизации на основе MAC-адресов. Низкоуровневые Ethernet-адреса и MAC-адреса могут достигать только каждого устройства на одна и та же сети (проводной или беспроводной). Если у вас есть две сети с маршрутизатором между вами, вы не можете иметь устройство в сети. A отправьте пакет на MAC-адрес устройства в сети B. Ни одно устройство в сети A не имеет MAC-адрес устройства в сети B, поэтому пакет на этот MAC-адрес будет отброшен всеми устройствами в сети A (также маршрутизатором).

Маршрутизация выполняется на уровне IP. Просто видно, что маршрутизатор просто выполняет то, что я описал выше, в разделе «Как работают IP-адреса и MAC-адреса?». Маршрутизатор получит пакеты для своего собственного MAC-адреса, но для другого IP-адреса. Затем он проверяет, может ли он напрямую достичь целевого IP-адреса. Если это так, он отправляет пакет цели. В противном случае сам маршрутизатор также настроен на восходящий маршрутизатор и отправит пакет на этот маршрутизатор.

Конечно, вы можете настроить несколько маршрутизаторов. На вашем домашнем маршрутизаторе будет настроен только один маршрутизатор, но в магистрали Интернета большие маршрутизаторы имеют большие таблицы маршрутизации, чтобы они знали наилучшие способы для всех пакетов.

Другие варианты использования для MAC-адресов

  1. Сетевые коммутаторы хранят список MAC-адресов, видимых на каждом порту, и только пересылают пакеты в порты, которые должны видеть пакет.

  2. Беспроводные точки доступа часто используют MAC-адреса для контроля доступа. Они разрешают доступ только для известных устройств (MAC-адрес уникален и идентифицирует устройства) с правильной кодовой фразой.

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


114



+1 для фактического ответа на вопрос таким образом, что люди, которые еще не знают ответа, могут понять. - fluffy
Я не могу не почувствовать желание создать удивительную инфографику / диаграмму, так как взаимодействие MAC / IP довольно интересно! - NRGdallas
приятный ответ просто детали: MAC-адреса также используются для не-Ethernet-устройств, и вы описывали, как правило, для любого уровня данных, используемого с IP-стеком - kriss
Стоит отметить, что Wi-Fi MAC: пока они в общем уникальные и Можно использоваться для идентификации устройств, их легко обмануть и отправить в ясность по воздуху. Если в соединении нет другого шифрования / аутентификации или если другие механизмы (механизмы шифрования / аутентификации) слабы (например: WEP), это очень тривиальным для злоумышленника выдавать себя за авторизованное устройство и подключаться к сети. - Iszi
лучшее объяснение! - minigeek


MAC-адрес (адрес управления доступом к среде передачи данных) в общем случае является идентификатором устройств в сети. Таким образом, каждая сетевая карта (контроллер сетевого интерфейса, найденная в маршрутизаторе, ПК, сетевом принтере, сервере и т. Д.) Имеет MAC-адреса. На некоторых серверах имеется более одной сетевой карты и поэтому имеет несколько MAC-адресов. MAC-адрес составляет 6 байтов (6 октетов). Слева - это самый старший байт и правый младший байт. Как вы можете видеть на рисунке ниже, первые 3 байта являются Организационно уникальный идентификатор, Это указывает на производителя, который сделал это устройство.

Вот список Организационно уникальный идентификатор: Standards.ieee.org 

Вот альтернатива вышесказанному: MAC-Vendor-Lookup

Несколько примеров известных известных производителей:

  • 00-05-5D (D-Link Systems Inc.)
  • 00-09-5B (Netgear Inc.)
  • 00-E0-4C (Realtek Semiconductor Corp.)
  • 00-E0-4F (Cisco Systems Inc.)
  • 00-E0-64 (Samsung Electronics)

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

Поскольку pjc50 правильно указал MAC-адрес в сети Ethernet, коммутаторы решают, какой пакет отправить туда. Существует также широковещательный-MAC-адрес. ff: ff: ff: ff: ff: ff используется для широковещательного-MAC-адреса. Обратите внимание, что MAC-адрес можно изменить, поэтому будьте осторожны, используя его как определенный идентификатор устройства! MAC-адрес также используется с протоколом ARP (протокол разрешения адресов). Итак, как это работает, ПК A отправляет ARP-запрос на ПК B со своим IP-адресом, MAC-адресом, IP-адресом получателя и указанным выше широковещательным адресом (ff: ff: ff: ff: ff : и далее). После этого ПК B проверяет, был ли пакет отправлен ему или нет. Если да, то ПК B отправляет свой собственный MAC-адрес, IP-адрес, MAC-адрес получателя и IP-адрес получателя. Другие устройства отбрасывают пакет.

Оба ПК A и B обычно сохраняют успешное соединение в так называемом ARP-кэше. Способ сохранения подключения к компьютеру отличается от устройства к устройству. Если вы не знаете IP-адрес, вы можете получить IP-адрес с протоколом разрешения обратного адреса (RARP). При RARP устройство связывается с центральным клиентом и запрашивает его для IP-адреса. Но этот метод вряд ли используется в наши дни.

Следующие технологии используют формат идентификатора MAC-48:

  • Ethernet
  • Беспроводные сети 802.11
  • блютуз
  • IEEE 802.5 Token Ring
  • большинство других сетей IEEE 802
  • FDDI
  • ATM (только виртуальные виртуальные соединения, входящие в NSAP-адрес) Fibre Channel и Serial Attached SCSI (как часть всемирного имени)

47



Точнее, чем «каждое устройство (...) имеет MAC-адреса»., каждая сетевая карта имеет  MAC-адрес, (Не учитывайте возможность настройки пользовательского MAC-адреса.) Не все принтеры имеют встроенные сетевые карты, и на многих серверах имеется более одной сетевой карты и, следовательно, более одного MAC-адреса. - Michael Kjörling
Позволяет сказать, что PC-1 отправляет пакет на ПК-2. Теперь коммутатор только считывает MAC-адрес ПК-1 и сохраняет его в таблицу. Если вам нужна дополнительная информация о том, как это работает, прочитайте следующее: Как работают коммутаторы LAN :) - Meintjes
Еще один момент заключается в том, что MAC-адрес - это то, как NIC решает, что отказаться и что отправить процессору для обработки. Кадр Ethernet, встречающийся на проводе, имеет MAC-адрес назначения XOR'd с MAC-адресом NIC, и если результатом является все 0, то это кадр, предназначенный для этого сетевого адаптера. - bbayles
-1: Вопрос спрашивает, как используются MAC-адреса, а не MAC-адрес. Единственная часть вашего ответа, которая решает этот вопрос, - это список пулей в конце, и это не очень подробно. - Kevin
Фотография взята из Википедии: en.wikipedia.org/wiki/File:MAC-48_Address.svg, изображения, лицензированные в рамках творческого сообщества, должны быть приписаны их авторам при их использовании. - Étienne


Oни находятся используется для пакетной передачи: в сети Ethernet есть несколько устройств, а MAC-адрес указывает, какое устройство должно принимать пакет. Коммутаторы Ethernet будут использовать его для выбора порта для отправки входящего пакета.


24



Может быть интересно отметить, что Ethernet первоначально был средой шины, где все машины физически совместно использовали один и тот же носитель (это все еще верно для беспроводных сетей). Так логично это работает так. - LawrenceC
и все еще верно для сетей, которые все еще используют концентраторы :) - Doon
в дальнейшем коммутаторы - это всего лишь средство (действительно широко распространенное с локальными сетями RJ-45), мы можем и можем иметь IP-сети без них (используя концентраторы или 802.11) - kriss


Забудьте об иерархии в этом случае, это не очень важная проблема.

MAC-адрес - это адреса для уровня 2 (уровень связи) в моделях ISO / OSI или TCP / IP. IP-адреса от уровня 3 (сетевой уровень) в тех же моделях.

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

Пакеты - это данные уровня 3, обычно IP-пакеты. Они перемещаются по одной или нескольким доменам конфликтов. IP-адреса - это адреса в этом домене.

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


7





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

Если у вас есть несколько компьютеров, подключенных к коммутатору, и им не понадобится трафик с другими сетями / Интернетом через маршрутизатор, вам действительно не нужно запускать IP-адрес. Конечно, приложение должно было бы реализовать или предоставить свой собственный протокол выше уровня 2, поскольку почти все операционные системы и приложения предполагают, что вы всегда хотите использовать TCP / IP.

Всегда помните, что «Интернет» в IP означает «межсетевое взаимодействие», что означает, что он действительно связан с получением трафика между сетей больше, чем в сеть, хотя, очевидно, она может быть (и есть) использована для этого тоже.


6



Первый абзац - идеальный ответ! Осветительный! - Milind R


MAC-адрес используется для физического переноса. Адаптер ethernet ничего не знает об IP. Таким образом, адаптер ethernet использует MAC-адрес для адресации получателя пакета данных.

Если адаптер ethernet знает что-нибудь об IP, мы должны обновить все наши прошивки, чтобы перейти на новый протокол (например, IPv4 на IPV6).

Также MAC-адрес содержит некоторую информацию о нем производителя.


6



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


Он используется, когда протокол ARP (протокол разрешения адресов) для IPv4 или протокол NDP (протокол обнаружения соседних абонентов) для IPv6 преобразует IP-адреса в MAC-адреса, чтобы определить, к какому уникальному хосту должны быть отправлены фреймы.


5



Это довольно близко, но это не распространяется на все использование. Вот как MAC относится к TCP / IP, но MAC используется гораздо больше, чем просто. Это первый ответ, который я не даю -1, хотя (работая со дна страницы вверх). - Mark Henderson
@Mark Henderson Спасибо за критику. Ну, я просто попытался ответить на вопрос How MAC addresses were used in packet transfer и затем я предположил, что он находится на уровне Ethernet. И да, это простой ответ, но я отвечаю на уровне, который подходит моему уровню :) - Jesper Jensen


Чтобы выполнить другие ответы, я бы добавил, что MAC-адрес еще более критичен для маршрутизаторов, чем для коммутаторов. Что я имею в виду под более критический что коммутаторы действительно не нужны для существования сети IP. Я смотрю на 20 лет назад (до RJ-45). Локальные IP-сети работали отлично без коммутаторов. Немаршрутизированные сетевые сети просто соединяли устройства по одному и тому же кабелю (например, смотрите технологию X base-T ethernet).

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

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

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

Вы также должны заметить, что MAC-адреса обычно означает в настоящее время либо MAC-48 (адрес физического устройства), либо EUI-48 (адрес логического устройства), либо даже 8-байтовые адреса EUI-64, используемые в больших сетях. Исторически MAC был изобретен технологией Xerox для Ethernet, а затем повторно использован для других технологий сетевого транспорта (802.11, Bluetooth, FibreChannel, BlueTooth), необходимых для идентификации устройства.

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

Некоторые другие типы идентификаторов узлов устройств существуют для не IP-стеков. Например, X.25 не полагается на MAC-адреса, а на виртуальные каналы, установленные для каждого соединения, или ATM-устройства идентифицируются в сетях ATM с использованием SNPA. Но ни X.25, ни ATM не являются IP-стеками (и даже ATM использует формат MAC-адресов как часть своей SNA, приблизительный эквивалент IP-адреса для ATM).


3



Маршрутизаторы не заботятся о MAC-адресах. Они заботятся о назначении подсети для каждого из своих, по крайней мере, 2 сетевых адаптеров, но не совсем о MAC-адресах. Они перенаправляют (то есть копируют) трафик с одного IP на другой, а не с IP на MAC или что-то в этом роде. - LawrenceC
@ultrasawblade, ваше заявление абсурд, Если маршрутизатор подключен к сети Ethernet, он должен обмениваться данными по протоколу Ethernet. IP-пакеты будут инкапсулированы в Ethernet-Frame. Это означает, что знание MAC-адресов всех ** напрямую Ethernet-хостов ** абсолютно необходимо. Устройство уровня 3 магически не взаимодействует только по протоколу уровня 3, оно должно инкапсулировать протокол уровня 3 в протокол уровня 2, который затем передается по среде уровня 1. - Zoredache
Я не согласен с вашим первым предложением - они не «более критичны» для маршрутизаторов, чем коммутаторы - все они одинаково важны во всей сети Ethernet. - Mark Henderson
Вы можете заменить базовый слой 2 чем-то совершенно другим (хотя я не знаю, что), и IP будет по-прежнему работать одинаково. Протокол IP (уровень 3) не волнует, если отдельные узлы адресуются под MAC или какой-либо другой схемой. Конечно, необходимо поддерживать IP-сопоставление MAC, но трудно понять, действительно ли ARP «принадлежит» к уровню 3 или уровню 2. Точка - это протокол уровня 2, который не должен быть Ethernet, а IP не заботится / нужно знать, что такое протокол уровня 2. - LawrenceC
@Mark Henderson: как я состарился, я помню время, когда вокруг не было никаких переключателей. Они не являются действительно критическим элементом оборудования. IP-сети могут работать без коммутаторов. Коммутаторы просто использовали существующий формат сети передачи данных. Если в настоящее время они повсеместно распространены, это является следствием технологии RJ с двухточечной технологией, заменяющей старые шины. Другими словами: MAC-адреса не были изобретены для обеспечения работы коммутаторов. С другой стороны, IP-сети были изобретены для целей маршрутизации, поэтому отношение MAC к IP является критическим. - kriss


Вспомните дни предварительного переключения (концентраторы).

Если люди являются компьютерами, то MAC-адрес - это их имя.

Притворяться, что многие люди (компьютеры) имеют один и тот же телефонный звонок. В то же время все говорят.

Вы (один компьютер) слышите ВСЕ эту болтовню, но вы не знаете, что вам следует слушать, пока кто-то не скажет ваше имя (ваш MAC-адрес) в начале предложения (пакета).

"FRED, THERE IS ICE CREAM!"

Конечно, вы также слушаете предложения, отправленные на широковещательный адрес, Просто подумайте, что кто-то кричит,

"EVERYONE, THERE IS ICE CREAM!"

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

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


2



Вам не нужно вспоминать дни до переключения. MAC-адреса живы и понятны и используются в каждом отдельном пакете, который выходит из адаптера Ethernet Cегодня, прямо сейчас. - Mark Henderson
Очень верно. Но это помогает с аналогией. И сетевые карты по-прежнему ведут себя одинаково. - Randy James


MAC-адрес необходим, поскольку к «шине» (сети Ethernet) подключено несколько адресов. Отправитель должен иметь возможность идентифицировать получателя, а также идентифицировать себя с получателем.

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

I2C, PCI, Ethernet, вы называете это.

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


2