Что такое arp записи

Что такое ARP? Объясняем на пальцах

Powered by модель OSI

ARP-протокол

Многие называют его протоколом «2,5 уровня»: ARP должен работать поверх уровня ethernet (это условие выполняется), но поверх ARP должен работать хотя бы один протокол сетевого уровня. Однако в ARP не инкапсулируется ни один из протоколов третьего уровня модели OSI. Таким образом получается подобие уровня 2.5, что-то среднее между канальным и сетевым.

Что за ARP-таблица?

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

Здесь можно обратить внимание на широковещательный адрес ( broadcast ). Поле «адрес назначения Ethernet» заполняется единицами ( ff:ff:ff:ff:ff:ff ). Коммутатор, получив такой широковещательный фрейм, отправляет его всем компьютерам сети, как бы обращаясь ко всем с вопросом: «если Вы владелец этого ip адреса (ip адреса назначения), пожалуйста сообщите мне Ваш mac адрес».

Как это работает?

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

Наглядно:

Итак. у нас есть два ПК1 и ПК2. Придумаем им IP и MAC-адрес

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

Давайте из ПК1 запустим команду Ping

ping 192.168.1.2
Pinging 192.168.1.2 with 32 bytes of data:
Reply from 192.168.1.2: bytes=32 time=15ms TTL=57
Reply from 192.168.1.2: bytes=32 time=15ms TTL=57
Reply from 192.168.1.2: bytes=32 time=14ms TTL=57
Reply from 192.168.1.2: bytes=32 time=17ms TTL=57

Ping statistics for 192.168.1.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 14ms, Maximum = 17ms, Average = 15ms

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

Это очень краткое и поверхностное изложение протокола ARP — далеко не все аспекты работы лежат на поверхности. Дальше — самостоятельная работа. Stay Tuned!

Источник

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

В семиуровневой модели OSI на различных уровнях имеются разные типы адресов. На канальном это MAC-адрес, а на сетевом это IP-адрес. И для того чтобы установить соответствие между этими адресами используется протокол Address Resolution Protocol – ARP. Именно о нем мы поговорим в этой статье.

Полный курс по Сетевым Технологиям

В курсе тебя ждет концентрат ТОП 15 навыков, которые обязан знать ведущий инженер или senior Network Operation Engineer

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

Адресация

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

Чтобы устройства могли общаться друг с другом, когда они не находятся в одной сети MAC-адрес должен быть сопоставлен с IP-адресом. Для этого сопоставления используются следующие протоколы:

Address Resolution Protocol

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

Проще всего работу ARP иллюстрирует эта картинка:

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

Первый компьютер отправляет broadcast сообщение всем в широковещательном домене с запросом “У кого IP-адрес 10.10.10.2? Если у тебя, то сообщи свой MAC-адрес” и на что компьютер с этим адресом сообщает ему свой MAC.

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

Кэширование ARP

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

Статические и динамические записи в кеше ARP

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

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

Динамическая маршрутизация использует протоколы, которые позволяют устройствам в сети обмениваться информацией таблицы маршрутизации друг с другом. Таблица строится и изменяется автоматически. Никакие административные задачи не требуются, если не добавлен лимит времени, поэтому динамическая маршрутизация более эффективна, чем статическая маршрутизация.

Устройства, которые не используют ARP

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

Inverse ARP

Inverse ARP (InARP), который по умолчанию включен в сетях ATM, строит запись карты ATM и необходим для отправки одноадресных пакетов на сервер (или агент ретрансляции) на другом конце соединения. Обратный ARP поддерживается только для типа инкапсуляции aal5snap. Для многоточечных интерфейсов IP-адрес может быть получен с использованием других типов инкапсуляции, поскольку используются широковещательные пакеты.

Reverse ARP
Proxy ARP

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

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

Proxy ARP вызывается следующими условиями:

Когда proxy ARP отключен, устройство отвечает на запросы ARP, полученные на его интерфейсе, только если IP-адрес назначения совпадает с его IP-адресом или если целевой IP-адрес в ARP-запросе имеет статически настроенный псевдоним ARP.

Serial Line Address Resolution Protocol

Serial Line ARP (SLARP) используется для последовательных интерфейсов, которые используют инкапсуляцию High Link Level Link Control (HDLC). В дополнение к TFTP-серверу может потребоваться сервер SLARP, промежуточное (промежуточное) устройство и другое устройство, предоставляющее услугу SLARP. Если интерфейс напрямую не подключен к серверу, промежуточное устройство требуется для пересылки запросов сопоставления адреса на сервер. В противном случае требуется напрямую подключенное устройство с сервисом SLARP.

Полный курс по Сетевым Технологиям

В курсе тебя ждет концентрат ТОП 15 навыков, которые обязан знать ведущий инженер или senior Network Operation Engineer

Источник

Что такое arp записи

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

Рассмотрим суть функционирования ARP на простом примере. Компьютер А (IP-адрес 10.0.0.1) и компьютер Б (IP-адрес 10.22.22.2) соединены сетью Ethernet. Компьютер А желает переслать пакет данных на компьютер Б, IP-адрес компьютера Б ему известен. Однако сеть Ethernet, которой они соединены, не работает с IP-адресами. Поэтому компьютеру А для осуществления передачи через Ethernet требуется узнать адрес компьютера Б в сети Ethernet (MAC-адрес в терминах Ethernet). Для этой задачи и используется протокол ARP. По этому протоколу компьютер А отправляет широковещательный запрос, адресованный всем компьютерам в одном с ним широковещательном домене. Суть запроса: «компьютер с IP-адресом 10.22.22.2, сообщите свой MAC-адрес компьютеру с МАС-адресом (напр. a0:ea:d1:11:f1:01)». Сеть Ethernet доставляет этот запрос всем устройствам в том же сегменте Ethernet, в том числе и компьютеру Б. Компьютер Б отвечает компьютеру А на запрос и сообщает свой MAC-адрес (напр. 00:ea:d1:11:f1:11) Теперь, получив MAC-адрес компьютера Б, компьютер А может передавать ему любые данные через сеть Ethernet.

Наибольшее распространение ARP получил благодаря повсеместности сетей IP, построенных поверх Ethernet, поскольку практически в 100 % случаев при таком сочетании используется ARP. В семействе протоколов IPv6 ARP не существует, его функции возложены на ICMPv6.

Источник

Что такое протокол определения адреса (ARP)?

Протокол определения адреса (ARP) — это протокол или процедура, которая соединяет постоянно изменяющийся адрес интернет-протокола (IP) с фиксированным физическим адресом оборудования, также известным как адрес контроля доступа к медиаинформации (MAC), в локальной сети (LAN).

Эта процедура сопоставления важна, потому что длина IP- и MAC-адресов различается, и требуется преобразование, чтобы системы могли распознавать друг друга. Сегодня наиболее часто используемым IP-адресом является IP-версия 4 (IPv4). IP-адрес имеет длину 32 бита. Однако MAC-адреса имеют длину 48 бит. ARP преобразует 32-битный адрес в 48-битный и наоборот.

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

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

Как работает ARP?

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

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

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

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

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

Какова функциональная разница между ARP, DHCP и DNS?

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

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

IP-адреса важны как идентификационные данные для компьютеров, поскольку они необходимы для поиска в интернете. При поиске доменного имени или унифицированного указателя ресурса (URL) пользователи используют алфавитное имя. Компьютеры, с другой стороны, используют числовой IP-адрес, чтобы связать доменное имя с сервером. Для их подключения сервер системы доменных имен (DNS) используется для преобразования IP-адреса из непонятной цепочки чисел в более читаемое, легко узнаваемое доменное имя и наоборот.

Каковы типы ARP?

Существуют различные версии и примеры использования ARP. Давайте рассмотрим несколько из них.

Proxy ARP

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

Самообращенные запросы ARP

Самообращенные запросы ARP похожи на административную процедуру, выполняемую хостом в сети для простого объявления или обновления его IP-адреса на MAC-адрес. Самообращенные запросы ARP не вызваны запросом ARP на преобразование IP-адреса в MAC-адрес.

Протокол разрешения обратного адреса (RARP)

ост-компьютеры, которые не знают свой собственный IP-адрес, могут использовать протокол разрешения обратного адреса (RARP) для обнаружения.

Обратный ARP (IARP)

В то время как ARP использует IP-адрес для поиска MAC-адреса, IARP использует MAC-адрес для поиска IP-адреса.

Почему ARP необходим?

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

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

Если ARP не поддерживается, можно вводить данные в этот каталог вручную.

Что такое спуфинг ARP/отравление ARP?

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

Атаки спуфинга ARP могут оказаться опасными, поскольку конфиденциальная информация может передаваться между компьютерами без ведома жертвы. Спуфинг ARP также позволяет использовать другие формы кибератак, включая:

Атаки посредника (MITM)

Атака посредника (MITM) — это вид подслушивания, при котором злоумышленник перехватывает, передает и изменяет сообщения между двумя сторонами, которые не знают, что третья сторона вовлечена в кражу информации. Злоумышленник может попытаться контролировать и манипулировать сообщениями одной из сторон или обеих сторон для получения конфиденциальной информации. Поскольку эти типы атак используют сложное программное обеспечение для имитации стиля и тона разговоров, в том числе и те, которые основаны на тексте и голосе, атаку MITM сложно перехватить и предотвратить.

Атака MITM происходит при распространении вредоносного ПО и получении контроля над веб-браузером жертвы. Сам браузер не важен для злоумышленника, но данные, которыми жертва делится, очень важны, потому что они могут включать имена пользователей, пароли, номера учетных записей и другую конфиденциальную информацию, передаваемую в чатах и онлайн-обсуждениях.

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

Атаки типа «отказ в обслуживании»

Атака типа «отказ в обслуживании» (DoS) — это атака, при которой злоумышленник пытается перегружать системы, серверы и сети трафиком, чтобы пользователи не могли получить к ним доступ. Масштабная DoS-атака известна как распределенная атака типа «отказ в обслуживании» (DDoS), при которой для заполнения системы трафиком используется гораздо большее количество источников.

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

Перехват сеанса

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

Проверка подлинности происходит, когда пользователь пытается получить доступ к системе или войти на сайт или веб-сервис с ограниченным доступом. Идентификатор сеанса хранится в cookie-файле в браузере, злоумышленник перехватывает процесс аутентификации и вмешивается в работу в режиме реального времени.

Как Fortinet может помочь

Управление доступом к сети (NAC) Fortinet обеспечивает улучшенную видимость сети, чтобы предотвращать постоянно меняющиеся угрозы. NAC — это часть модели доступа к сети с нулевым доверием для обеспечения безопасности, в которой доверие не относится к пользователям, приложениям или устройствам, независимо от того, подключены они к сети или нет, но должно быть установлено.

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

Источник

ARP: Нюансы работы оборудования Cisco и интересные случаи. Часть 1

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

Привет habr! Каждый будущий инженер в процессе изучения сетевых технологий знакомится с протоколом ARP (Address Resolution Protocol, далее ARP). Основная задача протокола – получить L2 адрес устройства при известном L3 адресе устройства. На заре профессиональной карьеры начинающий специалист, как мне кажется, редко сталкивается с ситуациями, когда нужно вспомнить про существование ARP. Создаётся впечатление, что ARP – это некоторый автономный сервис, не требующий никакого вмешательства в свою работу, и при появлении каких-либо проблем со связью многие по неопытности могут забыть проверить работу ARP.

Я помню свой порядок мыслей, когда я начинал работать сетевым инженером: «Так, интерфейс поднялся, ошибок по физике вроде как не видно. Маршрут, куда слать пакеты, я прописал. Списков доступа никаких нет. Так почему же не идёт трафик? Что маршрутизатору ещё не хватает?» Рано или поздно каждый сетевой инженер столкнётся с проблемой, причина которой будет лежать именно в особенностях работы/настройки ARP на сетевом оборудовании. Простейший пример: смена шлюза на границе сети (например, вместо сервера MS TMG устанавливаем маршрутизатор). При этом конфигурация маршрутизатора была проверена заранее в лабораторных условиях. А тут, при подключении к провайдеру никакая связь не работает. Возвращаем MS TMG — всё работает. Куда смотреть после проверки канального и физического уровня? Наиболее вероятный ответ – проверить работу ARP.

В данной заметке я не буду подробно описывать принципы работы ARP и протоколов этого семейства (RARP, InARP, UnARP и т.д.). На эту тему уже существует уйма статей в Интернете (например, здесь не плохо описаны разновидности ARP). Единственный теоретический момент, на котором я заострю чуть больше внимания, – механизм Gratuitous ARP (GARP).

Статья будет состоять из двух частей. В первой части будет немного теории и особенности работы ARP на маршрутизаторах Cisco, связанные с правилами NAT и с функцией Proxy ARP. Во второй части опишу отличия в работе ARP между маршрутизаторами Cisco и межсетевыми экранами Cisco ASA, а также поделюсь несколькими интересными случаями из практики, связанными с работой ARP.

Ниже представлен пример обмена ARP-запросом/ARP-ответом в программе-сниффере Wireshark:

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

ARP-запрос отправляется на широковещательный MAC-адрес ff:ff:ff:ff:ff:ff. В теле ARP-запроса поле с неизвестным значением Target MAC Address заполняется нулями.

ARP-ответ отправляется на MAC-адрес получателя, отправившего ARP-запрос. В поле Sender MAC Address указывается запрашиваемый MAC-адрес устройства.

Поле opcode в заголовке ARP может принимает значение 1 для ARP-запроса и значение 2 для ARP-ответа.

Чтобы два устройства могли начать передавать трафика между собой, в их ARP-таблицах должна существовать соответствующая запись о соседнем устройстве. Логично предположить, чтобы ARP-запись появилась в таблицах, для каждого устройства должна отработать процедура ARP-запрос/ARP-ответ. То есть перед передачей трафика в сети должны пройти по два ARP-запроса и два ARP-ответа (ARP-запрос/ARP-ответ для первого компьютера и ARP-запрос/ARP-ответ для второго компьютера). Однако, данное предположение верно не для всех случаев. Сетевое оборудование Cisco добавляет новую запись в ARP-таблицу сразу по приходу ARP-запроса от удалённого устройства.

Рассмотрим пример. В широковещательный домен добавляется новое устройство с адресом 198.18.0.200. Запустим пинг с нового устройства и посмотрим debug arp на маршрутизаторе Cisco:

Как видно, сразу по пришествии ARP-запроса от неизвестного IP-адреса (rcvd req src 198.18.0.200), маршрутизатор создаёт соответствующую запись в своей ARP-таблице (creating entry for IP address: 198.18.0.200, hw: 64e9.50c8.d6cd).

Для текущей статьи я не проводил подробного исследования по вопросу, какое именно сетевое оборудование добавляет ARP-запись по пришествии ARP-запроса. Однако, предполагаю, описанное поведение присуще не только сетевому оборудованию Cisco, но и сетевому оборудованию других производителей, так как данный механизм позволяет существенно сократить ARP-трафик в сети.

Описанное поведение присуще сетевому оборудованию. Конечное оборудование в большинстве случаев, получает запись в ARP-таблицу только после полноценной процедуры ARP-запрос/ARP-ответ. Для примера, я проверил процедуру на компьютере с операционной системой Windows 7. Ниже представлен дамп ARP-пакетов. В данном примере был очищен arp-cache на маршрутизаторе Cisco и на Windows-компьютере. После этого был запущен пинг от маршрутизатора к компьютеру.

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

Из представленного дапма видно, что сперва маршрутизатор отправляет ARP-запрос и получает ARP-ответ. Но ARP-запрос от маршрутизатора не приводит к появлению требуемой записи в ARP-таблице Windows-компьютера, поэтому, в свою очередь, компьютер отправляет ARP-запрос и получает ARP-ответ от маршрутизатора.

Механизм Gratuitous ARP используется для оповещения устройств в рамках широковещательного домена о появлении новой привязки IP-адреса и MAC-адреса. Когда сетевой интерфейс устройства получает настройки IP (вручную или по DHCP), устройство отправляет Gratuitous ARP сообщение, чтобы уведомить соседей о своём присутствии. Gratuitous ARP сообщение представляет собой особый вид ARP-ответа. Поле opcode принимает значение 2 (ARP-ответ). MAC-адрес получается как в заголовке Ethernet, так и в теле ARP-ответа является широковещательным (ff:ff:ff:ff:ff:ff). Поле Target IP Address в теле ARP-ответа совпадает с полем Sender IP Address.

Механизм Gratuitous ARP используется для многих целей. Например, с помощью Gratuitous ARP можно уведомить о смене MAC-адреса или обнаружить конфликты IP-адресов. Другой пример — использование протоколов резервирования первого перехода (First Hop Redundancy Protocols), например, HSRP у Cisco. Напомню, HSRP позволяет иметь виртуальный IP-адрес, разделённый между двумя или более сетевыми устройствами. В нормальном режиме работы обслуживание виртуального IP-адреса (ответы на ARP-запросы и т.д.) обеспечивает основное устройство. При отказе основного устройства обслуживание виртуального IP-адреса переходит ко второму устройству. Чтобы уведомить о смене MAC-адреса ответственного устройства, как раз отправляется Gratuitous ARP-сообщения.

В примере ниже представлено Gratuitous ARP сообщение при включении сетевого интерфейса маршрутизатора с настроенным IP-адресов 198.18.0.1.

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

Если на маршрутизаторе настроен secondary IP-адрес, при переходе интерфейса в состояние UP будут отправлены Gratuitous ARP уведомления для каждого IP-адреса интерфейса. В примере ниже представлены Gratuitous ARP сообщения, отправляемые при включении интерфейса маршрутизатора с основным IP-адресом 198.18.0.1 и secondary IP-адресом 198.18.2.1.

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

Безусловно, маршрутизатор будет отвечать на ARP-запросы как для основного, так и для secondary IP-адреса.

Логично предположить, что как только устройство получает Gratuitous ARP, сразу добавляется новая запись в ARP-таблицу. Однако это не так. Если в таблице устройства отсутствовала ARP-запись, связанная с IP-адресом из Gratuitous ARP сообщения, новая запись добавлена не будет. При необходимости отправить трафик будет сформирован ARP-запрос и получен ARP-ответ. Только после этой процедуры новая запись добавится в ARP-таблицу.

Пример на маршрутизаторе Cisco. Включим debug arp и подключим в широковещательный домен новое устройство с адресом 198.18.0.200. До подключения нового устройства ARP-таблица маршрутизатора выглядит следующим образом:

Включаем новое устройство с адресом 198.18.0.200. Получаем debug-сообщение о приходе Gratuitous ARP:

Новая запись не появилась. Делаем пинг до нового адреса:

Debug-сообщения показывают, что прошла процедура ARP-запрос/ARP-ответ. Проверяем ARP-таблицу:

Новая запись появилась.

ARP и NAT на маршрутизаторах Cisco

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

Примечание: для тестов использовался маршрутизатор C4321 с программным обеспечением 15.4(3)S3 и межсетевой экран Cisco ASA5505 c программным обеспечением 9.1(6)6.

Компьютер Wireshark с адресов 198.18.0.250 в нашем случае будет обозначать подключение к внешней сети (например, к Интернет-провайдеру). С помощью сниффера Wireshark будем просматривать обмен сообщениями ARP между маршрутизатором и компьютером.

Настройки интерфейсов маршрутизатора:

Добавим правило динамического NAT, чтобы транслировать адрес компьютера из LAN (192.168.20.5) во внутренний глобальный адрес 198.18.0.5 при обращении к компьютеру во вне (Wireshark). Добавим правило статического PAT для публикации TCP порта 3389 (RDP) компьютера из LAN под глобальным адресом 198.18.0.2.

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

Посмотрим ARP-таблицу на маршрутизаторе:

Видим, что в ARP-таблице присутствуют статические записи как для внешнего интерфейса маршрутизатора (198.18.0.1), так и для внутренних глобальных адресов из правил динамического и статического NAT.

Сделаем clear arp-cache на маршрутизаторе и посмотрим в Wireshark, какие Gratuitous ARP уведомления будут отправлены с внешнего интерфейса:

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

Как видно, маршрутизатор уведомил о готовности обслуживать адрес интерфейса, адрес из правила динамического NAT и адрес из правила статического NAT.

А теперь представим ситуацию, когда провайдер расширяет пул публичных адресов, выданных клиенту, за счёт другой подсети. Предположим, дополнительно к IP-подсети 198.18.0.0/24 на внешнем интерфейсе маршрутизатора мы получаем от провайдера новый пул 198.18.99.0/24 и хотим публиковать наши внутренние сервисы под новыми IP-адресами. Для наглядности приведу схему с провайдером:

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

Добавим правило статического PAT для публикации TCP порта 3389 (RDP) компьютера из LAN под новым глобальным адресом 198.18.99.2:

Если снова посмотреть ARP-таблицу маршрутизатора командой show arp, увидим, что статическая запись для IP-адреса 198.18.99.2 не добавилась.

Чтобы иметь возможность отправлять ARP-запросы в новую сеть 198.18.99.0/24 с компьютера Wireshark, расширим маску его сетевых настроек до 255.255.0.0 (/16). Напомню, для нашего примера компьютер Wireshark выступает в роли маршрутизатора Интернет-провайдера.

После ввода clear arp-cache сниффер по-прежнему показывает Gratuitous ARP только для трёх IP-адресов: 198.18.0.1, 198.18.0.2, 198.18.0.5. Для нового адреса 198.18.99.2 Gratuitous ARP не срабатывает. Попробуем открыть tcp-порт 3389 адреса 198.18.99.2 и одновременно посмотреть сниффер:

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

Неуспех. Проверим ARP-таблицу:

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

Настройка Proxy ARP на интерфейсе маршрутизатора:

Отключить Proxy ARP на всех интерфейсах маршрутизатора можно глобально:

Данная настройка имеет приоритет над настройками Proxy ARP, применёнными на интерфейсах.
Помимо команды ip proxy arp в настройках интерфейса существует команда ip local-proxy-arp. Данная команда работает только когда ip proxy arp включён на интерфейсе и позволяет маршрутизатору отвечать на ARP-запросы, даже если целевой IP-адрес находится в той же IP-подсети, откуда ARP-запрос поступил. Пример настройки:

Данная настройка может пригодится, если мы хотим, чтобы трафик в рамках одного широковещательного домена шёл через интерфейс нашего маршрутизатора. Данную задачу можно реализовать с использованием Protected port (PVLAN edge) настроек на L2-коммутаторе (switchport protected).

Включение Proxy ARP на внешнем интерфейсе маршрутизаторе позволит решить проблему с новым пулом адресов, выданных провайдером. Попробуем открыть tcp-порт 3389 адреса 198.18.99.2 после включения Proxy ARP на интерфейсе маршрутизатора и одновременно посмотреть сниффер:

Что такое arp записи. Смотреть фото Что такое arp записи. Смотреть картинку Что такое arp записи. Картинка про Что такое arp записи. Фото Что такое arp записи

Успех. Маршрутизатор отвечает на ARP-запрос и порт открывается. Таким образом, функциональность Proxy ARP также можно использовать при необходимости трансляции адресов в новый пул.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *