Выполняется очистка arp кэша. Очистка кэшей сетевых адресов. Обновляем сетевые настройки по DHCP

Джек Уоллен (Jack Wallen) объясняет, как очистить кэш протокола разрешения адресов (Address Resolution Protocol, ARP) и как им управлять из командной строки.

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

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

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

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

Очистка кэша

Шаг первый: вызов командной строки

Откройте меню «Пуск» (Start) и введите в строке поиска «cmd» (без кавычек), но не нажимайте. Вместо этого нажмите на ссылке «cmd.exe» правой кнопкой мыши и выберите опцию «Запуск от имени администратора» (Run as Administrator, рис. A). Подтвердите выполнение операции в окне контроля учетных записей (UAC) и увидите окно командной строки.

Рисунок A. Если значок командной строки уже закреплен в меню «Пуск», пользоваться поиском не придется.

Шаг второй: выполнение команды

Для начала выполните команду arp -a. Она выведет список всех хранящихся на компьютере записей ARP (рис. B). Естественно, -a - далеко не единственная доступная опция. Команда arp также поддерживает следующие переключатели:

-d - удаление IP-адреса (например, arp -d 192.168.100.10);
-d -a - удаление всех записей в таблице ARP;
-s - добавление записи в таблицу ARP (команда arp -s АДРЕС MAC-АДРЕС, где АДРЕС - это адрес, который нужно добавить, а MAC-АДРЕС - MAC-адрес компьютера).


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

Чтобы полностью очистить кэш, выполните команду netsh interface ip delete arpcache. Она удалит весь ARP-кэш, и при следующем подключении к сети он начнет заполняться заново.

Как проверить, удалась ли очистка

Очистив ARP-кэш, обязательно проверьте, удалась ли операция, выполнив команду arp -a. Если кэш не был очищен, вполне вероятно, что в этом виноват баг Windows, который проявляется при включении службы «Маршрутизация и удаленный доступ» (Routing and Remote Services). Решить проблему очень легко:

1. Откройте меню «Пуск | Панель управления» (Start | Control Panel).
2. Выберите пункт «Администрирование» (Administrative Tools) в разделе «Система и безопасность» (System And Security).
3. Запустите средство «Управление компьютером» (Computer Management).
4. Разверните раздел «Службы и приложения» (Services and Applications) двойным щелчком.
5. Выделите раздел «Службы» (Services).
6. Найдите в списке пункт «Маршрутизация и удаленный доступ» и дважды щелкните на нем.
7. Выберите опцию «Отключена» (Disable) в выпадающем меню «Тип запуска» (Startup Type).
8. Остановите службу.

Теперь снова попытайтесь очистить ARP-кэш. На этот раз должно получиться.

Диагностика

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

Всем привет! Сегодня я расскажу, как посмотреть 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 адрес.

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

Инструкция

  • Сначала произведите вызов командной строки, открыв меню «Пуск» (Start). В строке поиска введите "cmd", но без кавычек, и не нажимайте клавишу Enter. Вместо этого следует кликнуть правой кнопкой мыши по ссылке "cmd.exe" и выбрать строку «Запуск от имени администратора» (или Run as Administrator). Теперь необходимо подтвердить выполнение процесса в окне под названием «Контроль учетных записей». После этого перед вами появится командная строка. Кстати, если в «Пуске» уже закреплен ее значок, то вам не придется пользоваться поиском.
  • Далее приступайте к выполнению команды "arp -a". С ее помощью будет выведен список всех хранящихся на устройстве записей ARP. Однако опция -a является не единственной, поскольку командой arp поддерживаются и другие переключатели. Например, -d, он позволяет удалить IP-адрес. Благодаря -d -a возможно удалить все записи из таблицы ARP. Опция -s, наоборот, добавляет записи в таблицу.
  • Чтобы полностью удалить ARP-кеш в ОС Windows 2000/XP/Vista/7, следует нажать кнопку «Пуск», затем «Выполнить». В появившееся поле введите команду netsh interface ip delete arpcache. Для завершения операции кликните Ok.
  • На всякий случай проверьте, удачно ли прошла процедура очистки. Для этого выполните команду arp -a. Если кеш так и не был очищен, то причина может быть в ошибке операционной системы . Такая ошибка может возникнуть при активации службы «Маршрутизация и удаленный доступ».
  • Для решения проблемы войдите в панель управления, в разделе «Система и безопасность» выберите «Администрирование». Далее запустите приложение «Управление компьютером» и двойным щелчком откройте раздел «Службы». Кликните на пункт «Маршрутизация и удаленный доступ», а в появившемся меню запустите опцию «Отключена». Как только вы выполните все необходимые действия, снова попытайтесь очистить arp-кеш.
  • Оцените статью!

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

    Назначение протокола ARP

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

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

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


    Функционирование протокола ARP в подсетях

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

    ARP-запрос позволяет узлу определить MAC-адрес получателя. Узел создает фрейм ARP-запроса и рассылает его всем сетевым устройствам. Фрейм ARP-запроса состоит из двух частей:

    • заголовка фрейма;
    • сообщения ARP-запроса.

    Для того чтобы все устройства могли получить ARP-запрос, используется широковещательный MAC-адрес. В схеме MAC-адресации широковещательный адрес содержит во всех битах шестнадцатеричное число F и имеет, таким образом, вид FF-FF-FF-FF-FF-FF (Такая запись MAC-адреса называется канонической, в ней части адреса разделены дефисом (-); существует также альтернативная запись, в которой части адреса разделены двоеточием (:).). Поскольку пакеты ARP-запроса передаются в широковещательном режиме, все сетевые устройства, подключенные к локальной сети, могут получить такие пакеты и передать их протоколам более высоких уровней для последующей обработки. Если IP-адрес устройства совпадает с IP-адресом получателя в широковещательном ARP-запросе, это устройство отвечает отправителю, сообщая свой MAC-адрес. Такое сообщение называется ARP-ответом.

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

    ОС Windows очень бережно работает с сетью. Настолько бережно, что устаревшие данные об узлах могут храниться в кэше годами.

    Симптомы устаревших данных могут быть самыми разнообразными:

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

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

    Излечить можно по вполне стандартной процедуре.

    0. Разрываем подключение к локальной сети

    Работающая сеть может помешать корректно очистить все существующие кэши.

    1. Очищаем кэш ARP

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

    2. Очищаем кэш NetBIOS

    В этом кэше находятся сопоставления NetBIOS-имён компьютеров с их IP-адресами. Если вам посчастливилось и в сети присутствует ещё и сервер WINS (что-то типа DNS для NetBIOS имён), есть смысл почистить и его.
    Сразу после очистки этого кэша туда подгружаются записи из файла LMHOSTS (%SystemRoot%\System32\drivers\etc\lmhosts).

    Многие считают протокол NetBIOS устаревшим, однако микрософт носится с ним как с писаной торбой. Без него Windows ведёт себя в сети неадекватно. В то же время, с ним - создаёт дикий широковещательный флуд по портам .

    Вирус kido одобряет использование NetBIOS.

    3. Очищаем кэш DNS

    ipconfig /flushdns

    Здесь всё понятно. Кэш DNS - это сопоставление сетевых имён узлов с их IP-адресами.
    В него же подгружаются записи из файла HOSTS (%SystemRoot%\System32\drivers\etc\hosts)

    Кстати, вирусы очень любят менять местоположение файла HOSTS.

    А путь к нему задаётся в реестре, ветка HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters , ключ DataBasePath , тип REG_EXPAND_SZ .

    Если команда возвращает ошибку - надо запустить (или перезапустить) службу DNS-клиента.

    4. Восстанавливаем подключение к локальной сети

    5. Обновляем сетевые настройки по DHCP

    Команда посылает запрос последнему использовавшемуся серверу DHCP (адрес этого сервера ) на получение сетевых настроек.

    Все описанные процедуры можно сделать толпой и из графики.

    В ХР: Пуск Панель управления Сетевые подключения .
    На нужном подключении нажимаем правую кнопку мыши и выбираем из меню «Восстановить ». После этого будут выполнены следующие операции:

    1. Широковещательный DHCP-запрос. Ответы приходят со всех DHCP-серверов.
    2. Очистка кэша ARP
    3. Очистка кэша NetBIOS. С последующей загрузкой файла LMHOSTS.
    4. Очистка кэша DNS. С последующей загрузкой файла HOSTS.
    5. Попытка регистрации в WINS (актуально только если он есть)
    6. Попытка регистрации в DNS (актуально только для AD)

    К сожалению, этот лёгкий метод работает криво и не всегда.