При работе в локальной сети случается так, что какой-либо узел или сервер в сети стал вдруг недоступен, в то время как с других компьютеров он виден и проблем с доступом нет. Иногда причиной этому может послужит то, что у этого компьютера изменился MAC-адрес сетевого адаптера . При этом на компьютере, с которого узел недоступен, arp-кэш не обновился .
Что такое arp-кеш?
Кэш ARP это фактически таблица соответствия IP-адресов и физических адресов сетевых адаптеров. Эта таблица обновляется при первой необходимости, но иногда она может не обновиться. Причиной может послужить сбой работы системы или атака ARP-спуфингом на компьютер, после чего могут быть недоступны некоторые узлы в сети и не открываться некоторые веб-сайты.
Как вручную обновить arp-кеш на Windows7 и Windows 8?!
Посмотреть таблицу ARP
на компьютере под управлением операционной системы Windows можно из командной строки. Чтобы открыть командную строку, надо нажать кнопку Пуск
и в строке поиска программ написать Командная строка
. В результате поиска Вы увидите ярлык запуска командной строки Windows. Чтобы запустить её с правами Администратора, нужно кликнуть по ярлыку правой кнопкой мыши:
В открывшемся контекстном меню выбираем пункт Запуск от имени Администратора . Для просмотра таблицы ARP вводим команду arp -a :
После этого, для очистки ARP-кэша
нужно ввести команду: netsh interface ip delete arpcache
После выполнения команды, ARP-кэш будет очищен
.
В TCP/IP соединении решающую роль играет ARP (протокол определения адреса). Поэтому, если появились некоторые проблемы при загрузке некоторых сайтов либо отсутствие пинга IP-адресов, тогда попробуйте очистить 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), в котором будет прочитана пользовательская часть данных.
Когда компьютеры обращаются к информации 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
В Windows есть некоторые вещи, которые моно сделать только с использованием командной строки, в связи с тем, что они попросту не имеют варианта с графическим интерфейсом. Некоторые другие, несмотря на имеющуюся графическую версию, бывает проще запустить из командной строки.
Я, конечно, не смогу перечислить все эти команды, но об использовании некоторых из них, которыми пользуюсь сам, постараюсь рассказать.
Если вы изменили адрес DNS сервера в настройках подключения (например, из-за проблем с открытием какого-либо сайта), или постоянно видите ошибку наподобие ERR_DNS_FAIL или ERR_NAME_RESOLUTION_FAILED, то эта команда может пригодиться. Дело в том, что при изменении адреса DNS, Windows может не использовать новые адреса, а продолжать пользоваться сохраненными в кэше. Команда ipconfig /flushdns очистит кэш имен в Windows.
Ping и tracert - быстрый способ выявить проблемы в работе сети
Если у вас возникают проблемы со входом на сайт, в те же настройки маршрутизатора или другие проблемы с сетью или интернетом, команды ping и tracert могут пригодиться.
Если вы введете команду ping yandex. ru , Windows начнет посылать пакеты в адрес Яндекса, при их получении, удаленный сервер будет уведомлять ваш компьютер об этом. Таким образом, вы можете увидеть, доходят ли пакеты, какая среди них доля потерянных и с какой скоростью происходит передача. Часто это команда пригождается при действиях с роутером, если, к примеру, не удается зайти в его настройки.
Команда tracert отображает путь передаваемых пакетов к адресу назначения. С помощью нее, к примеру, вы можете определить, на каком узле происходят задержки при передаче.
netstat –an - отображение всех сетевых подключений и портов
Команда netstat полезна и позволяет увидеть самую разнообразную сетевую статистику (при использовании различных параметров запуска). Один из наиболее интересных вариантов использования - запуск команды с ключом –an, который открывает список всех открытых сетевых подключении на компьютере, портов, а также удаленных IP адресов, с которых осуществляется подключения.
telnet для подключения к серверам Telnet
По умолчанию, в Windows не установлен клиент для Telnet, однако его можно установить в «Программы и компоненты» панели управления. После этого, можно использовать команду telnet для подключения к серверам без использования какого-либо стороннего программного обеспечения.
Это далеко не все команды такого рода, которые вы можете использовать в Windows и не все варианты их применения, есть возможность вывода результата их работы в файлы, запуска не из командной строки, а из диалогового окна «Выполнить» и другие. Так что, если эффективное использование команд Windows вам интересно, а общей информации, представленной здесь для начинающих пользователей, недостаточно, рекомендую поискать в Интернете, там есть.