Теперь, когда у нас есть IP-адрес, зачем нам MAC-адрес? В чем разница между ними? Я наконец понял это после углубленного анализа!
Теперь, когда у нас есть IP-адрес, зачем нам MAC-адрес? В чем разница между ними? Я наконец понял это после углубленного анализа!

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

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

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

поэтому,в сетевом общении,Очень важно использовать два разных типа адресов: IP-адрес и MAC-адрес.

Определение и формат IP-адреса и MAC-адреса

IP-адрес

IPInternet Protocol)даИнтернет-протоколаббревиатура,Это протокол, определяющий, как сетевые устройства взаимодействуют в Интернете. IP-протокол, определение логического адреса,Прямо сейчасIP-адрес,Используется для уникальной идентификации сетевого устройства в Интернете.

В настоящее время существуют две версии протокола IP.,соответственнодаIPv4иIPv6

IPv4Internet Protocol version 4)да В настоящее время наиболее распространениспользовалIPВерсия протокола,он использует32 битдвоичное число, обозначающееIP-адрес,Обычно отображается в десятичной форме с точками.,Например, 192.168.1.1.

одинIPv4Адрес состоит из двух частей:Номер сетииномер хоста

  • Номер сети указывает сеть, к которой принадлежит устройство.,
  • номер хост представляет номер устройства в сети.

Сетевые номера разной длины могут быть разделены на разные уровни сетей, например, класс A, класс B, класс C и т. д. Чтобы удобно представлять номера сетей различной длины, в IPv4 введена концепция маски подсети, которая представляет собой 32-битное двоичное число, в котором бит, соответствующий номеру сети, равен 1, а бит, соответствующий номеру хоста, равен 0. Например, 255.255.255.0 — это маска подсети, указывающая, что первые 24 цифры — это номер сети, а последние 8 цифр — номер хоста.

IPv6Internet Protocol version 6)дачтобы решитьIPv4решить проблему истощенияидизайнизновое поколениеIPВерсия протокола,он использует128 битдвоичное число, обозначающееIP-адрес,Обычно отображается в дробной шестнадцатеричной форме.,Например, 2001:db8::1.

одинIPv6Адрес состоит из двух частей:префиксиидентификатор интерфейса

  • префикс указывает сеть или подсеть, к которой принадлежит устройство,
  • идентификатор Интерфейс представляет номер устройства в сети или подсети.

IPv6 не имеет номера сети или номера хоста фиксированной длины. Вместо этого он использует длину префикса (длину префикса), чтобы указать, сколько бит занимает префикс. Например, 2001:db8::1/64 означает, что первые 64 бита — это префикс, а последние 64 бита — идентификатор интерфейса.

MAC-адрес

MACMedia Access Control)даконтроль доступа к медиааббревиатура,этодаусловиеканальный уровень Протокол доступа к физическим средам (таким как кабели, оптоволокно и т. д.) для передачи данных. Определение протокола MAC физический адрес,Прямо сейчасMAC-адрес,Используется для уникальной идентификации сетевой карты или другого сетевого устройства в локальной сети. Существует много типов протоколов MAC.,Одним из наиболее распространенных является протокол Ethernet.

Использование протокола Ethernet48 битдвоичное число, обозначающееMAC-адрес,Обычно отображается в дробной шестнадцатеричной форме.,Например, 00-16-EA-AE-3C-40. MAC-адрес Ethernet состоит из двух частей: OUI и NICI.

  • OUI(Organizationally Unique Identifier) ​​— уникальный идентификатор организации, занимающий первые 24 бита и представляющий собой номер производителя сетевой карты или другого сетевого устройства.
  • NICI(Network Interface Card Identifier) ​​— идентификатор сетевой карты, занимающий последние 24 бита и представляющий собой серийный номер, присвоенный сетевой карте или другому сетевому устройству производителем.

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

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

IP-адрес

IPПротокол работает всетевой уровень(OSIТретий слой модели),Он отвечает за инкапсуляцию данных в пакеты.,И выполнять маршрутизацию и переадресацию на основе целевого IP-адреса. Когда один хост хочет отправить данные на другой хост,Ему необходимо знать IP-адрес целевого хоста -адрес.,и записывает его в заголовок пакета. Далее согласно таблице маршрутизации (routing таблице), выберите соответствующий следующий переход (следующий hop), то есть следующий маршрутизатор или другое сетевое устройство, которое пересылает пакет данных и отправляет его.

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

MAC-адрес

MACПротокол работает вканальный уровень(OSIВторой слой модели),Он отвечает за инкапсуляцию данных в кадры (frame),И адресуется и передается согласно целевому MAC-адресу. Когда один хост хочет отправить данные на другой хост,Ему необходимо знать MAC целевого хоста -адрес.,и записывает его в заголовок кадра. Затем в соответствии с характеристиками физической среды (например, кабели, оптические волокна и т. д.),Отправьте рамку.

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

Итак, как же один хост получает MAC-адрес другого хоста?

Для этого необходимо использоватьARPAddress Resolution Protocol)протокол,Это протокол получения MAC-адреса на основе IP-адреса. Принцип работы и процесс протокола ARP заключаются в следующем:

  • Когда хост хочет отправить данные другому хосту, он сначала проверяет свою собственную таблицу кэша ARP (ARP cache),Проверьте, существует ли соответствующая связь между IP-адресом и MAC-адресом целевого хоста. если есть,Затем напрямую используйте MAC-адрес, чтобы инкапсулировать кадр и отправить его.
  • Если нет, вам необходимо инициировать запрос ARP (ARP request),Трансляция специального кадра в локальную сеть,Содержит свой IP-адрес и MAC-адрес.,И IP-адрес целевого хоста. MAC-адрес назначения кадра — широковещательный адрес FF-FF-FF-FF-FF-FF.,Указывает, что все устройства должны получить кадр.
  • Все устройства в локальной сети получат кадр запроса ARP.,И судите сами, исходя из целевого IP-адреса. если не я,затем отбросьте рамку,И добавить IP-адрес и MAC-адрес отправителя в собственную таблицу кэша ARP. если это я,Затем ответьте ответом ARP (ответ ARP).,Одноадресная передача специального кадра отправителю,Содержит свой IP-адрес и MAC-адрес.,и IP-адрес отправителя. MAC-адрес назначения кадра — MAC-адрес отправителя.
  • После получения отправителем кадра ответа ARP,Просто знайте MAC-адрес целевого хоста,И добавьте его в собственную таблицу кэша ARP. Этот MAC-адрес затем можно использовать для инкапсуляции кадра и его отправки.

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

Предположим следующую топологию:

в:

  • Хост A: IP — 10.0.0.1, MAC — 00-16-EA-AE-3C-40.
  • Хост B: IP — 10.0.0.2, MAC — 00-16-EA-AE-3C-41.
  • Хост C: IP — 10.0.0.3, MAC — 00-16-EA-AE-3C-42.
  • Маршрутизатор R1: IP-адрес интерфейса Fa0/0 — 10.0.0.254, MAC — 00-16-EA-AE-3C-43.
  • Маршрутизатор R2: IP-адрес интерфейса Fa0/0 — 10.1.0.254, MAC — 00-16-EA-AE-3C-44.
  • Сервер S: IP — 10.1.0.1, MAC — 00-16-EA-AE-3C-45.

Теперь предположим, что хост A хочет отправить пакет данных на сервер S. Полный процесс выглядит следующим образом:

1) Хост A обнаруживает, что целевой IP-адрес не находится в том же сегменте сети, что и он сам, и маршрутизатор должен перенаправить его.

2)Проверьте таблицу маршрутизации Получить IP-адрес и исходящий интерфейс R1 (с которого отправляется сетевая карта),Проверьте таблицу ARPНет соответствующей записи

3) Инициировать запрос ARP. IP-адрес назначения — R1, MAC-адрес назначения — широковещательный MAC (FF:FF:FF:FF:FF:FF), а IP-адрес источника и MAC-адрес источника — это IP и MAC хоста A. сетевая карта.

4) R1 получает запрос ARP, добавляет IP и MAC хоста A в свою собственную таблицу кэша ARP и отвечает на запрос ARP хоста A своим собственным IP и MAC.

5) Хост A получает ответ ARP, добавляет IP-адрес и MAC-адрес R1 в свою собственную таблицу кэша ARP, использует свой собственный IP-адрес и MAC в качестве источника, IP-адрес сервера S и MAC-адрес R1 в качестве пункта назначения, инкапсулирует кадр данных и пересылает его на R1 (в этот момент IP-адрес источника кадра данных — хост A, IP-адрес назначения — сервер S, MAC-адрес источника — хост A, а MAC-адрес назначения — R1)

6) R1 получает кадр данных, проверяет таблицу маршрутизации на основе IP-адреса назначения и обнаруживает, что R2 необходимо переслать. Он проверяет таблицу ARP, но соответствующей записи нет. Используйте свой собственный IP-адрес и MAC в качестве источника, IP-адрес назначения — R2, а MAC-адрес назначения широковещательно передается для отправки запроса ARP и отбрасывает кадр данных с хоста A.

7) R2 получает запрос ARP, добавляет IP и MAC маршрутизатора R1 в свою собственную таблицу кэша ARP и отвечает на запрос ARP хоста R2 своим собственным IP и MAC.

8) R1 получает ответ ARP и добавляет IP-адрес и MAC-адрес R2 в свою собственную таблицу кэша ARP.

9) Хост A обнаруживает тайм-аут и повторно отправляет кадр данных.

10) R1 получает кадр данных,Проверьте таблицу маршрутизации,Должен быть перенаправлен R2,Проверьте таблицу ARP,Получите MAC-адрес для R2. Измените исходный MAC-адрес кадра данных на себя.,Измените MAC-адрес назначения на R2.,И пересылаем кадр данных на R2 (в это время исходным IP-адресом кадра данных является хост A).,IP-адрес назначения – сервер S.,Исходный MAC-адрес — R1.,MAC назначения — R2)

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

12) Сервер S получает запрос ARP, добавляет IP-адрес и MAC-адрес R2 в свою собственную таблицу кэша ARP и отвечает на запрос ARP хоста R2, используя свой собственный IP-адрес и MAC-адрес.

13) R2 получает ответ ARP и добавляет IP и MAC сервера S в свою собственную таблицу кэша ARP.

14) Хост A обнаруживает тайм-аут и повторно отправляет кадр данных.

15) R1 получает кадр данных,Проверьте таблицу маршрутизации,Должен быть перенаправлен R2,Проверьте таблицу ARP,Получите MAC-адрес для R2. Измените исходный MAC-адрес кадра данных на себя.,Измените MAC-адрес назначения на R2.,и переслать кадр данных на R2

16) R2 получает кадр данных,Проверьте таблицу маршрутизации,Должно быть перенаправлено сервером S,Проверьте таблицу ARP,Получите MAC-адрес сервера S. Измените исходный MAC-адрес кадра данных на себя.,Измените MAC-адрес назначения на сервер S.,И пересылаем кадр данных на сервер S (в это время исходным IP-адресом кадра данных является хост A).,IP-адрес назначения – сервер S.,Исходный MAC-адрес — R2.,

Разница между IP-адресом и MAC-адресом

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

  1. определение:IP-адресда Используется для идентификации сетиизоборудование,MAC-адрес используется для идентификации сетевого адаптера (NIC).
  2. уникальность:IP-адресв сетидаиметьуникальностьиз,Но будут повторы по всему миру. А MAC-адрес уникален во всем мире.
  3. Метод распространения:IP-адрес Зависит отISPраспространять,А MAC-адрес назначается производителем сетевого адаптера (NIC).
  4. Сценарии использования:IP-адресдаиспользуется для реализацииInternetначальствоизпередача данных,MAC-адрес используется для реализации передачи данных внутри локальной сети.
  5. длина:IP-адресда32 битное двоичное число, а MAC-адрес равен 48 бит Двоичное число.

Кроме того, есть и другие отличия:

  1. IP-адрес можно изменить,И MAC-адрес изменить нельзя.
  2. IP-адрес иерархичен и сегментирован.,Его можно настроить в соответствии с потребностями сети. И MAC-адрес исправлен,Невозможно отрегулировать.
  3. IP-адресов может быть несколько, но MAC-адрес только один.
  4. IP-адрес может выделяться динамически,MAC-адрес обычно выделяется статически.

Подвести итог

IP-адрес и MAC-адрес — очень важные понятия в компьютерных сетях. Хотя у них разные роли и сферы применения.,нодаони之间存在着密切изассоциация。в сетевом общении,И IP-адрес, и MAC-адрес играют жизненно важную роль. поэтому,Изучение и понимание IP-адреса и MAC-адреса очень важно для понимания и решения проблем сетевой связи. в то же время,Понимание IP-адреса и MAC-адреса также помогает нам лучше защитить сетевую безопасность.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose