Зачем нужна трансляция IP-адресов в MAC-адреса?


9

Почему в сетях, использующих протокол TCP / IP, IP-адрес преобразуется в MAC-адрес?

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

Ответы:


18

Основное отличие состоит в том, что IP-адрес используется IP, который является сетевым протоколом, а MAC-адрес используется Ethernet протоколом канального уровня (2). IP может работать по разным протоколам уровня 2, поэтому он не включает функциональность «доступа к среде». Вы можете запускать IP через последовательные линии, Ethernet, DSl, ISDN и т. Д.

Например, DHCP предоставляет динамические IP-адреса через Ethernet; DHCP-серверу нужен MAC-адрес, чтобы он мог назначить IP-адрес ПК.


2
+1 Это действительно ключевой вопрос. IP может работать на разных физических уровнях. Разные физические уровни требуют разной физической адресации. MAC - это адрес, используемый Ethernet. Есть и другие протоколы на основе Ethernet, которые не используют IP, включая BootP, DUX и IPX. Один и тот же физический Ethernet может также обрабатывать IPv4 и IPv6 одновременно. Но в итоге все доставляется на MAC по Ethernet.
Роб Нейпир

Также важно понимать, что в разное время вы будете видеть разные произведения. Ваш компьютер может получить пакет от кого-то, на что он должен ответить, и еще не знает его MAC (mac, который он видит, будет от ближайшего подключаемого устройства, но это не важно), и ему нужно arp или наоборот и Rarp. Или есть имя хоста, но нужен Mac или ..... любое количество различных конфигураций и комбинаций протоколов
PsychoData


4

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

Это обсуждалось в эпизоде ​​№ 29 подкаста Security Now ( транскрипция HTML ).

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

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


Почему MAC-адреса не могут быть такими же умными, как IP, и реализованы таким образом, чтобы они были иерархически организованы? Были ли они просто небрежны или есть ограничение, которое делает это невозможным?
Pacerier

2
MAC-адреса назначаются производителями оборудования, и они понятия не имеют, где будут развернуты сетевые устройства и в какой конфигурации. Есть много сайтов (таких как этот ), которые позволяют вам идентифицировать производителя сетевых карт по MAC-адресу.
Даг Харрис

Хороший аргумент (и объяснение, спасибо!)
Pacerier

3

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

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


3

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

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


3

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

Другими словами, они служат разным целям. Один для определения того, кто вы (SSN, MAC), а другой для определения того, как с вами связаться (номер телефона, IP-адрес).

Кроме того, можно связаться с кем-то по телефону, если у него нет SSN (например, в другой стране), точно так же, как можно связаться с кем-то в Интернете, если у него нет MAC (другого типа канального уровня). , Различные канальные уровни имеют разные методы идентификации адресатов и источников пакетов данных.


1

IP либо определяется в операционной системе или в программном обеспечении драйвера для сетевой карты, или дается вам в вашей сети, и может изменяться динамически. MAC является идентификатором для вашей сетевой карты, то есть аппаратное обеспечение. Между ними нет отношения 1: 1.


0

Вы не знаете MAC-адрес stackoverflow.com, потому что он не находится в вашей локальной сети. MAC-адреса используются в качестве идентификатора для следующего перехода в цепочке. «IP» просто используется в протоколе, в котором есть подсказка, в каком направлении следует отправлять ваш пакет (какой шлюз использовать дальше).


0

Поскольку MAC-адреса необходимы для связи на канальном уровне (IP-адреса используются на один уровень выше на IP-уровне).


0

Давайте возьмем пример

Если вы подадите заявку на работу в компании ... они дадут вам это, не зная вашей личности? конечно нет .... так что ваше настоящее удостоверение личности - это Mac-адрес

и когда вы присоединяетесь к компании, они дают другой идентификатор сотрудника для связи между сотрудниками этой компании ... это IP-адрес.

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


Так я могу изменить свою настоящую личность? : P Но это не совсем ответ, просто метафора, которая
выглядит

0

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


-3

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.