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

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

Насколько я знаю, маршрутизатор все равно знает, когда IP-адрес должен выходить в Интернет из-за его маски подсети, это правильно?

2 ответа2

1

Как вы, возможно, знаете, MAC-адреса и IP-адреса существуют на разных уровнях схемы ISO/OSI или набора TCP/IP. Убедитесь, что вы понимаете концепции этих слоев.

Обратите внимание, что основная причина, по которой мы используем уровни IP и ссылки, является исторической. Это в основном потому, что IP-адреса 1) динамические и 2) гораздо удобнее в обращении. Вот интересная недавняя статья, которая проливает больше света на эту историю. Конечно, это могло бы быть по-другому, но Интернет развивался десятилетиями, и большую часть времени он должен был быть обратно совместимым, поэтому мы не могли придумать лучший дизайн с самого начала.

Вы спрашиваете, почему мы все еще используем MAC-адрес для обмена данными между устройствами в одной локальной сети? Так как:

  1. это единственный способ, которым вы можете однозначно обратиться к устройству, подключенному к той же линии (например, Ethernet)
  2. все коммуникации должны пройти через канальные (MAC) в любом случае

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

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

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

0

Это потому, что если спроектирован Ethernet. Для начала, пожалуйста, поймите, что Ethernet может (и до появления интернета часто использовал) другие протоколы.

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

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

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