Condividi tramite


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)

Vedi anche

GetBestRoute2

GetIpInterfaceEntry

MIB_IPFORWARD_ROW2

MIB_IPINTERFACE_TABLE

NET_LUID

NL_LINK_LOCAL_ADDRESS_BEHAVIOR

NL_ROUTER_DISCOVERY_BEHAVIOR

SetIpInterfaceEntry