Freigeben über


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)

Weitere Informationen

GetBestRoute2

GetIpInterfaceEntry

MIB_IPFORWARD_ROW2

MIB_IPINTERFACE_TABLE

NET_LUID

NL_LINK_LOCAL_ADDRESS_BEHAVIOR

NL_ROUTER_DISCOVERY_BEHAVIOR

SetIpInterfaceEntry