Что такое arp таблица. Протокол ARP. Продолжение преобразования адресов

Всем привет! Сегодня я расскажу, как посмотреть arp таблицу в Windows. Что такое arp - это протокол распознавания адреса, предназначен для преобразования IP-адресов в MAC-адреса, часто называемые также физическими адресами. Ранее я уже рассказывал, как выглядит arp таблица cisco . Думаю, что многим коллегам, кто только начинает знакомиться с сетевой инфраструктурой данной операционной системы, данная информация окажет хорошее подспорье, для формирования фундамента. Тут главное понимать принцип работы и назначения, все остальное уже нюансы различных вендоров.

Важной особенностью интерфейса Ethernet является то, что каждая интерфейсная карта имеет свой уникальный адрес. Каждому производителю карт выделен свой пул адресов в рамках которого он может выпускать карты. Согласно протоколу Ethernet, каждый интерфейс имеет 6-ти байтовый адрес. Адрес записывается в виде шести групп шестнадцатеричных цифр по две в каждой (шестнадцатеричная записи байта). Первые три байта называются префиксом, и именно они закреплены за производителем. Каждый префикс определяет 224 различных комбинаций, что равно почти 17-ти млн. адресам.

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

Как посмотреть arp таблицу

Вводим команду

Где вы слева видите ip адрес, а правее видите Физический адрес (mac адрес). Это и есть arp таблица windows.

По умолчанию данный кэш живет 300 секунд

очистка arp таблицы

Делается с помощью команды

И видим,произошла очистка arp таблицы

Как добавить свою запись в arp таблицу

Делается это с помощью команды

arp -s 157.55.85.212 00-aa-00-62-c6-09

Увеличиваем время жизни arp записи Windows 7 по 10

Давайте рассмотрим на примере Windows 8.1 как можно увеличить время жизни arp записей, для чего это может быть нужно, ну, чтобы разгрузить сеть лишним трафиком, если у вас в сети мало, что меняется. Делается это все через реестр Windows

Нажимаем Win+R и вводим regedit и переходим в ветку

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Тут вам для изменения периода хранения данных в кэше ARP, нужно создать Параметр DWORD, если у вас разрядность системы 32, то создаем 32, если 64, то такой же.

Задаем имя ArpCacheLife и ставим значение в секундах, после чего нужно перезагрузиться и у вас поменяется время жизни arp записи.

Вот полная справка команды arp

Отображение и изменение таблиц преобразования IP-адресов в физические,
используемые протоколом разрешения адресов (ARP).

ARP -s inet_addr eth_addr
ARP -d inet_addr
ARP -a [-N if_addr] [-v]

  • -a Отображает текущие ARP-записи, опрашивая текущие данные протокола. Если задан inet_addr, то будут отображены IP и физический адреса только для заданного компьютера. Если ARP используют более одного сетевого интерфейса, то будут отображаться записи для каждой таблицы.
  • -g То же, что и параметр -a.
  • -v Отображает текущие ARP-записи в режиме подробного протоколирования. Все недопустимые записи и записи в интерфейсе обратной связи будут отображаться.
    inet_addr Определяет IP-адрес.
  • -N if_addr Отображает ARP-записи для заданного в if_addr сетевого интерфейса.
  • -d Удаляет узел, задаваемый inet_addr. Параметр inet_addr может содержать знак шаблона * для удаления всех узлов.
  • -s Добавляет узел и связывает адрес в Интернете inet_addr с физическим адресом eth_addr. Физический адрес задается 6 байтами (в шестнадцатеричном виде), разделенных дефисом. Эта связь является постоянной eth_addr Определяет физический адрес.
  • if_addr - Если параметр задан, он определяет адрес интерфейса в Интернете, чья таблица преобразования адресов должна измениться. Если параметр не задан, будет использован первый доступный интерфейс.

RARP

Reverse ARP, обратный ARP протокол служит для того, чтобы по имеющемуся MAC адресу узнать IP адрес. Этот протокол используется в бездисковых машинах (https://ru.wikipedia.org/wiki/Бездисковая_рабочая_станция), загружающихся по сети. Первым делом такая машина должна узнать свой IP адрес, и параметры сети, чтобы она могла обратиться по сети, допустим к TFTP серверу, с которого она будет скачивать загрузочную запись. Единственное, что знает о себе эта машина - её MAC адрес.

Иногда интерфейсом выхода является Сеть Ethernet.

Предположим, что сетевая связь между R1 и R2 является каналом Ethernet и что интерфейс FastEthernet 0/1 R1 соединен с этой сетью, как показано на рисунке. Статический маршрут, используя IP-адрес следующего транзитного участка для сети 192.168.2.0/24, может быть установлен, используя эту команду:

R1(config)#ip route 192.168.2.0 255.255.255.0 172.16.2.2

Как обсуждалось в одном из предыдущих постов про "Конфигурирование интерфейса Ethernet", пакет IP должен инкапсулироваться в Кадр Ethernet с целевым MAC-адресом Ethernet. Если пакет должен быть отправлен маршрутизатору следующего транзитного участка, целевой MAC-адрес будет адресом интерфейса Ethernet маршрутизатора следующего транзитного участка. В этом случае целевой MAC-адрес Ethernet будет соответствовать IP-адресу следующего транзитного участка 172.16.2.2. R1 проверяет свою таблицу ARP интерфейса FastEthernet 0/1 на запись с 172.16.2.2 и соответствующим MAC-адресом.

Отправка запроса ARP

Если эта запись не находится в таблице ARP, R1 отправляет запрос ARP через свой интерфейс FastEthernet 0/1. Широковещательная передача Уровня 2 запрашивает, что если у какого-либо устройства имеется IP-адрес 172.16.2.2, чтобы оно ответило своим MAC-адресом. Поскольку у интерфейса FastEthernet 0/1 R2 IP-адрес равен 172.16.2.2, он отсылает ответ ARP назад с MAC-адресом для того интерфейса.

R1 получает ответ ARP и добавляет IP-адрес 172.16.2.2 и соответствующий MAC-адрес к его таблице ARP. Пакет IP теперь инкапсулируется в Кадр Ethernet с целевым MAC-адресом, найденным в таблице ARP. Кадр Ethernet с инкапсулированным пакетом затем отсылается через интерфейс FastEthernet 0/1 к маршрутизатору R2.

В TCP/IP не рассматриваются технологии канального и физического уровней, при реальной передаче данных все равно приходится отображать IP адрес на адрес канального уровня.

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

ARP — протокол разрешения адресов (Address Resolution Protocol) является протоколом третьего (сетевого) уровня модели OSI, используется для преобразования IP-адресов в MAC-адреса, играет важную функцию в множественном доступе сетей. ARP была определена RFC 826 в 1982 году.

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

Пример ARP-таблицы в ОС Windowsпредставлен на рисунке.

В ARP-таблице, помимо IP и MAC адреса, еще указывается тип связи, существует два типа записей:

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

В IPv6 функциональность ARP обеспечивает протокол NDP (Neighbor Discovery Protocol Протокол Обнаружения Соседей).

RARP (англ. Reverse Address Resolution Protocol — Обратный протокол преобразования адресов) — протокол третьего (сетевого) уровня модели OSI, выполняет обратное отображение адресов, то есть преобразует аппаратный адрес в IP-адрес.

Существует четыре типа ARP-сообщений:

  • ARP-запрос(ARPrequest);
  • ARP-ответ(ARP reply);
  • RARP-запрос(RARP-request);
  • RARP-ответ(RARP-reply).

  • Hardware type (HTYPE) Каждый канальный протокол передачи данных имеет свой номер, который хранится в этом поле. Например, Ethernet имеет номер 0x0001
  • Protocol type (PTYPE) Код сетевого протокола. Например, для IPv4 будет записано 0x0800
  • Hardware length (HLEN) Длина физического адреса в байтах. Адреса Ethernet имеют длину 6 байт.
  • Protocol length (PLEN) Длина логического адреса в байтах. IPv4 адреса имеют длину 4 байта.
  • Operation Код операции отправителя: 1 в случае запроса и 2 в случае ответа.
  • Sender hardware address (SHA) Физический адрес отправителя.
  • Sender protocol address (SPA) Логический адрес отправителя.
  • Targethardwareaddress (THA) Физический адрес получателя. Поле пусто при запросе.
  • Target protocol address (TPA) Логический адрес получателя.

Рассмотрим структуру заголовка ARP запроса (request) на примере перехваченного пакета с помощью сетевого анализатора Wireshark

Рассмотрим структуру заголовка ARP ответа (reply) на примере перехваченного пакета с помощью сетевого анализатора Wireshark

Вас также могут заинтересовать:

Утилита командной строки ARP.EXE используется для отображения и изменения таблиц преобразования IP-адресов в физические (MAC — адреса), используемые протоколом разрешения адресов (Address Resolution Protocol — ARP).

ARP -s inet_addr eth_addr

ARP -d inet_addr

ARP -a [-N if_addr] [-v]

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

Семейка протокола ARP

Если ARP используют более одного сетевого интерфейса, то будут отображаться записи для каждой таблицы.

-g То же, что и параметр -a.

-v Отображает текущие ARP-записи в режиме подробного протоколирования. Все недопустимые записи и записи в интерфейсе обратной связи будут отображаться.

inet_addr Определяет IP-адрес.

-N if_addr Отображает ARP-записи для заданного в if_addr сетевого интерфейса.

-d Удаляет узел, задаваемый inet_addr. Параметр inet_addr может содержать знак шаблона * для удаления всех узлов.

-s Добавляет узел и связывает адрес в Интернете inet_addr c физическим адресом eth_addr. Физический адрес задается 6 байтами (в шестнадцатеричном виде), разделенных дефисом. Эта связь является постоянной

eth_addr Определяет физический адрес.

if_addr Если параметр задан, он определяет адрес интерфейса в Интернете, чья таблица преобразования адресов должна измениться. Если параметр не задан, будет использован первый доступный интерфейс.

В IP-сетях существует три способа отправки пакетов от источника к приемнику:

— одноадресная передача (Unicast );

— широковещательная передача (Broadcast );

При одноадресной передаче поток данных передается от узла-отправителя на индивидуальный IP-адрес узла-получателя.

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

Многоадресная рассылка обеспечивает доставку потока данных группе узлов на IP-адрес группы многоадресной рассылки. Узлы группы могут находиться в данной локальной сети или в любой другой. Узлы для многоадресной рассылки объединяются в группы при помощи протокола IGMP (Internet Group Management Protocol, межсетевой протокол управления группами). Пакеты содержащие в поле назначения заголовка групповой адрес, будут поступать на узлы групп и обрабатываться. Источник многоадресного трафика направляет пакеты многоадресной рассылки не на индивидуальные IP-адреса каждого из узлов-получателей, а на групповой IP-адрес. Групповые адреса определяют произвольную группу IP-узлов, присоединившихся к этой группе и желающих получать адресованный ей трафик. Международное агентство IANA (Internet Assigned Numbers Authority, «Агентство по выделению имен и уникальных параметров протоколов Интернета»), которое управляет назначением групповых адресов, выделило для многоадресной рассылки адреса IPv4 класса D в диапазоне от 224.0.0.0 до 239.255.255.255.

Примеры использования ARP :

arp -a — отобразить таблицу соответствия IP и MAC адресов для данного компьютера.

arp -a | more — то же, что и в предыдущем случае, но с отображением информации в постраничном режиме.

arp -a > macaddr.txt — отобразить таблицу соответствия IP и MAC адресов для данного компьютера с выводом результатов в текстовый файл macaddr.txt .

Пример содержимого таблицы ARP:

Интерфейс: 127.0.0.1 — 0x1

224.0.0.22                                                     статический
224.0.0.251                                                   статический
239.255.255.250                                           статический

Интерфейс: 192.168.1.133 — 0x1c

адрес в Интернете Физический адрес Тип

192.168.1.1                c8-2b-35-9a-a6-1e   динамический
192.168.1.132            00-11-92-b3-a8-0d   динамический
192.168.1.255            ff-ff-ff-ff-ff-ff            статический
224.0.0.22                  01-00-5e-00-00-16   статический
224.0.0.251                01-00-5e-00-00-fb   статический
224.0.0.252                01-00-5e-00-00-fc   статический
239.255.255.250        01-00-5e-7f-ff-fa     статический

В данном примере присутствуют записи ARP для петлевого интерфейса 127.0.0.1 и реального 192.168.1.133 . Петлевой интерфейс не используется для реальной передачи данных и не имеет привязки к аппаратному адресу. Таблица ARP реального интерфейса содержит записи для узлов с адресами 192.168.1.1 и 192.168.1.132 , а также записи для широковещательной (MAC-адрес равен ff-ff-ff-ff-ff-ff) и групповых рассылок (MAC-адрес начинается с 01-00-5e). МАС-адрес групповой рассылки всегда начинается с префикса, состоящего из 24 битов - 01-00-5Е. Следующий, 25-й бит равен 0. Последние 23 бита МАС-адреса формируются из 23 младших битов группового IP-адркса.

arp -s 192.168.1.1 00-08-00-62-F6-19 — добавить в таблицу ARP запись, задающую соответствие IP адреса 192.168.1.1 и физического адреса 00-08-00-62-F6-19

arp -d 192.168.1.1 — удалить из таблицы ARP запись для IP-адреса 192.168.1.1

arp -d 192.168.1.* — удалить из таблицы ARP записи для диапазона IP-адресов 192.168.1.1 — 192.168.1.254

Некоторые замечания по практическому использованию команды ARP:

— разрешение адресов по протоколу ARP выполняется только при операциях передачи данных по протоколу IP .
— время жизни записей в таблице ARP ограничено, поэтому, перед просмотром ее содержимого для конкретного адреса нужно выполнить ping на этот адрес.
— если ответ на ping не приходит, а запись для данного IP-адреса присутствует в таблице ARP, то этот факт можно интерпретировать как блокировку ICMP-пакетов брандмауэром пингуемого узла.
— невозможность подключения к удаленному узлу по протоколам TCP или UDP при наличии записей в таблице ARP для целевого IP, может служить признаком отсутствия служб обрабатывающих входящие подключения, или их блокировки брандмауэром (закрытые порты).
— ARP протокол работает в пределах локального сегмента сети. Поэтому, если выполнить ping на внешний узел (например ping yandex.ru), то в таблице ARP будет присутствовать запись для IP — адреса маршрутизатора, через который выполняется отправка пакета во внешнюю сеть.

Примеры практического использования ARP для сетевой диагностики.

Весь список команд CMD Windows

Протокол ARP

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

ARP-таблица для преобразования адресов

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

IP-адрес Ethernet-адрес
223.1.2.1
223.1.2.3
223.1.2.4
08:00:39:00:2F:C3
08:00:5A:21:A7:22
08:00:10:99:AC:54

Табл.1. Пример ARP-таблицы
Принято все байты 4-байтного IP-адреса записывать десятичными числами, разделенными точками. При записи 6-байтного Ethernet-адреса каждый байт указывается в 16-ричной системе и отделяется двоеточием.

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

Порядок преобразования адресов

В ходе обычной работы сетевая программа, такая как TELNET, отправляет прикладное сообщение, пользуясь транспортными услугами TCP. Модуль TCP посылает соответствующее транспортное сообщение через модуль IP.

Протокол ARP

В результате составляется IP-пакет, который должен быть передан драйверу Ethernet. IP-адрес места назначения известен прикладной программе, модулю TCP и модулю IP. Необходимо на его основе найти Ethernet-адрес места назначения. Для определения искомого Ethernet-адреса используется ARP-таблица.

Запросы и ответы протокола ARP

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

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

Табл.2. Пример ARP-запроса Каждый модуль ARP проверяет поле искомого IP-адреса в полученном ARP-пакете и, если адрес совпадает с его собственным IP-адресом, то посылает ответ прямо по Ethernet-адресу отправителя запроса. ARP-ответ можно интерпретировать так: «Да, это мой IP-адрес, ему соответствует такой-то Ethernet-адрес». Пакет с ARP-ответом выглядит примерно так:

Табл.3. Пример ARP-ответа Этот ответ получает машина, сделавшая ARP-запрос. Драйвер этой машины проверяет поле типа в Ethernet-кадре и передает ARP-пакет модулю ARP. Модуль ARP анализирует ARP-пакет и добавляет запись в свою ARP-таблицу.

Обновленная таблица выглядит следующим образом:

IP-адрес Ethernet-адрес
223.1.2.1
223.1.2.2
223.1.2.3
223.1.2.4
08:00:39:00:2F:C3
08:00:28:00:38:A9
08:00:5A:21:A7:22
08:00:10:99:AC:54

Табл.4. ARP-таблица после обработки ответа

Продолжение преобразования адресов

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

  1. По сети передается широковещательный ARP-запрос.
  2. Исходящий IP-пакет ставится в очередь.
  3. Возвращается ARP-ответ, содержащий информацию о соответствии IP- и Ethernet-адресов. Эта информация заносится в ARP-таблицу.
  4. Для преобразования IP-адреса в Ethernet-адрес у IP-пакета, постав ленного в очередь, используется ARP-таблица.
  5. Ethernet-кадр передается по сети Ethernet.

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

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

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

Следует отметить, что каждая машина имеет отдельную ARP-таблицу для каждого своего сетевого интерфейса.

Proxy-ARP — это технология, согласно которой маршрутизатор отвечает на чужой ARP запрос, предназначеный не ему, своим MAC адресом.
При этом отправитель, предполагая что получил в ARP ответе физический адрес получателя, помещает этот MAC адрес в кадр. Таким образом маршрутизатор получает кадр, адресованный ему, но пакет содержит не его IP адрес. Это в свою очередь значит, что пакет предназначен для маршрутизации. Ответный пакет также проходит этап маршрутизации в обратную сторону. Для обеих сторон маршрутизатор является прозрачным.
Возможен случай, когда proxy-arp работает только для одного сегмента сети, а с другой стороны хост знает о существовании маршрутизатора и отправляет пакеты ему сознательно.

Задачи которые позволяет решить эта технология:

  • подключение к сети одного хоста, принадлежащего другой физической сети (другому широковещательному домену)
  • объединение двух широковещательных доменов для общения одноадресными рассылками (unicast), но ограничивая широковещательный трафик между доменами; при этом не прибегая к использованию bridge и брандмауэров.

Понятие Proxy-ARP можно встретить при конфигурации VPN сервера.

В технологии Frame-Relay существует понятие Inverse-ARP. Как и соответствует из названия, этот протокол явзяется обратным ARP.

Address Resolution Protocol

Суть протокола заключается в преобразовании физического адреса в логический, т.е. IP-адрес. В сети Frame-Relay физическим адресом являестя DLCI.

Благодарим за статью: Дмитрия Подгорного

Очистка и удаление кэша ARP

Очистка кэша ARP через командную строку

Когда компьютеры обращаются к информации DNS, найден­ные сопоставления имен и адресов временно сохраняются в кэше ARP (Address Resolution Protocol), чтобы в следующий раз при обращении к той же информации не выполнять поиск заново. Эта информация устаревает в соответствии со значе­нием TTL (Time-To-Live), устанавливаемом при ее получении, и по окончании срока жизни такая информация должна быть обновлена.

После получения новой информации устанавлива­ется новое значение TTL. В общем случае эта автоматическая система получения, очистки и обновления информации о со­поставлениях имен и адресов работает хорошо.

Команда ARP — просмотр и изменение таблиц ARP.

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

Удаление старой информации о сопоставлени­ях имен

У администраторов DNS есть в запасе несколько трюков, с помощью которых можно уменьшить негативное влияние сме­ны имен, например задание меньшего значения TTL перед сме­ной имени, чтобы старая информация удалялась быстрее и не вызывала проблем. Однако вы можете обнаружить, что легче просто избавиться от старых данных и заставить компьютер вновь просматривать информацию в DNS.

Для этого введите в командной строке или de­lete arpcache (если контекст Interface IP в Netsh уже установ­лен). В результате будет удалена информация о сопоставлени­ях имен и адресов для всех интерфейсов, настроенных на дан­ном компьютере.

Пример использования очистки кеша arp

Если у вас несколько интерфейсов и вы хо­тите сбросить информацию лишь для одного интерфейса, ука­жите нужный интерфейс через ИмяИнтерфейса, напри­мер:

  • netsh interface ip delete arpcache
  • delete arpcache

ARP (Address Resolution Protocol - протокол разрешения адресов) - протокол сетевого уровня (Network Link layer), предназначенный для преобразования IP- адресов (адресов сетевого уровня) в MAC-адрес- адреса (адреса канального уровня) в сетях TCP/IP. Он определён в RFC 826.

Утилита arp:

    Ключи консольной утилиты arp:arp -a выводит содержимое таблицы ARP. arp выводит ARP-запись для заданного хоста. arp -d удаляет запись, соответствующую хосту.

    Протокол arp

    arp -d-a удаляет все записи таблицы. arp -s добавляет запись. arp -f добавляет записи из файла соответствия .

    В Linux полностью очистить ARP таблицу штатными средствами нельзя. Можно использовать скрипт вида, соответственно видоизменив его под свои нужды ethers.local #!/bin/shI=1while[$I-le254]do arp -d 192.168.1.${I} arp -s 192.168.1.${I}0:0:0:0:0:0I=`expr$I + 1`done arp -f/etc/ethers.local

    Маршрутизация.

    Эта команда для всех пунктов состояния задает failed. В дальнейшем ядро операционной системы удалить помеченные MAC адреса. ip neigh flush all

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

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

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

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

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

Вместе с тем некоторые уточнения ARP возможны: когда машина А хочет послать данные машине B, возможно, что B собирается посылать ответные данные А в ближайшем будущем. Поэтому, чтобы избежать использования ARP для машины B, A должна сохранить его связующий адрес IP_to_MAC в специальном пакете при запросе на MAC-адрес B. Так как A передает свой первоначальный запрос на MAC-адрес B, каждая машина в сети должна извлекать и хранить в своем кэше адрес IP_to_MAC.

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

Пример отображения использования протокола разрешения адресов

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

Сообщение запроса ARP (который идет от IP-адреса A.A.A.A к B.B.B.B) транслируется по локальной сети с типом протокола Ethernet. Протоколы ARP исходят от всех машин, кроме целевой, которая направляет ответное сообщение на запрос. Этот ответ содержит в себе IP-адрес B.B.B.B, т.е. аппаратный адрес источника Ethernet, после чего будет налажена связь между устройствами.

Протокол ARP и его назначение - выводы

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

Протокол восстановления обратного адреса

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

Детальный механизм

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

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

Действие RARP во времени

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

Протоколы IP/ICMP/ARP

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

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

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

Протоколы TCP/IP

TCP/IP-протоколы предоставляют средства, способные помочь сетевым администраторам или пользователям идентифицировать проблемы сети. Один из наиболее часто используемых инструментов отладки вызывает запрос ICMP и получает ответное сообщение. В то же время хост или шлюз посылает эхо-сообщение с запросом ICMP на указанный адрес. Любая машина, которая получает эхо-запрос, формулирует отклик и возвращает к исходному отправителю. При этом ответ содержит копию данных, передаваемых в запросе, а также связанный с ними отклик.

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

Оценка: 4.86 Голосов: 7 Комментарии: 10

Начнем с теории…

Что такое ARP и зачем это нам

ARP (“Address Resolution Protocol” - протокол определения адреса ) - использующийся в компьютерных сетях протокол низкого уровня, предназначенный для определения адреса канального уровня по известному адресу сетевого уровня. Наибольшее распространение этот протокол получил благодаря повсеместности сетей IP, построенных поверх Ethernet, поскольку практически в 100 % случаев при таком сочетании используется ARP.

ARP протокол работает с MAC адресами. Свой индивидуальный MAC адрес есть у каждой сетевой карты.

MAC-адрес (“Media Access Control” - управление доступом к среде ) - это уникальный идентификатор, сопоставляемый с различными типами оборудования для компьютерных сетей. Большинство сетевых протоколов канального уровня используют одно из трёх пространств MAC-адресов, управляемых IEEE: MAC-48, EUI-48 и EUI-64. Адреса в каждом из пространств теоретически должны быть глобально уникальными. Не все протоколы используют MAC-адреса, и не все протоколы, использующие MAC-адреса, нуждаются в подобной уникальности этих адресов.

Рис.1. Путь к ARP таблице.

Рис.2. ARP таблица.

На Рисунке 2 мы видим ARP таблицу. В ней три записи, они добавляются автоматически и имеют следующую структуру. IP Adress – это, собственно, IP адрес компьютера сети, MAC Adress – это mac адрес этого же компьютера, и Interface, который указывает за каким интерфейсом находится данный компьютер. Обратите внимание, что напротив всех записей есть буква D. Она означает то, что эта запись динамическая и будет изменена, если изменятся какие-то данные. То есть, если пользователь случайно введет неправильный IP адрес, то просто изменится запись в ARP таблице и больше ничего. Но нам это не подходит. Нам нужно застраховаться от таких случаев. Для этого в ARP таблицу вносятся статические записи. Как это сделать? Существует два способа.

Рис.3. Добавляем Статическую запись первым способом.

Способ первый. Как обычно нажимаем красный плюс. В появившемся окне вводим IP адрес, MAC адрес и выбираем интерфейс, за которым находится данный компьютер.

Рис.4. Добавляем Статическую запись вторым способом.

Способ второй. Выбираем нужную запись, кликаем два раза левой клавишей мыши, в появившемся окне нажимаем кнопку Make Statik . Статическая запись добавлена.

Рис.5. Таблица со статическими записями.

Как видно на рисунке 5 – напротив добавленной записи отсутствует буква D. Это говорит о том, что запись статическая.

Теперь, если пользователь случайно введет не свой адрес, Mikrotik , проверив соответствие IP и МАС адреса в ARP таблице и, не найдя нужной записи, не даст пользователю выйти в интернет, тем самым наведет пользователя на мысль о том, что он, возможно, был не прав и надо бы позвонить администратору.

Еще на что хотелось бы обратить ваше внимани е: эти записи применяются для пакетов проходящих через router.

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

Если нужно, чтобы правила применялись к Bridge(бридж), то в Bridge нужно включить функцию Use IP Firewall (рис.6.).

Бридж - это способ соединения двух сегментов Ethernet на канальном уровне, т.е. без использования протоколов более высокого уровня, таких как IP. Пакеты передаются на основе Ethernet-адресов, а не IP-адресов (как в маршрутизаторе). Поскольку передача выполняется на канальном уровне (уровень 2 модели OSI), все протоколы более высокого уровня прозрачно проходят через мост.

Рис.6 . Включение функции Use IP Firewall.

Евгений Рудченко