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;

Member

Address

Typ: SOCKADDR_INET

Die Nachbar-IP-Adresse. Bei diesem Member kann es sich um eine IPv6-Adresse oder eine IPv4-Adresse handeln.

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 wird, oder unter anderen Umständen, und er sollte nicht als persistent betrachtet werden.

InterfaceLuid

Typ: NET_LUID

Der lokal eindeutige Bezeichner (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 vom PhysicalAddress-Member angegebenen physischen Hardwareadresse in Bytes. Der maximal unterstützte Wert beträgt 32 Bytes.

State

Typ: NL_NEIGHBOR_STATE

Der Status einer IP-Adresse eines Netzwerknachbars, wie in RFC 2461, Abschnitt 7.3.2 definiert. Weitere Informationen finden Sie unter http://www.ietf.org/rfc/rfc2461.txt. Dieser Member kann einer der Werte aus dem NL_NEIGHBOR_STATE Enumerationstyp sein, der in der Nldef.h-Headerdatei definiert ist.

Wert Bedeutung
NlnsUnreachable
Die IP-Adresse ist nicht erreichbar.
NlnsIncomplete
Die Adressauflösung wird ausgeführt, und die Linkebenenadresse des Nachbarn wurde noch nicht bestimmt. Speziell für IPv6 wurde eine Neighbor Solicitation an die Angeforderte-Knoten-Multicast-IP-Adresse des Ziels gesendet, aber die entsprechende Nachbaranzeige wurde noch nicht empfangen.
NlnsProbe
Der Nachbar ist nicht mehr erreichbar, und Es werden Tests gesendet, um die Erreichbarkeit zu überprüfen. Für IPv6 wird aktiv nach einer Erreichbarkeitsbestätigung gesucht, indem unicast Neighbor Solicitation-Tests in regelmäßigen Abständen erneut übertragen werden, bis eine Bestätigung der Erreichbarkeit erhalten wird.
NlnsDelay
Der Nachbar ist nicht mehr erreichbar, und der Datenverkehr wurde kürzlich an den Nachbarn gesendet. Anstatt den Nachbarn sofort zu testen, verzögern Sie jedoch das Senden von Tests für eine kurze Zeit, um Protokollen der oberen Ebene die Möglichkeit zu geben, eine Bestätigung der Erreichbarkeit bereitzustellen. Für IPv6 ist mehr Zeit vergangen, als im ReachabilityTime.ReachableTime-Member angegeben ist, seit die letzte positive Bestätigung empfangen wurde, dass der Vorwärtspfad ordnungsgemäß funktioniert und ein Paket gesendet wurde. Wenn innerhalb eines Zeitraums (der zur Verzögerung des ersten Tests) des Eintritts in den NlnsDelay-Zustand keine Bestätigung für die Erreichbarkeit erhalten wird, wird eine Nachbaranfrage gesendet, und das Mitglied des Staates wird in NlnsProbe geändert.
NlnsStale
Der Nachbar ist nicht mehr erreichbar, aber bis Datenverkehr an den Nachbarn gesendet wird, sollte nicht versucht werden, seine Erreichbarkeit zu überprüfen. Für IPv6 ist mehr Zeit verstrichen, als im ReachabilityTime.ReachableTime-Element angegeben ist, seit die letzte positive Bestätigung empfangen wurde, dass der Vorwärtspfad ordnungsgemäß funktionierte. Während der StatusNlnsStale lautet, wird keine Aktion ausgeführt, bis ein Paket gesendet wird.

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

NlnsReachable
Der Nachbar ist bekannt dafür, dass er in letzter Zeit erreichbar war (innerhalb von zehn Sekunden). Für IPv6 wurde innerhalb der im ReachabilityTime.ReachableTime-Member angegebenen Zeit eine positive Bestätigung empfangen, dass der Vorwärtspfad zum Nachbarn ordnungsgemäß funktionierte. Während der State-Wert NlnsReachable ist, findet keine besondere Aktion statt, wenn Pakete gesendet werden.
NlnsPermanent
Die IP-Adresse ist eine permanente Adresse.
NlnsMaximum
Der maximal mögliche Wert für den NL_NEIGHBOR_STATE Enumerationstyp. Dies ist kein rechtlicher Wert für das Mitglied des Staates .

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

Ein Satz 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, in der 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, in der ein Knoten davon ausgeht, dass ein Nachbar nicht erreichbar ist, nachdem er keine Bestätigung zur Erreichbarkeit erhalten hat.

Hinweise

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 mithilfe des Address Resolution Protocol (ARP) ermittelt wurden. Für IPv6 umfasst dies Adressen, die mithilfe des ND-Protokolls (Neighbor Discovery) für IPv6 wie in RFC 2461 angegeben bestimmt wurden. 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 Netioapi.h-Headerdatei automatisch in der Headerdatei Iphlpapi.h enthalten ist. Die Netioapi.h-Headerdatei sollte niemals direkt verwendet werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Kopfzeile netioapi.h (include Iphlpapi.h)

Weitere Informationen

CreateIpNetEntry2

GetIpNetEntry2

GetIpNetTable2

MIB_IPNET_TABLE2

SOCKADDR_INET