MIB_IPINTERFACE_ROW-Struktur
Die MIB_IPINTERFACE_ROW-Struktur speichert Schnittstellenverwaltungsinformationen für eine bestimmte IP-Adressfamilie auf einer Netzwerkschnittstelle.
Syntax
typedef struct _MIB_IPINTERFACE_ROW {
ADDRESS_FAMILY Family;
NET_LUID InterfaceLuid;
NET_IFINDEX InterfaceIndex;
ULONG MaxReassemblySize;
ULONG64 InterfaceIdentifier;
ULONG MinRouterAdvertisementInterval;
ULONG MaxRouterAdvertisementInterval;
BOOLEAN AdvertisingEnabled;
BOOLEAN ForwardingEnabled;
BOOLEAN WeakHostSend;
BOOLEAN WeakHostReceive;
BOOLEAN UseAutomaticMetric;
BOOLEAN UseNeighborUnreachabilityDetection;
BOOLEAN ManagedAddressConfigurationSupported;
BOOLEAN OtherStatefulConfigurationSupported;
BOOLEAN AdvertiseDefaultRoute;
NL_ROUTER_DISCOVERY_BEHAVIOR RouterDiscoveryBehavior;
ULONG DadTransmits;
ULONG BaseReachableTime;
ULONG RetransmitTime;
ULONG PathMtuDiscoveryTimeout;
NL_LINK_LOCAL_ADDRESS_BEHAVIOR LinkLocalAddressBehavior;
ULONG LinkLocalAddressTimeout;
ULONG ZoneIndices[ScopeLevelCount];
ULONG SitePrefixLength;
ULONG Metric;
ULONG NlMtu;
BOOLEAN Connected;
BOOLEAN SupportsWakeUpPatterns;
BOOLEAN SupportsNeighborDiscovery;
BOOLEAN SupportsRouterDiscovery;
ULONG ReachableTime;
NL_INTERFACE_OFFLOAD_ROD TransmitOffload;
NL_INTERFACE_OFFLOAD_ROD ReceiveOffload;
BOOLEAN DisableDefaultRoutes;
} MIB_IPINTERFACE_ROW, *PMIB_IPINTERFACE_ROW;
Member
Familie
Die Adressfamilie. Mögliche Werte für die Adressfamilie sind in der Winsock2.h-Headerdatei aufgeführt. Beachten Sie, dass die Werte für die AF_ Adressfamilie und PF_ Protokollfamilienkonstanten identisch sind (z. B. AF_INET und PF_INET), sodass Sie beide Konstanten verwenden können.Unter Windows Vista und höheren Versionen der Windows-Betriebssysteme werden mögliche Werte für diesen Member in der Ws2def.h-Headerdatei definiert. Beachten Sie, dass die Ws2def.h-Headerdatei automatisch in Netioapi.h enthalten ist und Sie Ws2def.h niemals direkt verwenden sollten.
Die folgenden Werte werden derzeit unterstützt:
AF_INET
Die IPv4-Adressfamilie.AF_INET6
Die IPv6-Adressfamilie.AF_UNSPEC
Die Adressfamilie ist nicht angegeben.
InterfaceLuid
Der lokal eindeutige Bezeichner (LUID) für die Netzwerkschnittstelle.InterfaceIndex
Der lokale Indexwert für die Netzwerkschnittstelle. 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.MaxReassemblySize
Die maximale Größe der Neuassembly eines fragmentierten IP-Pakets in Byte. Dieser Member ist derzeit auf 0 (null) festgelegt und für die zukünftige Verwendung reserviert.InterfaceIdentifier
Für die zukünftige Verwendung reserviert. Dieser Member ist derzeit auf 0 (null) festgelegt.MinRouterAdvertisementInterval
Das minimale Router-Ankündigungsintervall in Millisekunden für diese IP-Schnittstelle. Dieser Member ist für IPv6 standardmäßig 200. Dieser Member gilt nur, wenn das AdvertisingEnabled-Element auf TRUE festgelegt ist.MaxRouterAdvertisementInterval
Das maximale Router-Ankündigungsintervall in Millisekunden auf dieser IP-Schnittstelle. Dieser Member ist für IPv6 standardmäßig 600. Dieser Member gilt nur, wenn das AdvertisingEnabled-Element auf TRUE festgelegt ist.AdvertisingEnabled
Ein Wert, der angibt, ob Routerwerbung auf dieser IP-Schnittstelle aktiviert ist. Die Standardeinstellung für IPv6 ist, dass router advertisement nur aktiviert ist, wenn die Schnittstelle so konfiguriert ist, dass sie als Router fungiert. Die Standardeinstellung für IPv4 ist, dass router advertisement deaktiviert ist.ForwardingEnabled
Ein -Wert, der angibt, ob die IP-Weiterleitung auf dieser IP-Schnittstelle aktiviert ist.WeakHostSend
Ein -Wert, der angibt, ob der schwache Host-Sendemodus für diese IP-Schnittstelle aktiviert ist.WeakHostReceive
Ein -Wert, der angibt, ob der schwache Host-Empfangsmodus auf dieser IP-Schnittstelle aktiviert ist.Verwenden vonAutomaticMetric
Ein -Wert, der angibt, ob die IP-Schnittstelle eine automatische Metrik verwendet.UseNeighborUnreachabilityDetection
Ein -Wert, der angibt, ob die Erkennung der Nichterreichbarkeit von Nachbarn auf dieser IP-Schnittstelle aktiviert ist.ManagedAddressConfigurationSupported
Ein -Wert, der angibt, ob die IP-Schnittstelle die Konfiguration verwalteter Adressen mithilfe von DHCP unterstützt.OtherStatefulConfigurationSupported
Ein -Wert, der angibt, ob die IP-Schnittstelle andere zustandsbehaftete Konfigurationen unterstützt (z. B. Routenkonfiguration).AdvertiseDefaultRoute
Ein -Wert, der angibt, ob die IP-Schnittstelle die Standardroute angibt. Dieser Member gilt nur, wenn das AdvertisingEnabled-Element auf TRUE festgelegt ist.RouterDiscoveryBehavior
Ein NL_ROUTER_DISCOVERY_BEHAVIOR Typ des Routerermittlungsverhaltens.DadTransmits
Die Anzahl der aufeinanderfolgenden Nachrichten, die gesendet werden, während der Treiber die Erkennung doppelter Adressen für eine vorläufige IP-Unicastadresse ausführt. Der Wert 0 (null) gibt an, dass die Erkennung doppelter Adressen für vorläufige IP-Adressen nicht durchgeführt wird. Der Wert 1 gibt eine einzelne Übertragung ohne Folgeweiterübertragungen an. Für IPv4 ist der Standardwert für dieses Element 3. Für IPv6 ist der Standardwert für dieses Element 1. Für IPv6 werden diese Nachrichten als IPv6 Neighbor Solicitation -Anforderungen (NS) gesendet. Dieses Element ist in RFC 2462 als DupAddrDetectTransmits definiert. Weitere Informationen finden Sie unter IPv6 "Stateless Address Autoconfiguration".BaseReachableTime
Die Basis für zufällig erreichbare Zeit in Millisekunden. Das Element wird in RFC 2461 beschrieben. Weitere Informationen finden Sie unter "Neighbor Discovery for IP Version 6 (IPv6)".RetransmitTime
Timeout des IPv6 Neighbor Solicitation (NS) in Millisekunden. Das Element wird in RFC 2461 beschrieben. Weitere Informationen finden Sie unter "Neighbor Discovery for IP Version 6 (IPv6)".PathMtuDiscoveryTimeout
Das Pfad-MTU-Ermittlungstimeout in Millisekunden.LinkLocalAddressBehavior
Ein NL_LINK_LOCAL_ADDRESS_BEHAVIOR link lokale Adressverhaltenstyp.LinkLocalAddressTimeout
Timeout der lokalen IP-Adresse für die Verknüpfung in Millisekunden.ZoneIndices
Ein Array, das den Zonenteil der Bereichs-IDs angibt.SitePrefixLength
Die Standortpräfixlänge in Bits der IP-Schnittstellenadresse. Die Länge des Standortpräfixes oder des Netzwerkteils der IP-Schnittstellenadresse in Bits. Bei einer IPv4-Adresse ist jeder Wert, der größer als 32 ist, ein unzulässiger Wert. Bei einer IPv6-Adresse ist jeder Wert, der größer als 128 ist, ein unzulässiger Wert. Der Wert 255 wird in der Regel verwendet, um einen unzulässigen Wert darzustellen.Metrik
Die Schnittstellenmetrik. Beachten Sie, dass die tatsächliche Routenmetrik, die zum Berechnen der Routenpräferenz verwendet wird, die Summe des Routenmetrikoffsets ist, der im Metrikelement der MIB_IPFORWARD_ROW2-Struktur und der in diesem Member angegebenen Schnittstellenmetrik angegeben ist.NlMtu
Die MTU-Größe auf Netzwerkebene in Bytes.Verbunden
Ein Wert, der angibt, ob die Schnittstelle mit einem Netzwerkzugriffspunkt verbunden ist.SupportsWakeUpPatterns
Ein Wert, der angibt, ob die Netzwerkschnittstelle Wake on LAN unterstützt.SupportsNeighborDiscovery
Ein Wert, der angibt, ob die IP-Schnittstelle die Nachbarermittlung unterstützt.SupportsRouterDiscovery
Ein Wert, der angibt, ob die IP-Schnittstelle die Nachbarermittlung unterstützt.ReachableTime
Die Basis für zufällig erreichbare Zeit in Millisekunden. Das Element wird in RFC 2461 beschrieben. Weitere Informationen finden Sie unter Nachbarermittlung für IP Version 6 (IPv6).TransmitOffload
Eine Reihe von Flags, die die Übertragungsauslagerungsfunktionen für die IP-Schnittstelle angeben. Die NL_INTERFACE_OFFLOAD_ROD-Struktur ist in der Headerdatei Nldef.h definiert.ReceiveOffload
Eine Reihe von Flags, die die Empfangsauslagerungsfunktionen für die IP-Schnittstelle angeben. Die NL_INTERFACE_OFFLOAD_ROD-Struktur ist in der Headerdatei Nldef.h definiert.DisableDefaultRoutes
Ein Wert, der angibt, ob die Verwendung der Standardroute für die Schnittstelle deaktiviert werden soll. VPN-Clients können diesen Member verwenden, um geteiltes Tunneling einzuschränken.
Bemerkungen
Die Member Family, InterfaceLuid und InterfaceIndex identifizieren einen MIB_IPINTERFACE_ROW Eintrag eindeutig.
Wenn ein Unicastpaket auf einem Host eintrifft, muss die IP-Adresse ermitteln, ob das Paket lokal bestimmt ist (sein Ziel entspricht einer Adresse, die einer Schnittstelle des Hosts zugewiesen ist). IP-Implementierungen, die einem schwachen Hostmodell folgen, akzeptieren jedes lokal festgelegte Paket, unabhängig von der Schnittstelle, über die das Paket empfangen wurde. IP-Implementierungen, die dem starken Hostmodell folgen, akzeptieren nur lokal bestimmte Pakete, wenn die Zieladresse im Paket mit einer Adresse übereinstimmt, die der Schnittstelle zugewiesen ist, auf der das Paket empfangen wurde. Das schwache Hostmodell bietet eine bessere Netzwerkkonnektivität. Dies macht Hosts jedoch auch anfällig für Angriffe auf mehrere Heimnetzwerke.
Die aktuelle IPv4-Implementierung in den Betriebssystemen Windows Server 2003 und Windows XP verwendet das schwache Hostmodell. Der TCP/IP-Stapel unter Windows Vista und höheren Versionen der Windows-Betriebssysteme unterstützt das starke Hostmodell sowohl für IPv4 als auch für IPv6 und ist standardmäßig für die Verwendung des starken Hostmodus konfiguriert (die Member WeakHostReceive und WeakHostSend sind auf FALSE festgelegt). Sie können den TCP/IP-Stapel unter Windows Vista und höher so konfigurieren, dass ein schwaches Hostmodell verwendet wird.
Eine Metrik ist ein Wert, der einer IP-Route für eine bestimmte Netzwerkschnittstelle zugewiesen ist, die die Kosten identifiziert, die mit der Verwendung dieser Route verbunden sind. Die Metrik kann beispielsweise in Bezug auf Linkgeschwindigkeit, Hopanzahl oder Zeitverzögerung geschätzt werden. Die automatische Metrik ist ein Feature unter Windows XP und höher, das automatisch die Metrik für die lokalen Routen konfiguriert, die auf der Verbindungsgeschwindigkeit basieren. Standardmäßig ist das Feature für automatische Metriken unter Windows XP und höher aktiviert ( UseAutomaticMetric ist auf TRUE festgelegt). Sie können dieses Feature auch manuell konfigurieren, um einer IP-Route eine bestimmte Metrik zuzuweisen.
Das Feature für automatische Metriken kann nützlich sein, wenn die Routingtabelle mehrere Routen für dasselbe Ziel enthält. Beispielsweise verfügt ein Computer mit einer 10-Megabit-Netzwerkschnittstelle und einer 100-Megabit-Netzwerkschnittstelle über ein Standardgateway, das auf beiden Netzwerkschnittstellen konfiguriert ist. Wenn UseAutomaticMetricAUF TRUE festgelegt ist, kann dieses Feature den gesamten Datenverkehr erzwingen, der für das Internet bestimmt ist, z. B. die schnellste verfügbare Netzwerkschnittstelle zu verwenden.
Die Im Metrikmember angegebene Schnittstellenmetrik stellt nur die Metrik für die Schnittstelle dar. Die vollständige Routingmetrik ist eine Kombination dieser Schnittstellenmetrik, die dem Routenmetrikoff hinzugefügt wird , der im Metrikelement der MIB_IPFORWARD_ROW2 Struktur eines Routeneintrags angegeben wird, der für diese Schnittstelle angegeben ist.
Ein nicht privilegierter gleichzeitiger Zugriff auf mehrere Netzwerke mit unterschiedlichen Sicherheitsanforderungen verursacht eine Sicherheitslücke und ermöglicht es einem nicht privilegierten Treiber, Daten versehentlich zwischen den beiden Netzwerken weiterzu leiten. Ein typisches Beispiel ist der gleichzeitige Zugriff auf ein virtuelles privates Netzwerk (VPN) und das Internet. Windows Server 2003 und Windows XP verwenden ein schwaches Hostmodell, bei dem ras (Ras) einen solchen gleichzeitigen Zugriff verhindert, indem die Routenmetrik aller Standardrouten über andere Schnittstellen erhöht wird. Daher wird der gesamte Datenverkehr über die VPN-Schnittstelle weitergeleitet, was die andere Netzwerkkonnektivität beeinträchtigt.
Unter Windows Vista und höher wird standardmäßig ein starkes Hostmodell verwendet. Wenn bei der Routensuche mithilfe der GetBestRoute2-Funktion eine Quell-IP-Adresse angegeben wird, ist die Routensuche auf die Schnittstelle der Quell-IP-Adresse beschränkt. Die Änderung der Routenmetrik durch RAS hat keine Auswirkungen, da die Liste der potenziellen Routen nicht einmal die Route für die VPN-Schnittstelle enthält, die Datenverkehr zum Internet ermöglicht. Ihr Treiber kann das DisableDefaultRoutes-Element der MIB_IPINTERFACE_ROW-Struktur verwenden, um die Standardroute für eine Schnittstelle zu deaktivieren. VPN-Clients können diesen Member als Sicherheitsmaßnahme verwenden, um geteiltes Tunneling einzuschränken, wenn split Tunneling vom VPN-Client nicht erforderlich ist. Ein VPN-Client kann die SetIpInterfaceEntry-Funktion aufrufen, um den DisableDefaultRoutes-Member bei Bedarf auf TRUE festzulegen. Ein VPN-Client kann den aktuellen Zustand des DisableDefaultRoutes-Members abfragen, indem er die GetIpInterfaceEntry-Funktion aufruft .
Requirements (Anforderungen)
Version |
Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme. |
Header |
Netioapi.h (einschließlich Netioapi.h) |