Когда компьютеры обращаются к информации DNS, найденные сопоставления имен и адресов временно сохраняются в кэше ARP (Address Resolution Protocol), чтобы в следующий раз при обращении к той же информации не выполнять поиск заново. Эта информация устаревает в соответствии со значением TTL (Time-To-Live), устанавливаемом при ее получении, и по окончании срока жизни такая информация должна быть обновлена.
После получения новой информации устанавливается новое значение TTL. В общем случае эта автоматическая система получения, очистки и обновления информации о сопоставлениях имен и адресов работает хорошо. Но иногда устаревшая информация успевает вызвать проблемы до того, как она будет сброшена. Так, если на каком-то компьютере изменяется DNS-имя, а значение TTL еще не обнулялось, вы временно лишаетесь возможности найти этот компьютер.
Удаление старой информации о сопоставлениях имен
У администраторов DNS есть в запасе несколько трюков, с помощью которых можно уменьшить негативное влияние смены имен, например задание меньшего значения TTL перед сменой имени, чтобы старая информация удалялась быстрее и не вызывала проблем. Однако вы можете обнаружить, что легче просто избавиться от старых данных и заставить компьютер вновь просматривать информацию в DNS.
Для этого введите в командной строке или delete arpcache (если контекст Interface IP в Netsh уже установлен). В результате будет удалена информация о сопоставлениях имен и адресов для всех интерфейсов, настроенных на данном компьютере.
Пример использования очистки кеша arp
Если у вас несколько интерфейсов и вы хотите сбросить информацию лишь для одного интерфейса, укажите нужный интерфейс через ИмяИнтерфейса, например:
- netsh interface ip delete arpcache
- delete arpcache
При работе в локальной сети случается так, что какой-либо узел или сервер в сети стал вдруг недоступен, в то время как с других компьютеров он виден и проблем с доступом нет. Иногда причиной этому может послужит то, что у этого компьютера изменился MAC-адрес сетевого адаптера . При этом на компьютере, с которого узел недоступен, arp-кэш не обновился .
Что такое arp-кеш?
Кэш ARP это фактически таблица соответствия IP-адресов и физических адресов сетевых адаптеров. Эта таблица обновляется при первой необходимости, но иногда она может не обновиться. Причиной может послужить сбой работы системы или атака ARP-спуфингом на компьютер, после чего могут быть недоступны некоторые узлы в сети и не открываться некоторые веб-сайты.
Как вручную обновить arp-кеш на Windows7 и Windows 8?!
Посмотреть таблицу ARP
на компьютере под управлением операционной системы Windows можно из командной строки. Чтобы открыть командную строку, надо нажать кнопку Пуск
и в строке поиска программ написать Командная строка
. В результате поиска Вы увидите ярлык запуска командной строки Windows. Чтобы запустить её с правами Администратора, нужно кликнуть по ярлыку правой кнопкой мыши:
В открывшемся контекстном меню выбираем пункт Запуск от имени Администратора . Для просмотра таблицы ARP вводим команду arp -a :
После этого, для очистки ARP-кэша
нужно ввести команду: netsh interface ip delete arpcache
После выполнения команды, 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 (адрес этого сервера ) на получение сетевых настроек.
Все описанные процедуры можно сделать толпой и из графики.
В ХР: Пуск
→ Панель управления
→ Сетевые подключения
.
На нужном подключении нажимаем правую кнопку мыши и выбираем из меню «Восстановить
». После этого будут выполнены следующие операции:
- Широковещательный DHCP-запрос. Ответы приходят со всех DHCP-серверов.
- Очистка кэша ARP
- Очистка кэша NetBIOS. С последующей загрузкой файла LMHOSTS.
- Очистка кэша DNS. С последующей загрузкой файла HOSTS.
- Попытка регистрации в WINS (актуально только если он есть)
- Попытка регистрации в DNS (актуально только для AD)
К сожалению, этот лёгкий метод работает криво и не всегда.
В TCP/IP соединении решающую роль играет ARP (протокол определения адреса). Поэтому, если появились некоторые проблемы при загрузке некоторых сайтов либо отсутствие пинга IP-адресов, тогда попробуйте очистить arp-кеш. Стоит отметить, что выполняется эта процедура только из командной строки.