Partager via


structure MIB_IPINTERFACE_ROW

La structure MIB_IPINTERFACE_ROW stocke les informations de gestion des interfaces 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 de la famille d’adresses AF_ et des constantes de famille de protocoles PF_ sont identiques (par exemple, AF_INET et PF_INET), afin de pouvoir 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 de 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 de 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 une utilisation ultérieure. Ce membre est actuellement défini sur zéro.

  • MinRouterAdvertisementInterval
    Intervalle minimal de publication 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 est défini sur TRUE.

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

  • AdvertisingEnabled
    Valeur qui indique si la publicité du routeur est activée sur cette interface IP. La valeur par défaut pour IPv6 est que la publicité de 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 hôte faible est activé sur cette interface IP.

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

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

  • UseNeighborUnreachabilityDetection
    Valeur qui indique si la détection de non-accessibilité voisine 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 d’autres configurations avec état (par exemple, 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 est défini sur 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’adresses dupliquées sur une adresse de monodiffusion IP provisoire. La valeur zéro indique que la détection d’adresses en double n’est pas effectuée sur les adresses IP provisoires. Une valeur d’un indique une seule transmission sans retransmissions 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 IPv6 (NS). Ce membre est défini comme DupAddrDetectTransmits dans RFC 2462. Pour plus d’informations, consultez IPv6 « Configuration automatique d’adresse sans état ».

  • BaseReachableTime
    Base pour une durée accessible aléatoire, en millisecondes. Le membre est décrit dans RFC 2461. Pour plus d’informations, consultez « Découverte de voisins pour IP version 6 (IPv6) ».

  • RetransmitTime
    Délai d’attente de sollicitation du voisin IPv6 (NS), en millisecondes. Le membre est décrit dans RFC 2461. Pour plus d’informations, consultez « Découverte de voisins pour IP version 6 (IPv6) ».

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

  • LinkLocalAddressBehavior
    Type de comportement d’adresse locale NL_LINK_LOCAL_ADDRESS_BEHAVIOR lier.

  • 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 illégale. Pour une adresse IPv6, toute valeur supérieure à 128 est une valeur illégale. La valeur 255 est généralement utilisée pour représenter une valeur illégale.

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

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

  • connectée
    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 une durée accessible aléatoire, en millisecondes. Le membre est décrit dans RFC 2461. Pour plus d’informations, consultez Découverte des voisins pour 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 l’itinéraire par défaut sur l’interface doit être désactivée. Les clients VPN peuvent utiliser ce membre pour restreindre le tunneling fractionné.

Remarques

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

Lorsqu’un paquet monodiffusion arrive à 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 hôte faible acceptent tous les paquets localement destinés, quelle que soit l’interface sur laquelle le paquet a été reçu. Les implémentations IP qui suivent le modèle hôte fort acceptent uniquement les paquets destinés localement 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 hôte faible offre une meilleure connectivité réseau. Toutefois, il rend également les hôtes vulnérables aux attaques réseau multihome.

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 hôte fort pour IPv4 et IPv6 et est configurée pour utiliser le mode hôte fort par défaut (les WeakHostReceive et WeakHostSend membres sont définis sur FALSE). Vous pouvez configurer la pile TCP/IP sur Windows Vista et ultérieurement pour utiliser un modèle hôte faible.

Une métrique est une valeur affectée à un itinéraire IP pour une interface réseau particulière qui identifie le coût associé à l’utilisation de cet itinéraire. Par exemple, la métrique peut être évaluée en termes de vitesse de liaison, de nombre de tronçons ou de retards de temps. La métrique automatique est une fonctionnalité de Windows XP et ultérieure 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 (l'UseAutomaticMetric est définie sur TRUE) sur Windows XP et versions ultérieures. Vous pouvez également configurer manuellement cette fonctionnalité pour affecter une métrique spécifique à un itinéraire 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 a une passerelle par défaut configurée sur les deux interfaces réseau. Lorsque UseAutomaticMetric est TRUE, cette fonctionnalité peut forcer tout le trafic destiné à Internet, par exemple, pour 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 Metric de la structure MIB_IPFORWARD_ROW2 d’une entrée de routage 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 classique est l’accès simultané à un réseau privé virtuel (VPN) et à Internet. Windows Server 2003 et Windows XP utilisent un modèle hôte faible, où le service d’accès à distance (RAS) empêche ce type d’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 interrompt d’autres connectivités 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 de routage à l’aide de la fonction GetBestRoute2, la recherche de routage est limitée à l’interface de l’adresse IP source. La modification de la métrique de routage par RAS n’a aucun effet, car la liste des itinéraires potentiels n’a même pas l’itinéraire de l’interface VPN, ce qui permet le trafic vers Internet. Votre pilote peut utiliser le DisableDefaultRoutes membre de la structure MIB_IPINTERFACE_ROW pour désactiver l’utilisation de l’itinéraire 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 fonctionSetIpInterfaceEntry pour définir le membre DisableDefaultRoutes sur TRUE lorsqu’il est nécessaire. Un client VPN peut interroger l’état actuel du membre DisableDefaultRoutes en appelant la fonction GetIpInterfaceEntry.

Exigences

Version

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

En-tête

Netioapi.h (include Netioapi.h)

Voir aussi

GetBestRoute2

GetIpInterfaceEntry

MIB_IPFORWARD_ROW2

MIB_IPINTERFACE_TABLE

NET_LUID

NL_LINK_LOCAL_ADDRESS_BEHAVIOR

NL_ROUTER_DISCOVERY_BEHAVIOR

SetIpInterfaceEntry