Udostępnij przez


struktura MIB_IPINTERFACE_ROW

Struktura MIB_IPINTERFACE_ROW przechowuje informacje o zarządzaniu interfejsem dla określonej rodziny adresów IP w interfejsie sieciowym.

Składnia

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;

Członków

  • rodziny
    Rodzina adresów. Możliwe wartości rodziny adresów są wymienione w pliku nagłówka Winsock2.h. Należy pamiętać, że wartości rodziny adresów AF_ i rodziny protokołów PF_ są identyczne (na przykład AF_INET i PF_INET), aby można było użyć dowolnej stałej.

    W systemie Windows Vista i nowszych wersjach systemów operacyjnych Windows możliwe wartości dla tego elementu członkowskiego są zdefiniowane w pliku nagłówka Ws2def.h. Należy pamiętać, że plik nagłówka Ws2def.h jest automatycznie dołączany do pliku Netioapi.h i nigdy nie należy bezpośrednio używać pliku Ws2def.h.

    Obecnie obsługiwane są następujące wartości:

    • AF_INET
      Rodzina adresów IPv4.

    • AF_INET6
      Rodzina adresów IPv6.

    • AF_UNSPEC
      Rodzina adresów nie jest określona.

  • InterfaceLuid
    Lokalnie unikatowy identyfikator (LUID) dla interfejsu sieciowego.

  • InterfaceIndex
    Wartość indeksu lokalnego dla interfejsu sieciowego. Ta wartość indeksu może ulec zmianie, gdy karta sieciowa jest wyłączona, a następnie włączona lub w innych okolicznościach i nie powinna być uważana za trwałą.

  • MaxReassemblySize
    Maksymalny rozmiar ponownego rozsyłania (w bajtach) pofragmentowanego pakietu IP. Ten element członkowski jest obecnie ustawiony na zero i zarezerwowany do użycia w przyszłości.

  • InterfaceIdentifier
    Zarezerwowane do użytku w przyszłości. Ten element członkowski jest obecnie ustawiony na zero.

  • MinRouterAdvertisementInterval
    Minimalny interwał anonsu routera (w milisekundach) w tym interfejsie IP. Ten element członkowski domyślnie ma wartość 200 dla protokołu IPv6. Ten element członkowski ma zastosowanie tylko wtedy, gdy element członkowski AdvertisingEnabled ma ustawioną wartość true.

  • MaxRouterAdvertisementInterval
    Maksymalny interwał anonsu routera (w milisekundach) w tym interfejsie IP. Ten element członkowski domyślnie ma wartość 600 dla protokołu IPv6. Ten element członkowski ma zastosowanie tylko wtedy, gdy element członkowski AdvertisingEnabled ma ustawioną wartość true.

  • AdvertisingEnabled
    Wartość wskazująca, czy reklama routera jest włączona w tym interfejsie IP. Ustawieniem domyślnym dla protokołu IPv6 jest włączenie anonsowania routera tylko wtedy, gdy interfejs jest skonfigurowany do działania jako router. Ustawieniem domyślnym dla protokołu IPv4 jest to, że anonsowanie routera jest wyłączone.

  • ForwardingEnabled
    Wartość wskazująca, czy przekazywanie adresów IP jest włączone w tym interfejsie IP.

  • WeakHostSend
    Wartość wskazująca, czy w tym interfejsie IP jest włączony słaby tryb wysyłania hosta.

  • WeakHostReceive
    Wartość wskazująca, czy w tym interfejsie IP jest włączony słaby tryb odbierania hosta.

  • UseAutomaticMetric
    Wartość wskazująca, czy interfejs IP używa automatycznej metryki.

  • UseNeighborUnreachabilityDetection
    Wartość wskazująca, czy w tym interfejsie IP włączono wykrywanie niedostępności sąsiada.

  • ManagedAddressConfigurationSupported
    Wartość wskazująca, czy interfejs IP obsługuje konfigurację adresów zarządzanych przy użyciu protokołu DHCP.

  • OtherStatefulConfigurationSupported
    Wartość wskazująca, czy interfejs IP obsługuje inną konfigurację stanową (na przykład konfigurację trasy).

  • AnonsujDefaultRoute
    Wartość wskazująca, czy interfejs IP anonsuje trasę domyślną. Ten element członkowski ma zastosowanie tylko wtedy, gdy element członkowski AdvertisingEnabled ma ustawioną wartość true.

  • RouterDiscoveryBehavior
    Typ zachowania odnajdywania routera NL_ROUTER_DISCOVERY_BEHAVIOR.

  • DadTransmits
    Liczba kolejnych komunikatów, które są wysyłane, gdy sterownik wykonuje wykrywanie zduplikowanych adresów na wstępnym adresie emisji pojedynczej ip. Wartość zero wskazuje, że wykrywanie zduplikowanych adresów nie jest wykonywane na wstępnych adresach IP. Wartość jednej wskazuje pojedynczą transmisję bez kontynuacji retransmisji. W przypadku protokołu IPv4 wartość domyślna dla tego elementu członkowskiego to 3. W przypadku protokołu IPv6 wartość domyślna dla tego elementu członkowskiego to 1. W przypadku protokołu IPv6 te komunikaty są wysyłane jako żądania żądań sąsiada IPv6 (NS). Ten element członkowski jest zdefiniowany jako DupAddrDetectTransmits w dokumencie RFC 2462. Aby uzyskać więcej informacji, zobacz IPv6 "Autokonfiguracja adresów bezstanowych".

  • BaseReachableTime
    Podstawa dla losowego czasu osiągalnego, w milisekundach. Element członkowski jest opisany w specyfikacji RFC 2461. Aby uzyskać więcej informacji, zobacz "Odnajdywanie sąsiadów dla adresu IP w wersji 6 (IPv6)".

  • RetransmitTime
    Limit czasu żądań sąsiadów IPv6 (NS) w milisekundach. Element członkowski jest opisany w specyfikacji RFC 2461. Aby uzyskać więcej informacji, zobacz "Odnajdywanie sąsiadów dla adresu IP w wersji 6 (IPv6)".

  • PathMtuDiscoveryTimeout
    Limit czasu odnajdywania jednostki MTU ścieżki w milisekundach.

  • LinkLocalAddressBehavior
    Typ zachowania lokalnego adresu linku NL_LINK_LOCAL_ADDRESS_BEHAVIOR.

  • LinkLocalAddressTimeout
    Limit czasu lokalnego adresu IP linku w milisekundach.

  • ZoneIndices
    Tablica określająca część strefy identyfikatorów zakresu.

  • SitePrefixLength
    Długość prefiksu witryny w bitach adresu IP. Długość w bitach prefiksu lokacji lub części sieciowej adresu IP. W przypadku adresu IPv4 każda wartość większa niż 32 jest niedozwoloną wartością. W przypadku adresu IPv6 każda wartość większa niż 128 jest niedozwoloną wartością. Wartość 255 jest zwykle używana do reprezentowania niedozwolonej wartości.

  • Metryka
    Metryka interfejsu. Należy pamiętać, że rzeczywista metryka trasy używana do obliczania preferencji trasy to sumowanie przesunięcia metryki trasy określonego w Metryka elementu członkowskiego struktury MIB_IPFORWARD_ROW2 oraz metryki interfejsu określonej w tym elemencie członkowskim.

  • NlMtu
    Rozmiar jednostki MTU warstwy sieciowej w bajtach.

  • Połączony
    Wartość wskazująca, czy interfejs jest połączony z punktem dostępu do sieci.

  • SupportsWakeUpPatterns
    Wartość określająca, czy interfejs sieciowy obsługuje funkcję Wake on LAN.

  • obsługuje NeighborDiscovery
    Wartość określająca, czy interfejs IP obsługuje odnajdywanie sąsiadów.

  • SupportsRouterDiscovery
    Wartość określająca, czy interfejs IP obsługuje odnajdywanie sąsiadów.

  • ReachableTime
    Podstawa dla losowego czasu osiągalnego, w milisekundach. Element członkowski jest opisany w specyfikacji RFC 2461. Aby uzyskać więcej informacji, zobacz odnajdywanie sąsiadów dla adresu IP w wersji 6 (IPv6).

  • TransmitOffload
    Zestaw flag wskazujący możliwości odciążania transmisji dla interfejsu IP. Struktura NL_INTERFACE_OFFLOAD_ROD jest zdefiniowana w pliku nagłówkowym Nldef.h.

  • ReceiveOffload
    Zestaw flag wskazujący możliwości odciążania odbierania dla interfejsu IP. Struktura NL_INTERFACE_OFFLOAD_ROD jest zdefiniowana w pliku nagłówkowym Nldef.h.

  • DisableDefaultRoutes
    Wartość wskazująca, czy używanie trasy domyślnej w interfejsie powinno być wyłączone. Klienci sieci VPN mogą używać tego elementu członkowskiego do ograniczania tunelowania podzielonego.

Uwagi

Członkowie Family, InterfaceLuidi InterfaceIndex jednoznacznie identyfikują wpis MIB_IPINTERFACE_ROW.

Gdy pakiet emisji pojedynczej dociera do hosta, adres IP musi określić, czy pakiet jest przeznaczony lokalnie (jego miejsce docelowe odpowiada adresowi przypisanemu do interfejsu hosta). Implementacje adresów IP, które są zgodne ze słabym modelem hosta, akceptują każdy lokalnie przeznaczony pakiet, niezależnie od interfejsu, na którym został odebrany pakiet. Implementacje adresów IP zgodne z silnym modelem hosta akceptują tylko pakiety przeznaczone lokalnie, jeśli adres docelowy w pakiecie jest zgodny z adresem przypisanym do interfejsu odbieranego pakietu. Słaby model hosta zapewnia lepszą łączność sieciową. Jednak również sprawia, że hosty są podatne na ataki sieciowe oparte na wieluhomech.

Bieżąca implementacja protokołu IPv4 w systemach operacyjnych Windows Server 2003 i Windows XP używa słabego modelu hosta. Stos TCP/IP w systemie Windows Vista i nowszych wersjach systemów operacyjnych Windows obsługuje silny model hosta zarówno dla protokołów IPv4, jak i IPv6 i jest skonfigurowany do używania trybu silnego hosta domyślnie (WeakHostReceive i WeakHostSend są ustawione na FALSE). Możesz skonfigurować stos TCP/IP w systemie Windows Vista i nowszym tak, aby używał słabego modelu hosta.

Metryka to wartość przypisana do trasy IP dla określonego interfejsu sieciowego, która identyfikuje koszt skojarzony z użyciem tej trasy. Na przykład metryka może być wartościowana pod względem szybkości łącza, liczby przeskoku lub opóźnienia czasu. Metryka automatyczna to funkcja w systemie Windows XP i nowszych, która automatycznie konfiguruje metrykę dla tras lokalnych opartych na szybkości łącza. Domyślnie funkcja automatycznej metryki jest włączona (UseAutomaticMetric jest ustawiona na true) w systemie Windows XP i nowszych. Tę funkcję można również skonfigurować ręcznie, aby przypisać określoną metrykę do trasy IP.

Funkcja automatycznej metryki może być przydatna, gdy tabela routingu zawiera wiele tras dla tego samego miejsca docelowego. Na przykład komputer z interfejsem sieciowym 10 megabitów i interfejsem sieciowym 100 megabitów ma bramę domyślną skonfigurowaną w obu interfejsach sieciowych. Gdy UseAutomaticMetric jest true, ta funkcja może wymusić cały ruch przeznaczony dla Internetu, na przykład, aby użyć najszybszego dostępnego interfejsu sieciowego.

Metryka interfejsu określona w elemencie Metryka reprezentuje tylko metryki interfejsu. Metryka pełnego routingu jest kombinacją tej metryki interfejsu dodanej do przesunięcia metryki trasy określonego w Metryka elementu członkowskiego MIB_IPFORWARD_ROW2 struktury wpisu trasy określonego w tym interfejsie.

Nieuprzywilejowany równoczesny dostęp do wielu sieci różnych wymagań dotyczących zabezpieczeń tworzy dziurę zabezpieczeń i umożliwia nieuprzywilejowanym sterownikom przypadkowe przekazywanie danych między dwiema sieciami. Typowy przykład to równoczesny dostęp do wirtualnej sieci prywatnej (VPN) i Internetu. Systemy Windows Server 2003 i Windows XP używają słabego modelu hosta, w którym usługa dostępu zdalnego (RAS) uniemożliwia taki równoczesny dostęp przez zwiększenie metryki trasy wszystkich tras domyślnych w innych interfejsach. W związku z tym cały ruch jest kierowany przez interfejs sieci VPN, zakłócając inne połączenia sieciowe.

W systemie Windows Vista i nowszych domyślnie jest używany silny model hosta. Jeśli źródłowy adres IP jest określony w wyszukiwaniu tras przy użyciu funkcji GetBestRoute2, wyszukiwanie trasy jest ograniczone do interfejsu źródłowego adresu IP. Modyfikacja metryki trasy przez RAS nie ma wpływu, ponieważ lista potencjalnych tras nie ma nawet trasy dla interfejsu sieci VPN, co umożliwia ruch do Internetu. Sterownik może użyć DisableDefaultRoutes składowej struktury MIB_IPINTERFACE_ROW, aby wyłączyć używanie trasy domyślnej w interfejsie. Klienci sieci VPN mogą używać tego elementu członkowskiego jako środka zabezpieczeń, aby ograniczyć tunelowanie podzielone, gdy tunelowanie podzielone nie jest wymagane przez klienta sieci VPN. Klient sieci VPN może wywołać funkcję SetIpInterfaceEntry, aby ustawić element członkowski DisableDefaultRoutes, aby true, gdy jest to wymagane. Klient sieci VPN może wysyłać zapytania dotyczące bieżącego stanu elementu członkowskiego DisableDefaultRoutes przez wywołanie funkcji GetIpInterfaceEntry.

Wymagania

Wersja

Dostępne w systemie Windows Vista i nowszych wersjach systemów operacyjnych Windows.

Nagłówek

Netioapi.h (include Netioapi.h)

Zobacz też

GetBestRoute2

GetIpInterfaceEntry

MIB_IPFORWARD_ROW2

MIB_IPINTERFACE_TABLE

NET_LUID

NL_LINK_LOCAL_ADDRESS_BEHAVIOR

NL_ROUTER_DISCOVERY_BEHAVIOR

SetIpInterfaceEntry