Описание поведения кэширования протокола ARP в реализациях TCP/IP
В этой статье описывается поведение кэширования по протоколу ARP в реализациях TCP/IP.
Область применения: Windows Server 2012 R2, Windows 10 — все выпуски, Windows 7 с пакетом обновления 1 (SP1)
Исходный номер базы знаний: 949589
Введение
В этой статье описывается поведение кэширования протокола ARP в реализациях TCP/IP в Windows Vista.
Дополнительная информация
Поведение кэширования ARP было изменено в Windows Vista. Реализации стека TCP/IP в Windows Vista соответствуют RFC4861 (протокол обнаружения соседей для IP версии 6 [Ipv6]) как для процесса обнаружения IPv4, так и для процесса обнаружения соседей IPv6.
Записи реестра ArpCacheLife и ArpCacheMinReferencedLife определяют, как поддерживается кэш ARP в Windows XP и Windows Server 2003. Эти записи реестра больше не применяются к Windows Vista.
В новой реализации стека TCP/IP в Windows Vista узлы создают записи кэша соседей, если в соседнем кэше нет соответствующей записи. Запись кэша ARP для IPv4 является примером записи соседнего кэша. После успешного создания записи в соседнем кэше запись может измениться на состояние "Доступно", если запись соответствует определенным условиям. Если запись находится в состоянии "Доступно", узлы TCP/IP в Windows Vista не отправляют запросы ARP в сеть. Таким образом, узлы TCP/IP в Windows Vista используют сведения в кэше. Если запись не используется и остается в состоянии "Доступно" дольше, чем ее значение "Доступное время", запись изменяется в состояние "Устаревший". Если запись находится в состоянии "Устаревший", узел TCP/IP в Windows Vista должен отправить запрос ARP для достижения этого назначения.
Значение "Доступное время" вычисляется следующим образом:
Доступное время = baseReachable Time × (случайное значение между MIN_RANDOM_FACTOR и MAX_RANDOM_FACTOR)
RFC предоставляет следующие вычисляемые результаты.
BaseReachable Time | 30 000 миллисекунда (мс) |
---|---|
MIN_RANDOM_FACTOR | 0.5 |
MAX_RANDOM_FACTOR | 1.5 |
Таким образом, значение "Доступное время" находится в диапазоне от 15 секунд (30 × 0,5 секунд) до 45 секунд (30 × 1,5 секунды). Если запись не используется в течение времени от 15 до 45 секунд, она переходит в состояние "Устаревший". Затем узел должен отправить запрос ARP для IPV4 в сеть, когда любая IP-датаграмма отправляется в это место назначения.
Чтобы увидеть текущее значение "Доступное время", выполните следующие действия.
Нажмите кнопку Пуск, введите cmd в поле Начать поиск , а затем щелкните cmd в списке Программы .
Если появится запрос на ввод пароля администратора или подтверждение, введите пароль или нажмите кнопку Продолжить.
Введите следующую команду:
netsh interface ipv4 show interfaces
Пример результата:Idx Met MTU State Name --- --- ----- ----------- ------------------- 1 50 4294967295 connected Loopback Pseudo-Interface 1 9 20 1500 connected Local Area Connection
На шаге 2 значение "Подключение по локальной области"
Idx
равно 9. Поэтому интерфейс 9 можно отобразить, введя в командной строке следующую команду:
netsh interface ipv4 show interface 9
Пример результата:Interface Local Area Connection Parameters ---------------------------------------------- IfLuid : ethernet_7 IfIndex : 9 Compartment Id : 1 State : connected Metric : 20 Link MTU : 1500 bytes Reachable Time : 19000 ms Base Reachable Time : 30000 ms Retransmission Interval : 1000 ms DAD Transmits : 3 Site Prefix Length : 64 Site Id : 1 Forwarding : disabled Advertising : disabled Neighbor Discovery : enabled Neighbor Unreachability Detecion : enabled Router Discovery : dhcp Managed Address Configuration : enabled Other Stateful Configuration : enabled Weak Host Sends : disabled Weak Host Receives : disabled Use Automatic Metric : enabled Ignore Default routes : disabled
Значение BaseReachable Time можно изменить, введя в командной строке следующий пример команды:
netsh interface ipv4 set interface 9 basereachable=60000
Чтобы просмотреть результат шага 4, введите в командной строке следующую команду:
netsh interface ipv4 show interface 9
Пример результата:Interface Local Area Connection Parameters ---------------------------------------------- IfLuid : ethernet_7 IfIndex : 9 Compartment Id : 1 State : connected Metric : 20 Link MTU : 1500 bytes Reachable Time : 61500 ms Base Reachable Time : 60000 ms Retransmission Interval : 1000 ms DAD Transmits : 3 Site Prefix Length : 64 Site Id : 1 Forwarding : disabled Advertising : disabled Neighbor Discovery : enabled Neighbor Unreachability Detecion : enabled Router Discovery : dhcp Managed Address Configuration : enabled Other Stateful Configuration : enabled Weak Host Sends : disabled Weak Host Receives : disabled Use Automatic Metric : enabled Ignore Default routes : disabled
Примечание.
Значение "Базовое доступное время" изменилось на 60 000 мс.
Чтобы увеличить ограничение кэша соседей, введите в командной строке следующую команду:
netsh interface ipv4 set global neighborcachelimit = 4096
Примечание.
Ограничение кэша соседей по умолчанию составляет 256 для клиентских версий Windows и 1024 для Windows Server.
Дополнительные сведения о состояниях ввода кэша соседей см. на следующем веб-сайте:
https://www.ietf.org/rfc/rfc2461.txt
В этой статье упомянуты программные продукты независимых производителей. Корпорация Майкрософт не дает никаких гарантий, подразумеваемых и прочих, относительно производительности и надежности этих продуктов.
Контактные данные сторонних организаций предоставлены в этой статье с целью помочь пользователям получить необходимую техническую поддержку. Эти данные могут быть изменены без предварительного уведомления. Корпорация Майкрософт не дает гарантий относительно правильности приведенных контактных данных сторонних производителей.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по