Freigeben über


MIB_IPNET_ROW2 Struktur (netioapi.h)

Die MIB_IPNET_ROW2-Struktur speichert Informationen zu einer benachbarten IP-Adresse.

Syntax

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;

Elemente

Address

Typ: SOCKADDR_INET

Die IP-Adresse des Nachbarn. Dieses Mitglied kann eine IPv6-Adresse oder eine IPv4-Adresse sein.

InterfaceIndex

Typ: NET_IFINDEX

Der lokale Indexwert für die Netzwerkschnittstelle, die dieser IP-Adresse zugeordnet ist. Dieser Indexwert kann sich ändern, wenn ein Netzwerkadapter deaktiviert und dann aktiviert oder unter anderen Umständen aktiviert ist und nicht als persistent betrachtet werden sollte.

InterfaceLuid

Typ: NET_LUID

Die lokal eindeutige ID (LUID) für die Netzwerkschnittstelle, die dieser IP-Adresse zugeordnet ist.

PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH]

Typ: UCHAR[IF_MAX_PHYS_ADDRESS_LENGTH]

Die physische Hardwareadresse des Adapters für die Netzwerkschnittstelle, die dieser IP-Adresse zugeordnet ist.

PhysicalAddressLength

Typ: ULONG

Die Länge der physischen Hardwareadresse in Bytes, die vom PhysicalAddress-Element angegeben wird. Der unterstützte Maximalwert beträgt 32 Byte.

State

Typ: NL_NEIGHBOR_STATE

Der Status einer IP-Adresse des Netzwerknachbars gemäß RFC 2461, Abschnitt 7.3.2. Weitere Informationen finden Sie unter http://www.ietf.org/rfc/rfc2461.txt. Dieses Element kann einer der Werte aus dem in der Headerdatei Nldef.h definierten NL_NEIGHBOR_STATE Enumerationstyp sein.

Wert Bedeutung
NlnsUnreachable
Die IP-Adresse ist nicht erreichbar.
NlnsIncomplete
Die Adressauflösung wird ausgeführt, und die Linkschichtadresse des Nachbarn wurde noch nicht ermittelt. Speziell für IPv6 wurde eine Nachbar-Aufforderung an die Multicast-IP-Adresse des Ziels gesendet, aber die entsprechende Nachbaranzeige wurde noch nicht empfangen.
NlnsProbe
Der Nachbar ist nicht mehr bekannt, erreichbar zu sein, und Sonde werden gesendet, um die Reichweite zu überprüfen. Für IPv6 wird aktiv eine Erreichbarkeitsbestätigung gesucht, indem unicast Neighbor Solicitation Probes in regelmäßigen Abständen erneut übermittelt werden, bis eine Erreichbarkeitsbestätigung empfangen wird.
NlnsDelay
Der Nachbar ist nicht mehr erreichbar, und der Verkehr wurde kürzlich an den Nachbarn gesendet. Anstatt den Nachbarn sofort zu untersuchen, verzögern Sie jedoch das Senden von Probes für eine kurze Weile, um oberen Schichtprotokollen die Möglichkeit zu geben, die Reichweite zu bestätigen. Für IPv6 ist mehr Zeit abgelaufen, als im ReachabilityTime.ReachableTime-Mitglied angegeben ist, seit der letzten positiven Bestätigung empfangen wurde, dass der Vorwärtspfad ordnungsgemäß funktionierte und ein Paket gesendet wurde. Wenn innerhalb eines bestimmten Zeitraums (zum Verzögern des ersten Prüfpunkts) keine Bestätigung zur Erreichbarkeit des Zustands "NlnsDelay " empfangen wird, wird eine Nachbaranforderung gesendet, und das Mitglied des Staates wird in NlnsProbe geändert.
NlnsStale
Der Nachbar ist nicht mehr erreichbar, aber bis der Verkehr an den Nachbarn gesendet wird, sollte kein Versuch unternommen werden, seine Reichweite zu überprüfen. Für IPv6 ist mehr Zeit abgelaufen, als im ReachabilityTime.ReachableTime-Mitglied angegeben ist, seit der letzten positiven Bestätigung empfangen wurde, dass der Vorwärtspfad ordnungsgemäß funktioniert hat. Während der ZustandNlnsStale ist, wird keine Aktion ausgeführt, bis ein Paket gesendet wird.

Der NlnsStale-Zustand wird eingegeben, wenn eine unerwünschte Nachbarermittlungsnachricht empfangen wird, die die zwischengespeicherte IP-Adresse aktualisiert. Der Empfang einer solchen Nachricht bestätigt nicht die Erreichbarkeit, und die Eingabe des NlnsStale-Zustands stellt sicher, dass die Reichweite schnell überprüft wird, wenn der Eintrag tatsächlich verwendet wird. Die Reichweite wird jedoch erst überprüft, wenn der Eintrag tatsächlich verwendet wird.

NlnsReachable
Der Nachbar ist bekannt, dass er vor kurzem erreichbar war (vor Zehn Sekunden). Für IPv6 wurde innerhalb der im Member ReachabilityTime.ReachableTime angegebenen Zeit eine positive Bestätigung empfangen, dass der Vorwärtspfad zum Nachbarn ordnungsgemäß funktionierte. Während der StaatNlnsReachable ist, findet keine spezielle Aktion statt, wenn Pakete gesendet werden.
NlnsPermanent
Die IP-Adresse ist eine dauerhafte Adresse.
NlnsMaximum
Der maximal mögliche Wert für den NL_NEIGHBOR_STATE Enumerationstyp. Dies ist kein rechtlicher Wert für den Mitgliedstaat .

IsRouter

Typ: BOOLEAN

Ein Wert, der angibt, ob es sich bei dieser IP-Adresse um einen Router handelt.

IsUnreachable

Typ: BOOLEAN

Ein Wert, der angibt, ob diese IP-Adresse nicht erreichbar ist.

Flags

Typ: UCHAR

Eine Reihe von Flags, die angeben, ob es sich bei der IP-Adresse um einen Router handelt und ob die IP-Adresse nicht erreichbar ist.

ReachabilityTime

ReachabilityTime.LastReachable

Typ: ULONG

Die Zeit in Millisekunden, dass ein Knoten davon ausgeht, dass ein Nachbar erreichbar ist, nachdem eine Bestätigung zur Erreichbarkeit erhalten wurde.

ReachabilityTime.LastUnreachable

Typ: ULONG

Die Zeit in Millisekunden, dass ein Knoten davon ausgeht, dass ein Nachbar nicht erreichbar ist, nachdem er keine Bestätigung zur Erreichbarkeit erhalten hat.

Bemerkungen

Die MIB_IPNET_ROW2-Struktur wird unter Windows Vista und höher definiert.

Die GetIpNetTable2-Funktion listet die benachbarten IP-Adressen auf einem lokalen System auf und gibt diese Informationen in einer MIB_IPNET_TABLE2 Struktur zurück.

Für IPv4 umfasst dies Adressen, die das Adressauflösungsprotokoll (Address Resolution Protocol, ARP) bestimmt haben. Für IPv6 umfasst dies Adressen, die mithilfe des ND-Protokolls (Neighbor Discovery) für IPv6 bestimmt wurden, wie in RFC 2461 angegeben. Weitere Informationen finden Sie unter http://www.ietf.org/rfc/rfc2461.txt.

Die GetIpNetEntry2-Funktion ruft eine einzelne benachbarte IP-Adresse ab und gibt diese Informationen in einer MIB_IPNET_ROW2 Struktur zurück.

Beachten Sie, dass die Headerdatei "Netioapi.h " automatisch in der Headerdatei "Iphlpapi.h " enthalten ist. Die Headerdatei Netioapi.h sollte nie direkt verwendet werden.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows Vista [nur Desktop-Apps]
Mindestanforderungen für unterstützte Server Windows Server 2008 [Nur Desktop-Apps]
Header netioapi.h (include Iphlpapi.h)

Siehe auch

CreateIpNetEntry2

GetIpNetEntry2

GetIpNetTable2

MIB_IPNET_TABLE2

SOCKADDR_INET