Partager via


structure MIB_IPINTERFACE_ROW

La structure MIB_IPINTERFACE_ROW stocke les informations de gestion d’interface pour une famille d’adresses IP particulière sur une interface réseau.

Syntaxe

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;

Membres

  • Famille
    Famille d’adresses. Les valeurs possibles pour la famille d’adresses sont répertoriées dans le fichier d’en-tête Winsock2.h. Notez que les valeurs du AF_ adressent les constantes famille et PF_ de famille de protocole sont identiques (par exemple, AF_INET et PF_INET), vous pouvez donc utiliser l’une ou l’autre constante.

    Sur Windows Vista et les versions ultérieures des systèmes d’exploitation Windows, les valeurs possibles pour ce membre sont définies dans le fichier d’en-tête Ws2def.h. Notez que le fichier d’en-tête Ws2def.h est automatiquement inclus dans Netioapi.h et que vous ne devez jamais utiliser Ws2def.h directement.

    Les valeurs suivantes sont actuellement prises en charge :

    • AF_INET
      Famille d’adresses IPv4.

    • AF_INET6
      Famille d’adresses IPv6.

    • AF_UNSPEC
      La famille d’adresses n’est pas spécifiée.

  • InterfaceLuid
    Identificateur unique local (LUID) de l’interface réseau.

  • InterfaceIndex
    Valeur d’index local pour l’interface réseau. Cette valeur d’index peut changer lorsqu’une carte réseau est désactivée puis activée, ou dans d’autres circonstances, et ne doit pas être considérée comme persistante.

  • MaxReassemblySize
    Taille maximale du réassemblage, en octets, d’un paquet IP fragmenté. Ce membre est actuellement défini sur zéro et réservé pour une utilisation ultérieure.

  • InterfaceIdentifier
    Réservé pour un usage futur. Ce membre est actuellement défini sur zéro.

  • MinRouterAdvertisementInterval
    Intervalle minimal de publicité du routeur, en millisecondes, sur cette interface IP. Ce membre est défini par défaut sur 200 pour IPv6. Ce membre s’applique uniquement si le membre AdvertisingEnabled a la valeur TRUE.

  • MaxRouterAdvertisementInterval
    Intervalle de publication de routeur maximal, en millisecondes, sur cette interface IP. Ce membre est défini par défaut sur 600 pour IPv6. Ce membre s’applique uniquement si le membre AdvertisingEnabled a la valeur TRUE.

  • AdvertisingEnabled
    Valeur qui indique si la publicité de routeur est activée sur cette interface IP. La valeur par défaut pour IPv6 est que la publicité du routeur est activée uniquement si l’interface est configurée pour agir en tant que routeur. La valeur par défaut pour IPv4 est que la publicité du routeur est désactivée.

  • ForwardingEnabled
    Valeur qui indique si le transfert IP est activé sur cette interface IP.

  • WeakHostSend
    Valeur qui indique si le mode d’envoi de l’hôte faible est activé sur cette interface IP.

  • WeakHostReceive
    Valeur qui indique si le mode de réception de l’hôte faible est activé sur cette interface IP.

  • UseAutomaticMetric
    Valeur qui indique si l’interface IP utilise une métrique automatique.

  • UseNeighborUnreachabilityDetection
    Valeur qui indique si la détection de non-accessibilité du voisin est activée sur cette interface IP.

  • ManagedAddressConfigurationSupported
    Valeur qui indique si l’interface IP prend en charge la configuration d’adresses managées à l’aide de DHCP.

  • OtherStatefulConfigurationSupported
    Valeur qui indique si l’interface IP prend en charge une autre configuration avec état (par exemple, la configuration de routage).

  • AdvertiseDefaultRoute
    Valeur qui indique si l’interface IP publie l’itinéraire par défaut. Ce membre s’applique uniquement si le membre AdvertisingEnabled a la valeur TRUE.

  • RouterDiscoveryBehavior
    Type de comportement de découverte de routeur NL_ROUTER_DISCOVERY_BEHAVIOR.

  • DadTransmits
    Nombre de messages consécutifs envoyés pendant que le pilote effectue la détection d’adresse dupliquée sur une adresse de unidiffusion IP provisoire. La valeur zéro indique que la détection des adresses dupliquées n’est pas effectuée sur les adresses IP provisoires. Une valeur de un indique une seule transmission sans retransmission de suivi. Pour IPv4, la valeur par défaut de ce membre est 3. Pour IPv6, la valeur par défaut de ce membre est 1. Pour IPv6, ces messages sont envoyés en tant que demandes de sollicitation de voisin (NS) IPv6. Ce membre est défini comme DupAddrDetectTransmits dans RFC 2462. Pour plus d’informations, consultez IPv6 « Stateless Address Autoconfiguration ».

  • BaseReachableTime
    Base pour la durée d’accès aléatoire, en millisecondes. Le membre est décrit dans RFC 2461. Pour plus d’informations, consultez « Neighbor Discovery for IP Version 6 (IPv6) ».

  • RetransmitTime
    Délai d’attente de sollicitation de voisin (NS) IPv6, en millisecondes. Le membre est décrit dans RFC 2461. Pour plus d’informations, consultez « Neighbor Discovery for IP Version 6 (IPv6) ».

  • PathMtuDiscoveryTimeout
    Délai d’expiration de la découverte MTU du chemin, en millisecondes.

  • LinkLocalAddressBehavior
    Un NL_LINK_LOCAL_ADDRESS_BEHAVIOR type de comportement d’adresse locale de liaison.

  • LinkLocalAddressTimeout
    Délai d’expiration de l’adresse IP locale du lien, en millisecondes.

  • ZoneIndices
    Tableau qui spécifie la partie zone des ID d’étendue.

  • SitePrefixLength
    Longueur du préfixe de site, en bits, de l’adresse d’interface IP. Longueur, en bits, du préfixe de site ou de la partie réseau de l’adresse d’interface IP. Pour une adresse IPv4, toute valeur supérieure à 32 est une valeur non valide. Pour une adresse IPv6, toute valeur supérieure à 128 est une valeur non valide. Une valeur de 255 est généralement utilisée pour représenter une valeur non valide.

  • Mesure
    Métrique d’interface. Notez que la métrique d’itinéraire réelle utilisée pour calculer la préférence d’itinéraire est la somme du décalage de métrique d’itinéraire spécifié dans le membre métrique de la structure MIB_IPFORWARD_ROW2 et la métrique d’interface spécifiée dans ce membre.

  • NlMtu
    Taille MTU de la couche réseau, en octets.

  • Connecté
    Valeur qui indique si l’interface est connectée à un point d’accès réseau.

  • SupportsWakeUpPatterns
    Valeur qui spécifie si l’interface réseau prend en charge Wake on LAN.

  • SupportsNeighborDiscovery
    Valeur qui spécifie si l’interface IP prend en charge la découverte de voisins.

  • SupportsRouterDiscovery
    Valeur qui spécifie si l’interface IP prend en charge la découverte de voisins.

  • ReachableTime
    Base pour la durée d’accès aléatoire, en millisecondes. Le membre est décrit dans RFC 2461. Pour plus d’informations, consultez Neighbor Discovery for IP Version 6 (IPv6).

  • TransmitOffload
    Ensemble d’indicateurs qui indiquent les fonctionnalités de déchargement de transmission pour l’interface IP. La structure NL_INTERFACE_OFFLOAD_ROD est définie dans le fichier d’en-tête Nldef.h.

  • ReceiveOffload
    Ensemble d’indicateurs qui indiquent les fonctionnalités de déchargement de réception pour l’interface IP. La structure NL_INTERFACE_OFFLOAD_ROD est définie dans le fichier d’en-tête Nldef.h.

  • DisableDefaultRoutes
    Valeur qui indique si l’utilisation de la route par défaut sur l’interface doit être désactivée. Les clients VPN peuvent utiliser ce membre pour restreindre le tunneling fractionné.

Notes

Les membres Family, InterfaceLuid et InterfaceIndex identifient de manière unique une entrée MIB_IPINTERFACE_ROW.

Lorsqu’un paquet de monodiffusion arrive sur un hôte, l’adresse IP doit déterminer si le paquet est destiné localement (sa destination correspond à une adresse affectée à une interface de l’hôte). Les implémentations IP qui suivent un modèle d’hôte faible acceptent tout paquet à destination locale, quelle que soit l’interface sur laquelle le paquet a été reçu. Les implémentations IP qui suivent le modèle d’hôte fort acceptent uniquement les paquets à destination locale si l’adresse de destination dans le paquet correspond à une adresse affectée à l’interface sur laquelle le paquet a été reçu. Le modèle d’hôte faible offre une meilleure connectivité réseau. Toutefois, cela rend également les hôtes vulnérables aux attaques réseau basées sur plusieurs maisons.

L’implémentation IPv4 actuelle dans les systèmes d’exploitation Windows Server 2003 et Windows XP utilise le modèle hôte faible. La pile TCP/IP sur Windows Vista et les versions ultérieures des systèmes d’exploitation Windows prend en charge le modèle d’hôte fort pour IPv4 et IPv6 et est configurée pour utiliser le mode hôte fort par défaut (les membres WeakHostReceive et WeakHostSend sont définis sur FALSE). Vous pouvez configurer la pile TCP/IP sur Windows Vista et versions ultérieures pour utiliser un modèle hôte faible.

Une métrique est une valeur affectée à une route IP pour une interface réseau particulière qui identifie le coût associé à l’utilisation de cette route. Par exemple, la métrique peut être évaluée en termes de vitesse de liaison, de nombre de tronçons ou de délai. La métrique automatique est une fonctionnalité de Windows XP et versions ultérieures qui configure automatiquement la métrique pour les itinéraires locaux basés sur la vitesse de liaison. Par défaut, la fonctionnalité de métrique automatique est activée ( UseAutomaticMetric a la valeur TRUE) sur Windows XP et versions ultérieures. Vous pouvez également configurer manuellement cette fonctionnalité pour affecter une métrique spécifique à une route IP.

La fonctionnalité de métrique automatique peut être utile lorsque la table de routage contient plusieurs itinéraires pour la même destination. Par exemple, un ordinateur doté d’une interface réseau de 10 mégabits et d’une interface réseau de 100 mégabits possède une passerelle par défaut configurée sur les deux interfaces réseau. Lorsque UseAutomaticMetric a la valeur TRUE, cette fonctionnalité peut forcer tout le trafic destiné à Internet, par exemple, à utiliser l’interface réseau la plus rapide disponible.

La métrique d’interface spécifiée dans le membre Metric représente uniquement la métrique de l’interface. La métrique de routage complète est une combinaison de cette métrique d’interface ajoutée au décalage de métrique de routage spécifié dans le membre métrique de la structure MIB_IPFORWARD_ROW2 d’une entrée de route spécifiée sur cette interface.

L’accès simultané non privilégié à plusieurs réseaux de différentes exigences de sécurité crée un trou de sécurité et permet à un pilote non privilégié de relayer accidentellement des données entre les deux réseaux. Un exemple typique est l’accès simultané à un réseau privé virtuel (VPN) et à Internet. Windows Server 2003 et Windows XP utilisent un modèle d’hôte faible, où le service d’accès à distance (RAS) empêche cet accès simultané en augmentant la métrique de routage de tous les itinéraires par défaut sur d’autres interfaces. Par conséquent, tout le trafic est acheminé via l’interface VPN, ce qui perturbe la connectivité réseau.

Sur Windows Vista et versions ultérieures, par défaut, un modèle hôte fort est utilisé. Si une adresse IP source est spécifiée dans la recherche d’itinéraire à l’aide de la fonction GetBestRoute2 , la recherche d’itinéraire est limitée à l’interface de l’adresse IP source. La modification de la métrique d’itinéraire par RAS n’a aucun effet, car la liste des itinéraires potentiels n’a même pas l’itinéraire pour l’interface VPN, ce qui permet le trafic vers Internet. Votre pilote peut utiliser le membre DisableDefaultRoutes de la structure MIB_IPINTERFACE_ROW pour désactiver l’utilisation de la route par défaut sur une interface. Les clients VPN peuvent utiliser ce membre comme mesure de sécurité pour restreindre le tunneling fractionné lorsque le tunneling fractionné n’est pas requis par le client VPN. Un client VPN peut appeler la fonction SetIpInterfaceEntry pour définir le membre DisableDefaultRoutes sur TRUE lorsque cela est nécessaire. Un client VPN peut interroger l’état actuel du membre DisableDefaultRoutes en appelant la fonction GetIpInterfaceEntry .

Spécifications

Version

Disponible dans Windows Vista et les versions ultérieures des systèmes d’exploitation Windows.

En-tête

Netioapi.h (inclure Netioapi.h)

Voir aussi

GetBestRoute2

GetIpInterfaceEntry

MIB_IPFORWARD_ROW2

MIB_IPINTERFACE_TABLE

NET_LUID

NL_LINK_LOCAL_ADDRESS_BEHAVIOR

NL_ROUTER_DISCOVERY_BEHAVIOR

SetIpInterfaceEntry