Причина как для MAC, так и для IP-адреса

Если на моем компьютере есть IP-адрес, зачем ему нужен MAC-адрес?

17 голосов | спросил user1369975 22 ndEurope/Moscowp30Europe/Moscow09bEurope/MoscowSun, 22 Sep 2013 18:35:28 +0400 2013, 18:35:28

9 ответов


11

, не входя в модель OSI, уровень TCP и т. д.:

Вовремя созданы сети: некоторые компьютеры будут общаться друг с другом, чтобы поделиться чем-то. Чтобы сделать это, им нужно знать , кто говорил, и с кем разговаривали. Итак, вместо того, чтобы давать каждому компьютеру имя, мы дали им идентификатор. Этот идентификатор называется MAC-адресом, должен однозначно идентифицировать каждый компьютер.

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

Не было уникальной спецификации того, как компьютеры будут разговаривать друг с другом: появилось много протоколов: TCP /IP, IPX /SPX и т. д. В каждом протоколе указывались бы те вещи, которые, как они считали, были в порядке. Например, IPX /SPX будет обращаться к каждому компьютеру с использованием MAC-адреса и некоторой дополнительной информации.

Но протокол TCP /IP был разработан несколько иначе: они решили, что иметь виртуальный адрес, состоящий из 4 байтов (от 0.0.0 до 255.255.255.255), было достаточно, и было еще проще в управлении: Если ваши сетевые карты имеют одинаковый MAC-адрес или нет, мы сгруппируем наш компьютер так, чтобы весь TCP /IP-адрес, который начинался с 10.0.xx входят в состав инженерной группы, а 10.1.x.x. являются принтеры и ...

Итак, если TCP /IP-адрес должен взаимодействовать с другим, просто используется TCP /IP-адрес. Но сетевые устройства должны знать, к какой сетевой карте это сообщение идет, поэтому они каким-то образом преобразуют TCP /IP-адрес с MAC-адресом.

Почему просто устранить MAC и использовать только TCP /IP?

некоторые причины:

  • легко группировать TCP /IP-адреса,
  • все устройства построены так, чтобы заботиться о MAC-адресе, в этом требовании низкого уровня, и его нужно будет изменить.
  • несмотря на то, что большинство из них (я думаю: -P), некоторые другие протоколы все еще используются, и они полагаются на MAC-адрес.
ответил woliveirajr 23 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 23 Sep 2013 18:43:24 +0400 2013, 18:43:24
23

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

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

ответил Teun Vink 22 ndEurope/Moscowp30Europe/Moscow09bEurope/MoscowSun, 22 Sep 2013 20:24:40 +0400 2013, 20:24:40
16

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

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

Чтобы попытаться простую иллюстрацию, рассмотрите заголовки L2 /L3, когда пакет переходит от исходного IP (sIP) к IP-адресу назначения (dIP), а MAC-адреса источника и назначения переписываются по пути - fs = first- source и ld = last-destination, а r1-r3 - маршрутизаторы:

fsMAC-r1MAC /sIP-dIP
r1MAC-r2MAC /sIP-dIP
r2MAC-r3MAC /sIP-dIP
r3MAC-ldMAC /sIP-dIP

Любые задействованные коммутаторы L2 не будут изменять MAC-адреса.

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

ответил generalnetworkerror 23 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 23 Sep 2013 11:03:06 +0400 2013, 11:03:06
13

Нет ничего физического, чтобы остановить вас от проектирования сети, которая имеет только IP-адрес для L2 и L3. Затем «Ethernet-коммутатор» узнает SIP-адрес входящих пакетов и наводят или переходят в DIP-адрес.

Однако эта сеть будет поддерживать IP только тогда, когда появится следующее поколение IPvX, это не сработает, поскольку «коммутатор Ethernet» не может поддерживать этот протокол. Вы также не могли запускать различные другие протоколы, такие как IPX и AppleTalk, или какой-либо новый протокол, который вы разрабатываете и тестируете в своем доме.

Уровни абстракции увеличивают скорость разработки и стимулируют инновации, поскольку вам не нужно перестраивать весь дом, чтобы изменить окно.

Теперь вы могли бы запускать те же сетевые коммутаторы и переносить свою сеть между IPX и IPv4 на IPv6, не касаясь вашей локальной сети вообще.

ответил ytti 23 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 23 Sep 2013 10:31:08 +0400 2013, 10:31:08
2

IP-адрес и MAC-адрес служат для разных (но важных) целей:

MAC-адрес получает кадр от одной сетевой платы к следующей. IP-адрес получает пакет с одного компьютера на сервер

Так что дано следующее:

Source Computer <---> RouterA <---> RouterB <---> Целевой сервер

То, что направляет пакет в «Источник» к «Целевому назначению», - это IP-адрес. Но что получает пакет от исходного компьютера до RouterA, а затем от RouterA до RouterB, а затем от RouterB до Destination - это MAC-адреса.

Вы можете увидеть взаимосвязь в этом Иллюстрация:

 Пакетное перемещение - как пакеты перемещаются через Интернет - pracnet.net/pt

ответил Eddie 14 MarpmFri, 14 Mar 2014 19:05:17 +04002014-03-14T19:05:17+04:0007 2014, 19:05:17
1

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

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

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

ответил LawrenceC 30 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 30 Sep 2013 19:11:43 +0400 2013, 19:11:43
0

Чтобы быть как можно более простым:

A Адрес Mac - это физический или виртуальный адрес вашей сетевой карты или сетевого интерфейса. С компьютера с точки зрения сети это физический адрес NIC-карты этого компьютера. Он используется для передачи информации на этот компьютер на уровне 2 модели OSI.

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

В тандеме используются IP-адреса и Адреса Mac . Протокол разрешения адресов используется для связывания двух вместе путем разрешения IP-адресов на Адреса Mac на уровне ссылки в пределах одной сети.

Вы также можете проверить здесь для более подробного объяснения.

ответил HAL 10 MarpmMon, 10 Mar 2014 17:46:27 +04002014-03-10T17:46:27+04:0005 2014, 17:46:27
-2

MAC-адрес представляет собой аппаратные компоненты, которые он собирает, он является постоянным, а разные системы в нашей сети, производимые разными поставщиками, имеют очень разный набор макросов, так что их сложно организовать как network.but, используя ip-адреса, мы можем организовать устройств в нашей сети в arange, которые являются одновременными адресами. Также мы не можем отправлять наши mac-добавления во внешние сети

ответил sunnychen 1 +04002013-10-01T20:24:33+04:00312013bEurope/MoscowTue, 01 Oct 2013 20:24:33 +0400 2013, 20:24:33
-2

Начнем с того, что это очень хороший вопрос, касающийся основных сетевых фондов. Суть вашего вопроса в том, что нам не нужен MAC-адрес, чтобы достичь возможности подключения. Теоретически, сеть может быть построена только с использованием IP-адресов! Однако из-за использования такой схемы могут возникнуть некоторые практические трудности. Если вы планируете вручную назначать IP-адрес для каждого сетевого устройства, вы можете избежать крупных ошибок. Однако, если вам нужно автоматически назначать IP-адреса, например, когда слишком много узлов сети для ручного администрирования, то нет способа убедиться, что каждому узлу выделен ровно один IP-адрес или заданное количество из них, поскольку вы не может сказать один из другого, если только объект распределения адресов не может однозначно и однозначно идентифицировать запрашивающее устройство, например по его MAC-адресу, который считается уникальным для любого устройства в локальной сети. Такое неидентифицируемое устройство может повторно запрашивать дополнительные IP-адреса и, в конечном итоге, нанести ущерб сетевой жизнеспособности. Вернемся к теме, все, что вам нужно для создания сети только для IP-сетей, - это позволить каналу передачи данных сетевого интерфейса через любой кадр данных, который он получает, непосредственно на уровень сети, независимо от любого типа сопоставимого адреса MAC, где он может фильтроваться в соответствии с его IP-адресом назначения, а не фильтроваться на уровне данных. Чтобы проиллюстрировать эту концепцию, предположим, что сеть устанавливается путем соединения портов UART RS-232: устройства UART не имеют MAC-адресов или любого другого уникального идентификатора, хотя вы можете построить локальную сеть с использованием UART и IP-адресов в том числе и для установки правильных драйверов UART. Надеюсь, что этот отрывок дал вам некоторые идеи по этому вопросу.

ответил Turing 2 MaramSun, 02 Mar 2014 06:02:30 +04002014-03-02T06:02:30+04:0006 2014, 06:02:30

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132