Когда удаляется запись из arp кэша. Arp кэш сколько записей вмещает

Джек Уоллен (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. Допустим, в кэше имеется запись вида.

В 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), в котором будет прочитана пользовательская часть данных.

    В 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-кеш.
  • ОС 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)

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