Как вы, возможно, знаете, MAC-адреса и IP-адреса существуют на разных уровнях схемы ISO/OSI или набора TCP/IP. Убедитесь, что вы понимаете концепции этих слоев.
Обратите внимание, что основная причина, по которой мы используем уровни IP и ссылки, является исторической. Это в основном потому, что IP-адреса 1) динамические и 2) гораздо удобнее в обращении. Вот интересная недавняя статья, которая проливает больше света на эту историю. Конечно, это могло бы быть по-другому, но Интернет развивался десятилетиями, и большую часть времени он должен был быть обратно совместимым, поэтому мы не могли придумать лучший дизайн с самого начала.
Вы спрашиваете, почему мы все еще используем MAC-адрес для обмена данными между устройствами в одной локальной сети? Так как:
- это единственный способ, которым вы можете однозначно обратиться к устройству, подключенному к той же линии (например, Ethernet)
- все коммуникации должны пройти через канальные (MAC) в любом случае
Вы должны понимать, что из-за многоуровневой модели связи вы можете обращаться только к конечной точке на том же уровне, на котором работает ваш протокол. Например, TCP-соединение может адресовать только удаленный сервер с определенным IP-адресом и номером порта. В то же время TCP не принимает решения о том, как работает базовая IP-маршрутизация. Другими словами, TCP не заботится о том, как протокол IP обрабатывает данные своего соединения, и не способен управлять им. То же самое относится и к протоколу IP: он не может решить, куда физически отправлять данные, но это не обязательно, потому что есть уровень MAC.
Протокол IP действительно используется для уникальной адресации определенного устройства в вашей сети, но когда коммутатору необходимо решить, куда на самом деле физически отправлять данные (или самому устройству, когда оно имеет кэш MAC-адресов), его необходимо преобразовать. тот IP-адрес к MAC-адресу, которому был назначен этот IP-адрес.
С огромным адресным пространством, которое предлагает IPv6, вы можете утверждать, что MAC-адреса больше не нужны, потому что IPv6 предлагает и динамическое назначение, и вы можете гарантировать, что все назначенные адреса уникальны - но по нескольким причинам (как объяснено в статье, на которую я ссылался выше), это не то, с чем мы работаем сегодня.