struttura MIB_IPINTERFACE_ROW
La struttura MIB_IPINTERFACE_ROW archivia le informazioni di gestione dell'interfaccia per una determinata famiglia di indirizzi IP in un'interfaccia di rete.
Sintassi
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;
Members
Famiglia
Famiglia di indirizzi. I valori possibili per la famiglia di indirizzi sono elencati nel file di intestazione Winsock2.h. Si noti che i valori per la famiglia di indirizzi AF_ e le costanti della famiglia di protocolli di PF_ sono identici (ad esempio, AF_INET e PF_INET), in modo da poter usare entrambe le costanti.In Windows Vista e versioni successive dei sistemi operativi Windows, i valori possibili per questo membro sono definiti nel file di intestazione Ws2def.h. Si noti che il file di intestazione Ws2def.h viene incluso automaticamente in Netioapi.h e non è mai consigliabile usare direttamente Ws2def.h.
Sono attualmente supportati i valori seguenti:
AF_INET
Famiglia di indirizzi IPv4.AF_INET6
Famiglia di indirizzi IPv6.AF_UNSPEC
La famiglia di indirizzi non è specificata.
InterfaceLuid
Identificatore univoco locale (LUID) per l'interfaccia di rete.InterfaceIndex
Valore dell'indice locale per l'interfaccia di rete. Questo valore di indice può cambiare quando una scheda di rete è disabilitata e quindi abilitata o in altre circostanze e non deve essere considerata persistente.MaxReassemblySize
Dimensione massima di riassemblaggio, in byte, di un pacchetto IP frammentato. Questo membro è attualmente impostato su zero e riservato per l'uso futuro.InterfaceIdentifier
Riservato per utilizzi futuri. Questo membro è attualmente impostato su zero.MinRouterAdvertisementInterval
Intervallo minimo di annuncio router, in millisecondi, su questa interfaccia IP. Per impostazione predefinita, questo membro è 200 per IPv6. Questo membro è applicabile solo se il membro AdvertisingEnabled è impostato su TRUE.MaxRouterAdvertisementInterval
Intervallo massimo di annunci router, in millisecondi, su questa interfaccia IP. Per impostazione predefinita, questo membro è 600 per IPv6. Questo membro è applicabile solo se il membro AdvertisingEnabled è impostato su TRUE.AdvertisingEnabled
Valore che indica se la pubblicità del router è abilitata su questa interfaccia IP. L'impostazione predefinita per IPv6 è che l'annuncio router è abilitato solo se l'interfaccia è configurata per fungere da router. Il valore predefinito per IPv4 è che l'annuncio del router è disabilitato.ForwardingEnabled
Valore che indica se l'inoltro IP è abilitato in questa interfaccia IP.WeakHostSend
Valore che indica se la modalità di invio host debole è abilitata in questa interfaccia IP.WeakHostReceive
Valore che indica se la modalità di ricezione host debole è abilitata in questa interfaccia IP.UseAutomaticMetric
Valore che indica se l'interfaccia IP usa la metrica automatica.UseNeighborUnreachabilityDetection
Valore che indica se il rilevamento dell'impossibilità adiacente è abilitato in questa interfaccia IP.ManagedAddressConfigurationSupported
Valore che indica se l'interfaccia IP supporta la configurazione dell'indirizzo gestito tramite DHCP.OtherStatefulConfigurationSupported
Valore che indica se l'interfaccia IP supporta altre configurazioni con stato, ad esempio la configurazione della route.AdvertiseDefaultRoute
Valore che indica se l'interfaccia IP annuncia la route predefinita. Questo membro è applicabile solo se il membro AdvertisingEnabled è impostato su TRUE.RouterDiscoveryBehavior
Tipo di comportamento di individuazione router NL_ROUTER_DISCOVERY_BEHAVIOR .DadTransmits
Numero di messaggi consecutivi inviati mentre il driver esegue il rilevamento degli indirizzi duplicati in un indirizzo ip unicast provvisorio. Il valore zero indica che il rilevamento degli indirizzi duplicati non viene eseguito sugli indirizzi IP provvisori. Un valore di uno indica una singola trasmissione senza ritrasmissione di completamento. Per IPv4, il valore predefinito per questo membro è 3. Per IPv6, il valore predefinito per questo membro è 1. Per IPv6, questi messaggi vengono inviati come richieste di richiesta NS (Neighbor Solicitation) IPv6. Questo membro è definito come DupAddrDetectTransmits in RFC 2462. Per altre informazioni, vedere IPv6 "Configurazione automatica degli indirizzi senza stato".BaseReachableTime
Base per il tempo raggiungibile casuale, espresso in millisecondi. Il membro è descritto in RFC 2461. Per altre informazioni, vedere "Individuazione adiacente per IP versione 6 (IPv6)".RetransmitTime
Timeout di IPv6 Neighbor Solicitation (NS), espresso in millisecondi. Il membro è descritto in RFC 2461. Per altre informazioni, vedere "Individuazione adiacente per IP versione 6 (IPv6)".PathMtuDiscoveryTimeout
Timeout di individuazione MTU del percorso, espresso in millisecondi.LinkLocalAddressBehavior
Tipo di comportamento dell'indirizzo locale di collegamento NL_LINK_LOCAL_ADDRESS_BEHAVIOR .LinkLocalAddressTimeout
Timeout dell'indirizzo IP locale del collegamento, espresso in millisecondi.ZoneIndices
Matrice che specifica la parte della zona degli ID ambito.SitePrefixLength
Lunghezza del prefisso del sito, in bit, dell'indirizzo dell'interfaccia IP. Lunghezza, in bit, del prefisso del sito o parte di rete dell'indirizzo dell'interfaccia IP. Per un indirizzo IPv4, qualsiasi valore maggiore di 32 è un valore non valido. Per un indirizzo IPv6, qualsiasi valore maggiore di 128 è un valore non valido. Il valore 255 viene in genere utilizzato per rappresentare un valore non valido.Metrica
Metrica dell'interfaccia. Si noti che la metrica di route effettiva usata per calcolare la preferenza di route è la somma dell'offset della metrica di route specificato nel membro Metric della struttura MIB_IPFORWARD_ROW2 e la metrica di interfaccia specificata in questo membro.NlMtu
Dimensioni MTU del livello di rete, in byte.Connessione effettuata
Valore che indica se l'interfaccia è connessa a un punto di accesso di rete.SupportsWakeUpPatterns
Valore che specifica se l'interfaccia di rete supporta riattivazione LAN.SupportsNeighborDiscovery
Valore che specifica se l'interfaccia IP supporta l'individuazione adiacente.SupportsRouterDiscovery
Valore che specifica se l'interfaccia IP supporta l'individuazione adiacente.ReachableTime
Base per il tempo raggiungibile casuale, espresso in millisecondi. Il membro è descritto in RFC 2461. Per altre informazioni, vedere Individuazione adiacente per IP versione 6 (IPv6).For more information, see Neighbor Discovery for IP Version 6 (IPv6).TransmitOffload
Set di flag che indicano le funzionalità di offload di trasmissione per l'interfaccia IP. La struttura NL_INTERFACE_OFFLOAD_ROD è definita nel file di intestazione Nldef.h.ReceiveOffload
Set di flag che indicano le funzionalità di offload di ricezione per l'interfaccia IP. La struttura NL_INTERFACE_OFFLOAD_ROD è definita nel file di intestazione Nldef.h.DisableDefaultRoutes
Valore che indica se usare la route predefinita nell'interfaccia deve essere disabilitato. I client VPN possono usare questo membro per limitare il split tunneling.
Commenti
I membri Family, InterfaceLuid e InterfaceIndex identificano in modo univoco una voce MIB_IPINTERFACE_ROW.
Quando un pacchetto unicast arriva a un host, l'indirizzo IP deve determinare se il pacchetto è destinato localmente (la destinazione corrisponde a un indirizzo assegnato a un'interfaccia dell'host). Le implementazioni IP che seguono un modello host debole accettano qualsiasi pacchetto destinato localmente, indipendentemente dall'interfaccia su cui è stato ricevuto il pacchetto. Le implementazioni IP che seguono il modello host sicuro accettano solo pacchetti destinati localmente se l'indirizzo di destinazione nel pacchetto corrisponde a un indirizzo assegnato all'interfaccia su cui è stato ricevuto il pacchetto. Il modello host debole offre una migliore connettività di rete. Tuttavia, rende gli host sensibili agli attacchi di rete multihome.
L'implementazione IPv4 corrente nei sistemi operativi Windows Server 2003 e Windows XP usa il modello host debole. Lo stack TCP/IP in Windows Vista e versioni successive dei sistemi operativi Windows supporta il modello host sicuro sia per IPv4 che per IPv6 ed è configurato per l'uso della modalità host complessa per impostazione predefinita (i membri WeakHostReceive e WeakHostSend sono impostati su FALSE). È possibile configurare lo stack TCP/IP in Windows Vista e versioni successive per usare un modello host debole.
Una metrica è un valore assegnato a una route IP per una particolare interfaccia di rete che identifica il costo associato all'uso di tale route. Ad esempio, la metrica può essere valutata in termini di velocità di collegamento, conteggio hop o ritardo di tempo. La metrica automatica è una funzionalità di Windows XP e versioni successive che configura automaticamente la metrica per le route locali basate sulla velocità di collegamento. Per impostazione predefinita, la funzionalità di metrica automatica è abilitata ( UseAutomaticMetric è impostata su TRUE) in Windows XP e versioni successive. È anche possibile configurare manualmente questa funzionalità per assegnare una metrica specifica a una route IP.
La funzionalità di metrica automatica può essere utile quando la tabella di routing contiene più route per la stessa destinazione. Ad esempio, un computer con un'interfaccia di rete a 10 megabit e un'interfaccia di rete a 100 megabit ha un gateway predefinito configurato in entrambe le interfacce di rete. Quando UseAutomaticMetric è TRUE, questa funzionalità può forzare tutto il traffico destinato a Internet, ad esempio, per usare l'interfaccia di rete più veloce disponibile.
La metrica dell'interfaccia specificata nel membro Metric rappresenta solo la metrica per l'interfaccia. La metrica di routing completa è una combinazione di questa metrica di interfaccia aggiunta all'offset della metrica di route specificato nel membro Metric della struttura MIB_IPFORWARD_ROW2 di una voce di route specificata in questa interfaccia.
L'accesso simultaneo senza privilegi a più reti di requisiti di sicurezza diversi crea un foro di sicurezza e consente a un driver senza privilegi di inoltrare accidentalmente i dati tra le due reti. Un esempio tipico è l'accesso simultaneo a una rete privata virtuale (VPN) e a Internet. Windows Server 2003 e Windows XP usano un modello host debole, in cui il servizio accesso remoto (RAS) impedisce tale accesso simultaneo aumentando la metrica di route di tutte le route predefinite su altre interfacce. Di conseguenza, tutto il traffico viene instradato attraverso l'interfaccia VPN, interrompendo la connettività di rete.
Per impostazione predefinita, in Windows Vista e versioni successive viene usato un modello host sicuro. Se un indirizzo IP di origine viene specificato nella ricerca della route usando la funzione GetBestRoute2 , la ricerca della route è limitata all'interfaccia dell'indirizzo IP di origine. La modifica della metrica di route da RAS non ha alcun effetto perché l'elenco di potenziali route non ha nemmeno la route per l'interfaccia VPN, che consente il traffico verso Internet. Il driver può usare il membro DisableDefaultRoutes della struttura MIB_IPINTERFACE_ROW per disabilitare l'uso della route predefinita in un'interfaccia. I client VPN possono usare questo membro come misura di sicurezza per limitare il split tunneling quando il split tunneling non è richiesto dal client VPN. Un client VPN può chiamare la funzione SetIpInterfaceEntry per impostare il membro DisableDefaultRoutes su TRUE quando è necessario. Un client VPN può eseguire una query sullo stato corrente del membro DisableDefaultRoutes chiamando la funzione GetIpInterfaceEntry .
Requisiti
Versione |
Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows. |
Intestazione |
Netioapi.h (include Netioapi.h) |