estructura MIB_IPNET_ROW2 (netioapi.h)

La estructura MIB_IPNET_ROW2 almacena información sobre una dirección IP vecina.

Sintaxis

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;

Miembros

Address

Tipo: SOCKADDR_INET

Dirección IP de vecino. Este miembro puede ser una dirección IPv6 o una dirección IPv4.

InterfaceIndex

Tipo: NET_IFINDEX

Valor de índice local de la interfaz de red asociada a esta dirección IP. Este valor de índice puede cambiar cuando un adaptador de red está deshabilitado y, a continuación, habilitado, o en otras circunstancias, y no debe considerarse persistente.

InterfaceLuid

Tipo: NET_LUID

Identificador único local (LUID) de la interfaz de red asociada a esta dirección IP.

PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH]

Tipo: UCHAR[IF_MAX_PHYS_ADDRESS_LENGTH]

Dirección de hardware físico del adaptador para la interfaz de red asociada a esta dirección IP.

PhysicalAddressLength

Tipo: ULONG

Longitud, en bytes, de la dirección de hardware física especificada por el miembro PhysicalAddress . El valor máximo admitido es de 32 bytes.

State

Tipo: NL_NEIGHBOR_STATE

El estado de una dirección IP de vecino de red tal como se define en RFC 2461, sección 7.3.2. Para obtener más información, vea http://www.ietf.org/rfc/rfc2461.txt. Este miembro puede ser uno de los valores del tipo de enumeración NL_NEIGHBOR_STATE definido en el archivo de encabezado Nldef.h .

Valor Significado
NlnsUnreachable
No se puede acceder a la dirección IP.
NlnsIncomplete
La resolución de direcciones está en curso y la dirección de capa de vínculo del vecino aún no se ha determinado. Específicamente para IPv6, se ha enviado una solicitud de vecino a la dirección IP de multidifusión de nodo solicitado del destino, pero aún no se ha recibido el anuncio de vecino correspondiente.
NlnsProbe
Ya no se sabe que el vecino es accesible y se envían sondeos para comprobar la disponibilidad. En el caso de IPv6, se busca activamente una confirmación de accesibilidad retransmitiendo sondeos de solicitud de vecinos de unidifusión a intervalos regulares hasta que se recibe una confirmación de accesibilidad.
NlnsDelay
Ya no se sabe que el vecino es accesible y el tráfico se ha enviado recientemente al vecino. Sin embargo, en lugar de sondear inmediatamente al vecino, retrasar el envío de sondeos durante un breve tiempo para dar a los protocolos de capa superior una oportunidad para proporcionar confirmación de accesibilidad. Para IPv6, ha transcurrido más tiempo de lo especificado en el miembro ReachabilityTime.ReachableTime desde que se recibió la última confirmación positiva de que la ruta de acceso hacia delante funcionaba correctamente y se envió un paquete. Si no se recibe ninguna confirmación de accesibilidad en un período de tiempo (utilizado para retrasar el primer sondeo) de entrar en el estado NlnsDelay , se envía una solicitud de vecino y el miembro del Estado cambia a NlnsProbe.
NlnsStale
Ya no se sabe que el vecino es accesible, pero hasta que se envía el tráfico al vecino, no se debe intentar comprobar su capacidad de acceso. Para IPv6, ha transcurrido más tiempo que en el miembro ReachabilityTime.ReachableTime desde que se recibió la última confirmación positiva de que la ruta de acceso hacia delante funcionaba correctamente. Mientras el estado es NlnsStale, no se realiza ninguna acción hasta que se envía un paquete.

El estado NlnsStale se escribe al recibir un mensaje de detección de vecino no solicitado que actualiza la dirección IP almacenada en caché. La recepción de este mensaje no confirma la capacidad de acceso y la especificación del estado NlnsStale garantiza la disponibilidad se comprueba rápidamente si realmente se usa la entrada. Sin embargo, la accesibilidad no se comprueba realmente hasta que se usa realmente la entrada.

NlnsReachable
Se sabe que el vecino ha sido accesible recientemente (hace decenas de segundos). Para IPv6, se recibió una confirmación positiva dentro del tiempo especificado en el miembro ReachabilityTime.ReachableTime de que la ruta de acceso hacia delante al vecino estaba funcionando correctamente. Aunque el estado es NlnsReachable, no se realiza ninguna acción especial a medida que se envían los paquetes.
NlnsPermanent
La dirección IP es una dirección permanente.
NlnsMaximum
Valor máximo posible para el tipo de enumeración NL_NEIGHBOR_STATE . No es un valor legal para el miembro del Estado .

IsRouter

Tipo: BOOLEAN

Valor que indica si esta dirección IP es un enrutador.

IsUnreachable

Tipo: BOOLEAN

Valor que indica si esta dirección IP no es accesible.

Flags

Tipo: UCHAR

Conjunto de marcas que indican si la dirección IP es un enrutador y si la dirección IP es inaccesible.

ReachabilityTime

ReachabilityTime.LastReachable

Tipo: ULONG El tiempo, en milisegundos, que un nodo supone que se puede acceder a un vecino después de haber recibido una confirmación de accesibilidad.

ReachabilityTime.LastUnreachable

Tipo: ULONG El tiempo, en milisegundos, que un nodo supone que un vecino no es accesible después de no haber recibido una confirmación de accesibilidad.

Comentarios

La estructura MIB_IPNET_ROW2 se define en Windows Vista y versiones posteriores.

La función GetIpNetTable2 enumera las direcciones IP vecinas de un sistema local y devuelve esta información en una estructura MIB_IPNET_TABLE2 .

En el caso de IPv4, esto incluye las direcciones determinadas que se usaron en el Protocolo de resolución de direcciones (ARP). En el caso de IPv6, esto incluye direcciones determinadas mediante el protocolo de detección de vecinos (ND) para IPv6, tal y como se especifica en RFC 2461. Para obtener más información, vea http://www.ietf.org/rfc/rfc2461.txt.

La función GetIpNetEntry2 recupera una sola dirección IP vecina y devuelve esta información en una estructura MIB_IPNET_ROW2 .

Tenga en cuenta que el archivo de encabezado Netioapi.h se incluye automáticamente en el archivo de encabezado Iphlpapi.h . El archivo de encabezado Netioapi.h nunca se debe usar directamente.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Encabezado netioapi.h (incluya Iphlpapi.h)

Consulte también

CreateIpNetEntry2

GetIpNetEntry2

GetIpNetTable2

MIB_IPNET_TABLE2

SOCKADDR_INET