Найти в Дзене

Что такое ARP? База

Оглавление

ARP (Address Resolution Protocol) - протокол канального уровня, чья главная задача - найти физический (MAC) адрес устройства по известному логическому (IP) адресу в пределах одной локальной сети (сегмента L2)

-Ваш ПК 192.168.1.10 хочет отправить данные другому ПК в той же сети 192.168.1.20

-Ваш ПК знает IP-адрес цели (192.168.1.20), как вы знаете имя человека в большом офисе.

-Но сетевая карта вашего ПК и коммутатора в сети для доставки кадров использует MAC-адреса, как почтальон в офисе использует номер кабинета.

ARP - это тот самый "процесс", который позволяет вашему компьютеру "кричать" в сети: "Эй, кто здесь 192.168.1.2? Отзовись и скажи свой MAC-адрес!"

Как работает ARP? (Процесс разрешения адреса)

Процесс состоит из двух сообщений: ARP Request (запрос) и ARP Reply (ответ). Рассмотрим на классическом примере.

Участники:

  • Host A (Запросчик): IP = 192.168.1.10, MAC = AA:AA:AA:AA:AA:AA
  • Host B (Цель): IP = 192.168.1.20, MAC = BB:BB:BB:BB:BB:BB
  • Коммутатор: Соединяет все устройства в сети.

Шаг 1: Проверка кэша (ARP Table)
Прежде чем что-то делать, Host A проверяет свою ARP-таблицу. Нет ли там уже записи для 192.168.1.20? Если есть — отлично, можно сразу отправлять данные. Если нет — переходим к шагу 2.

Шаг 2: ARP Request (Запрос)
Host A создает
ARP-запрос. Это широковещательный кадр (Broadcast Frame), который увидят все устройства в локальной сети.

  • Заголовок кадра:
    MAC назначения:
    FF:FF:FF:FF:FF:FF (широковещательный адрес).
    MAC источника: AA:AA:AA:AA:AA:AA (MAC Host A).
  • Данные ARP-пакета:
    Sender MAC Address:
    AA:AA:AA:AA:AA:AA
    Sender IP Address: 192.168.1.10
    Target MAC Address: 00:00:00:00:00:00 (неизвестен, поэтому нули).
    Target IP Address: 192.168.1.20

По сути, этот пакет говорит: "Устройство с IP 192.168.1.10 и MAC AA:AA:AA:AA:AA:AA ищет устройство с IP 192.168.1.20. Ответьте, пожалуйста, своим MAC-адресом!"

Коммутатор получает этот широковещательный кадр и отправляет его на все свои порты, кроме того, откуда он пришел.

Шаг 3: Получение и обработка запроса
Все устройства в сети получают этот ARP-запрос. Каждое устройство смотрит на поле "Target IP Address" (192.168.1.20).

  • Host C, Host D и другие: Видят, что это не их IP-адрес, и игнорируют пакет.
  • Host B: Видит, что это его IP-адрес (192.168.1.20). Он понимает, что его разыскивают.

Шаг 4: ARP Reply (Ответ)
Host B формирует
ARP-ответ. Это unicast-кадр, который отправляется напрямую обратно Host A.

  • Заголовок кадра:
    MAC назначения:
    AA:AA:AA:AA:AA:AA (MAC Host A).
    MAC источника: BB:BB:BB:BB:BB:BB (MAC Host B).
  • Данные ARP-пакета:
    Sender MAC Address:
    BB:BB:BB:BB:BB:BB
    Sender IP Address: 192.168.1.20
    Target MAC Address: AA:AA:AA:AA:AA:AA
    Target IP Address: 192.168.1.10

Пакет говорит: "Привет, Host A! Я тот, кого ты ищешь. Мой IP 192.168.1.20, а мой MAC-адрес BB:BB:BB:BB:BB:BB."

Коммутатор узнает MAC Host A из кадра и отправляет ответ только на его порт.

Шаг 5: Обновление ARP-таблицы
Host A получает ответ от Host B. Он извлекает из пакета пару IP -> MAC (192.168.1.20 -> BB:BB:BB:BB:BB:BB) и
записывает ее в свою ARP-таблицу.

Теперь Host A знает MAC-адрес Host B и может отправлять ему данные напрямую, без дополнительных ARP-запросов (пока запись в таблице не устареет).

ARP-таблица (ARP Cache)

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

Структура типичной записи в ARP-таблице:

-2
  • IP Address: Известный IP-адрес.
  • MAC Address: Соответствующий ему физический адрес.
  • Type (Flags): Указывает тип записи. Чаще всего C (Complete) — запись полная и проверенная. Может быть I (Incomplete) — запрос отправлен, но ответ еще не получен.
  • Interface: Сетевой интерфейс, через который доступно это устройство.

Просмотр ARP-таблицы:

  • В Windows: arp -a
  • В Linux/macOS: arp -n или ip neigh (более современная команда).

Пример вывода в Windows:

-3

Важные особенности ARP-таблицы:

  1. Динамические записи: Создаются автоматически в результате ARP-запроса. Имеют время жизни (TTL), обычно 2-20 минут. После истечения TTL запись удаляется, и для следующего пакета потребуется новый ARP-запрос.
  2. Статические записи: Добавляются вручную администратором (arp -s в Windows). Они постоянны и не имеют TTL. Используются для критически важных устройств (например, маршрутизаторов по умолчанию) или для защиты от ARP-спуфинга.

Резюме

  • Назначение ARP: Связывает IP-адрес (логический, уровень 3) с MAC-адресом (физический, уровень 2) в локальной сети.
  • Принцип работы: Широковещательный запрос ("Кто это?") и unicast-ответ ("Это я!").
  • ARP-таблица: Локальный кэш для хранения результатов ARP-запросов, чтобы не выполнять их каждый раз.
  • Важность: Без ARP была бы невозможна доставка данных между устройствами в одной Ethernet-сети, так как коммутаторы оперируют MAC-адресами.

Уязвимость: ARP не имеет встроенной аутентификации. Злоумышленник может отправить поддельный ARP-ответ (ARP-spoofing/poisoning), чтобы "притвориться" другим устройством и перехватывать трафик. Для борьбы с этим используются методы вроде статических ARP-записей или защитные механизмы на коммутаторах (Dynamic ARP Inspection).

#cisco #ccna #сетевыетехнологии