TCP/IP 구현의 ARP(주소 확인 프로토콜) 캐싱 동작에 대한 설명

이 문서에서는 TCP/IP 구현의 ARP(주소 확인 프로토콜) 캐싱 동작에 대한 설명을 제공합니다.

적용 대상: Windows Server 2012 R2, Windows 10 - 모든 버전, Windows 7 서비스 팩 1
원래 KB 번호: 949589

소개

이 문서에서는 Windows Vista TCP/IP 구현의 ARP(주소 확인 프로토콜) 캐싱 동작에 대해 설명합니다.

추가 정보

Windows Vista에서 ARP 캐싱 동작이 변경되었습니다. Windows Vista의 TCP/IP 스택 구현은 IPv4 및 IPv6 인접 검색 프로세스 모두에 대한 RFC4861(IP 버전 6 [Ipv6]에 대한 인접 검색 프로토콜)을 준수합니다.

ArpCacheLife 및 ArpCacheMinReferencedLife 레지스트리 항목은 Windows XP 및 Windows Server 2003에서 ARP 캐시를 유지 관리하는 방법을 결정합니다. 이러한 레지스트리 항목은 더 이상 Windows Vista에 적용되지 않습니다.

새 Windows Vista TCP/IP 스택 구현에서 호스트는 인접 캐시에 일치하는 항목이 없을 때 인접 캐시 항목을 만듭니다. IPv4에 대한 ARP 캐시 항목은 인접 캐시 항목의 예입니다. 항목이 인접 캐시에 성공적으로 만들어지면 항목이 특정 조건을 충족하는 경우 항목이 "도달 가능" 상태로 변경될 수 있습니다. 항목이 "연결할 수 있는" 상태인 경우 Windows Vista TCP/IP 호스트는 ARP 요청을 네트워크에 보내지 않습니다. 따라서 Windows Vista TCP/IP 호스트는 캐시의 정보를 사용합니다. 항목이 사용되지 않고 "도달 가능한 시간" 값보다 오랫동안 "도달 가능" 상태로 유지되면 항목이 "부실" 상태로 변경됩니다. 항목이 "부실" 상태인 경우 Windows Vista TCP/IP 호스트는 해당 대상에 도달하려면 ARP 요청을 보내야 합니다.

"도달 가능한 시간" 값은 다음과 같이 계산됩니다.
도달 가능한 시간 = BaseReachable Time ×(MIN_RANDOM_FACTOR 및 MAX_RANDOM_FACTOR 사이의 임의 값)
RFC는 다음과 같은 계산 결과를 제공합니다.

BaseReachable 시간 30,000밀리초(밀리초)
MIN_RANDOM_FACTOR 0.5
MAX_RANDOM_FACTOR 1.5

따라서 "도달 가능한 시간" 값은 15초(30초 × 0.5초)에서 45초(30× 1.5초) 사이입니다. 항목이 15~45초 동안 사용되지 않으면 "부실" 상태로 변경됩니다. 그런 다음, IP 데이터그램이 해당 대상으로 전송되면 호스트는 IPV4에 대한 ARP 요청을 네트워크에 보내야 합니다.

현재 "도달 가능한 시간" 값을 보려면 다음 단계를 수행합니다.

  1. 시작을 클릭하고 검색 시작 상자에 cmd를 입력한 다음 프로그램 목록에서 cmd 클릭합니다.

  2. 관리자 암호 또는 확인을 요청하는 메시지가 표시되면 암호를 입력하거나 계속을 클릭합니다.

  3. 명령 프롬프트에 다음 명령을 입력합니다.
    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
    
    
  4. 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
    
  5. 명령 프롬프트에 다음 예제 명령을 입력하여 "BaseReachable Time" 값을 변경할 수 있습니다.
    netsh interface ipv4 set interface 9 basereachable=60000

  6. 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
    

    참고

    "도달 가능한 기본 시간" 값이 60000ms로 변경되었습니다.

  7. 명령 프롬프트에 다음 명령을 입력하여 인접 캐시 제한을 늘릴 수 있습니다.
    netsh interface ipv4 set global neighborcachelimit = 4096

    참고

    기본 인접 캐시 제한은 클라이언트 버전의 Windows에 대해 256이며 Windows Server의 경우 1024입니다.

인접 캐시 항목 상태에 대한 자세한 내용은 다음 웹 사이트를 참조하세요.
https://www.ietf.org/rfc/rfc2461.txt

이 문서에 나와 있는 다른 공급업체 제품은 Microsoft와 무관한 회사에서 제조한 것입니다. Microsoft는 이들 제품의 성능이나 안정성에 관하여 명시적이든 묵시적이든 어떠한 보증도 하지 않습니다.

이 문서에 포함된 다른 공급업체의 연락처 정보는 기술 지원을 받는 데 도움을 주기 위한 것입니다. 이 연락처 정보는 공지 없이 변경될 수 있습니다. Microsoft는 이러한 다른 공급업체 연락처 정보의 정확성을 보증하지 않습니다.