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) |