Compartilhar via


Descrição do comportamento de cache do Address Resolution Protocol (ARP) em implementações TCP/IP

Este artigo fornece uma descrição do comportamento de cache do Address Resolution Protocol (ARP) em implementações TCP/IP.

Número original do KB: 949589

Introdução

Este artigo descreve o comportamento de cache do ARP (Address Resolution Protocol) em implementações TCP/IP do Windows Vista.

Mais informações

O comportamento do cache ARP foi alterado no Windows Vista. As implementações de pilha TCP/IP no Windows Vista estão em conformidade com o RFC4861 (protocolo de descoberta de vizinhos para IP versão 6 [Ipv6]) para o processo de descoberta de vizinhos IPv4 e IPv6.

As entradas do Registro ArpCacheLife e ArpCacheMinReferencedLife determinam como o cache ARP é mantido no Windows XP e no Windows Server 2003. Essas entradas do Registro não se aplicam mais ao Windows Vista.

Na nova implementação da pilha TCP/IP do Windows Vista, os hosts criam as entradas de cache vizinho quando não há nenhuma entrada correspondente no cache vizinho. A entrada de cache ARP para IPv4 é um exemplo de uma entrada de cache vizinha. Depois que a entrada for criada com êxito no cache vizinho, a entrada poderá mudar para o estado "Alcançável" se a entrada atender a determinadas condições. Se a entrada estiver no estado "Acessível", os hosts TCP/IP do Windows Vista não enviarão solicitações ARP para a rede. Portanto, os hosts TCP/IP do Windows Vista usam as informações no cache. Se uma entrada não for usada e permanecer no estado "Alcançável" por mais tempo do que seu valor de "Tempo Alcançável", a entrada mudará para o estado "Obsoleto". Se uma entrada estiver no estado "Obsoleto", o host TCP/IP do Windows Vista deverá enviar uma solicitação ARP para chegar a esse destino.

O valor "Tempo Alcançável" é calculado da seguinte forma:
Tempo Alcançável = × de Tempo BaseReachable (Um valor aleatório entre MIN_RANDOM_FACTOR e MAX_RANDOM_FACTOR)
O RFC fornece os seguintes resultados calculados.

Tempo BaseReachable 30.000 milissegundos (ms)
MIN_RANDOM_FACTOR 0.5
MAX_RANDOM_FACTOR 1.5

Portanto, o valor "Tempo alcançável" está entre 15 segundos (30 × 0,5 segundos) e 45 segundos (30 × 1,5 segundos). Se uma entrada não for usada por um tempo entre 15 e 45 segundos, ela mudará para o estado "Obsoleto". Em seguida, o host deve enviar uma solicitação ARP para IPV4 para a rede quando qualquer datagrama IP for enviado para esse destino.

Para ver o valor atual de "Tempo alcançável", siga estas etapas:

  1. Clique em Iniciar, digite cmd na caixa Iniciar Pesquisa e clique em cmd na lista Programas .

  2. Se for solicitada uma senha de administrador ou confirmação, digite sua senha ou clique em Continuar.

  3. No prompt de comando, digite o comando a seguir:
    netsh interface ipv4 show interfaces
    Resultados de exemplo:

    Idx Met MTU        State       Name
    --- --- -----      ----------- -------------------
     1  50  4294967295 connected   Loopback Pseudo-Interface 1
     9  20  1500       connected   Local Area Connection
    
    
  4. Na etapa 2, a "Conexão local" Idx é 9. Portanto, você pode mostrar a interface 9 digitando o seguinte comando no prompt de comando:
    netsh interface ipv4 show interface 9
    Resultados de exemplo:

    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
    
  5. Você pode alterar o valor "BaseReachable Time" digitando o seguinte comando de exemplo no prompt de comando:
    netsh interface ipv4 set interface 9 basereachable=60000

  6. Para ver o resultado da etapa 4, digite o seguinte comando no prompt de comando:
    netsh interface ipv4 show interface 9
    Resultados de exemplo:

    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
    

    Observação

    O valor "Tempo Base Alcançável" foi alterado para 60000 ms.

  7. Você pode aumentar o limite de cache vizinho digitando o seguinte comando no prompt de comando:
    netsh interface ipv4 set global neighborcachelimit = 4096

    Observação

    O limite de cache de vizinho padrão é 256 para versões de cliente do Windows e é 1024 para Windows Server.

Para obter mais informações sobre os estados de entrada de cache vizinhos, visite o seguinte site:
https://www.ietf.org/rfc/rfc2461.txt

Os produtos de terceiros mencionados neste artigo são produzidos por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, implícita ou não, do desempenho ou da confiabilidade desses produtos.

A Microsoft fornece informações de contato de terceiros para ajudá-lo a encontrar suporte técnico. Essas informações de contato podem ser alteradas sem aviso prévio. A Microsoft não garante a precisão dessas informações de contato de terceiros.