다음을 통해 공유


MIB_IPNET_ROW2 구조체(netioapi.h)

MIB_IPNET_ROW2 구조체는 인접 IP 주소에 대한 정보를 저장합니다.

구문

typedef struct _MIB_IPNET_ROW2 {
  SOCKADDR_INET     Address;
  NET_IFINDEX       InterfaceIndex;
  NET_LUID          InterfaceLuid;
  UCHAR             PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
  ULONG             PhysicalAddressLength;
  NL_NEIGHBOR_STATE State;
  union {
    struct {
      BOOLEAN IsRouter : 1;
      BOOLEAN IsUnreachable : 1;
    };
    UCHAR Flags;
  };
  union {
    ULONG LastReachable;
    ULONG LastUnreachable;
  } ReachabilityTime;
} MIB_IPNET_ROW2, *PMIB_IPNET_ROW2;

멤버

Address

형식: SOCKADDR_INET

인접 IP 주소입니다. 이 멤버는 IPv6 주소 또는 IPv4 주소일 수 있습니다.

InterfaceIndex

형식: NET_IFINDEX

이 IP 주소와 연결된 네트워크 인터페이스의 로컬 인덱스 값입니다. 이 인덱스 값은 네트워크 어댑터를 사용하지 않도록 설정한 다음 사용하도록 설정한 경우 또는 다른 상황에서는 변경될 수 있으며 영구로 간주해서는 안 됩니다.

InterfaceLuid

형식: NET_LUID

이 IP 주소와 연결된 네트워크 인터페이스에 대한 LUID(로컬 고유 식별자)입니다.

PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH]

형식: UCHAR[IF_MAX_PHYS_ADDRESS_LENGTH]

이 IP 주소와 연결된 네트워크 인터페이스에 대한 어댑터의 실제 하드웨어 주소입니다.

PhysicalAddressLength

형식: ULONG

PhysicalAddress 멤버가 지정한 실제 하드웨어 주소의 길이(바이트)입니다. 지원되는 최대값은 32바이트입니다.

State

형식: NL_NEIGHBOR_STATE

RFC 2461, 섹션 7.3.2에 정의된 네트워크 인접 IP 주소의 상태입니다. 자세한 내용은 http://www.ietf.org/rfc/rfc2461.txt를 참조하세요. 이 멤버는 Nldef.h 헤더 파일에 정의된 NL_NEIGHBOR_STATE 열거형 형식의 값 중 하나일 수 있습니다.

의미
NlnsUnreachable
IP 주소에 연결할 수 없습니다.
NlnsIncomplete
주소 확인이 진행 중이며 인접 항목의 링크 계층 주소가 아직 결정되지 않았습니다. 특히 IPv6의 경우 인접 요청이 대상의 요청 노드 멀티캐스트 IP 주소로 전송되었지만 해당 인접 알림은 아직 수신되지 않았습니다.
NlnsProbe
인접 항목은 더 이상 연결할 수 없는 것으로 알려져 있으며, 도달 가능성을 확인하기 위해 프로브가 전송되고 있습니다. IPv6의 경우 연결 가능성 확인이 수신될 때까지 유니캐스트 인접 요청 프로브를 정기적으로 다시 전송하여 연결성 확인을 적극적으로 모색하고 있습니다.
NlnsDelay
이웃은 더 이상 연결할 수 없는 것으로 알려져 있으며, 최근 트래픽이 이웃에게 전송되었습니다. 그러나 인접 계층을 즉시 프로브하는 대신 상층 프로토콜에 도달 가능성 확인을 제공할 수 있는 기회를 제공하기 위해 잠시 동안 프로브 전송을 지연합니다. IPv6의 경우 전달 경로가 제대로 작동하고 패킷이 전송되었다는 마지막 긍정 확인이 수신된 이후 ReachabilityTime.ReachableTime 멤버에 지정된 것보다 더 많은 시간이 경과했습니다. NlnsDelay 상태를 입력하는 기간(첫 번째 프로브를 지연하는 데 사용됨) 기간 내에 도달 가능성 확인이 수신되지 않으면 인접한 요청이 전송되고 상태 구성원이 NlnsProbe로 변경됩니다.
NlnsStale
이웃은 더 이상 연결할 수 없는 것으로 알려져 있지만 트래픽이 이웃으로 전송될 때까지는 연결 가능성을 확인하려고 시도해서는 안 됩니다. IPv6의 경우 전달 경로가 제대로 작동하고 있다는 마지막 긍정 확인을 받은 이후 ReachabilityTime.ReachableTime 멤버에 지정된 것보다 더 많은 시간이 경과했습니다. 상태가NlnsStale이지만 패킷이 전송될 때까지 아무 작업도 수행되지 않습니다.

NlnsStale 상태는 캐시된 IP 주소를 업데이트하는 원치 않는 인접 검색 메시지를 받으면 입력됩니다. 이러한 메시지를 수신해도 도달 가능성을 확인할 수 없으며 NlnsStale 상태를 입력하면 항목이 실제로 사용되는 경우 연결성이 빠르게 확인됩니다. 그러나 항목이 실제로 사용될 때까지 도달 가능성은 실제로 확인되지 않습니다.

NlnsReachable
이웃은 최근 (수십 초 전에) 도달 한 것으로 알려져있다. IPv6의 경우 ReachabilityTime.ReachableTime 멤버에 지정된 시간 내에 인접 경로의 정방향 경로가 제대로 작동하는지 확인하는 긍정적인 확인이 수신되었습니다. 상태는NlnsReachable이지만 패킷이 전송되면 특별한 작업이 수행되지 않습니다.
NlnsPermanent
IP 주소는 영구 주소입니다.
NlnsMaximum
NL_NEIGHBOR_STATE 열거형 형식에 대해 가능한 최대 값입니다. 이는 회원국에 대한 법적 가치가 아닙니다.

IsRouter

형식: BOOLEAN

이 IP 주소가 라우터인지 여부를 나타내는 값입니다.

IsUnreachable

형식: BOOLEAN

이 IP 주소에 연결할 수 없는지 나타내는 값입니다.

Flags

형식: UCHAR

IP 주소가 라우터인지 여부와 IP 주소에 연결할 수 없는지 여부를 나타내는 플래그 집합입니다.

ReachabilityTime

ReachabilityTime.LastReachable

형식: ULONG 노드가 연결 가능성 확인을 받은 후 인접 항목에 연결할 수 있다고 가정하는 시간(밀리초)입니다.

ReachabilityTime.LastUnreachable

형식: ULONG 노드가 연결 가능성 확인을 받지 못한 후 인접 항목에 연결할 수 없다고 가정하는 시간(밀리초)입니다.

설명

MIB_IPNET_ROW2 구조는 Windows Vista 이상에서 정의됩니다.

GetIpNetTable2 함수는 로컬 시스템의 인접 IP 주소를 열거하고 이 정보를 MIB_IPNET_TABLE2 구조로 반환합니다.

IPv4의 경우 여기에는 ARP(주소 확인 프로토콜)를 사용한 것으로 확인된 주소가 포함됩니다. IPv6의 경우 RFC 2461에 지정된 대로 IPv6에 대한 ND(인접 검색) 프로토콜을 사용하여 결정된 주소가 포함됩니다. 자세한 내용은 http://www.ietf.org/rfc/rfc2461.txt를 참조하세요.

GetIpNetEntry2 함수는 단일 인접 IP 주소를 검색하고 이 정보를 MIB_IPNET_ROW2 구조로 반환합니다.

Netioapi.h 헤더 파일은 Iphlpapi.h 헤더 파일에 자동으로 포함됩니다. Netioapi.h 헤더 파일은 직접 사용하면 안 됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
머리글 netioapi.h(Iphlpapi.h 포함)

추가 정보

CreateIpNetEntry2

GetIpNetEntry2

GetIpNetTable2

MIB_IPNET_TABLE2

SOCKADDR_INET