Поделиться через


структура MIB_IPINTERFACE_ROW

Структура MIB_IPINTERFACE_ROW хранит сведения об управлении интерфейсом для определенного семейства IP-адресов в сетевом интерфейсе.

Синтаксис

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;

Члены

  • Семейство
    Семейство адресов. Возможные значения семейства адресов перечислены в файле заголовка Winsock2.h. Обратите внимание, что значения для семейства адресов AF_ и констант семейства протоколов PF_ идентичны (например, AF_INET и PF_INET), поэтому можно использовать либо константу.

    В Windows Vista и более поздних версиях операционных систем Windows возможные значения для этого элемента определяются в файле заголовка Ws2def.h. Обратите внимание, что файл заголовка Ws2def.h автоматически включается в Netioapi.h, и Ws2def.h не следует использовать напрямую.

    В настоящее время поддерживаются следующие значения:

    • AF_INET
      Семейство адресов IPv4.

    • AF_INET6
      Семейство адресов IPv6.

    • AF_UNSPEC
      Семейство адресов не указано.

  • InterfaceLuid
    Локальный уникальный идентификатор (LUID) для сетевого интерфейса.

  • InterfaceIndex
    Значение локального индекса для сетевого интерфейса. Это значение индекса может изменяться, когда сетевой адаптер отключен, а затем включен или при других обстоятельствах и не должен считаться постоянным.

  • MaxReassemblySize
    Максимальный размер фрагментированного IP-пакета (в байтах). В настоящее время этот элемент имеет нулевое значение и зарезервирован для использования в будущем.

  • InterfaceIdentifier
    Зарезервировано для последующего использования. В настоящее время для этого элемента задано значение 0.

  • MinRouterAdvertisementInterval
    Минимальный интервал объявления маршрутизатора в миллисекундах для этого IP-интерфейса. Этот член по умолчанию использует значение 200 для IPv6. Этот элемент применим, только если для элемента AdvertisingEnabled задано значение TRUE.

  • MaxRouterAdvertisementInterval
    Максимальный интервал объявления маршрутизатора в миллисекундах для этого IP-интерфейса. Этот элемент по умолчанию — 600 для IPv6. Этот элемент применим, только если для элемента AdvertisingEnabled задано значение TRUE.

  • AdvertisingEnabled
    Значение , указывающее, включена ли реклама маршрутизатора в этом IP-интерфейсе. По умолчанию для IPv6 объявление маршрутизатора включено только в том случае, если интерфейс настроен для работы в качестве маршрутизатора. По умолчанию для IPv4 объявление маршрутизатора отключено.

  • ForwardingEnabled
    Значение типа , указывающее, включена ли IP-пересылка в этом IP-интерфейсе.

  • WeakHostSend
    Значение , указывающее, включен ли режим отправки слабых узлов в этом IP-интерфейсе.

  • WeakHostReceive
    Значение , указывающее, включен ли в этом IP-интерфейсе слабый режим приема узла.

  • UseAutomaticMetric
    Значение типа , указывающее, использует ли IP-интерфейс автоматическую метрику.

  • UseNeighborUnreachabilityDetection
    Значение типа , указывающее, включено ли в этом IP-интерфейсе обнаружение недоступности соседа.

  • ManagedAddressConfigurationSupported
    Значение , указывающее, поддерживает ли IP-интерфейс конфигурацию управляемого адреса с помощью DHCP.

  • OtherStatefulConfigurationSupported
    Значение типа , указывающее, поддерживает ли ИНТЕРФЕЙС IP другую конфигурацию с отслеживанием состояния (например, конфигурацию маршрута).

  • AdvertiseDefaultRoute
    Значение типа , указывающее, объявляет ли IP-интерфейс маршрут по умолчанию. Этот элемент применим, только если для элемента AdvertisingEnabled задано значение TRUE.

  • RouterDiscoveryBehavior
    Тип поведения обнаружения маршрутизатора NL_ROUTER_DISCOVERY_BEHAVIOR .

  • DadTransmits
    Количество последовательных сообщений, отправляемых в то время как драйвер выполняет обнаружение повторяющихся адресов на предварительном ОДНОАДресном IP-адресе. Нулевое значение указывает, что обнаружение повторяющихся адресов не выполняется на предварительных IP-адресах. Значение 1 указывает на одну передачу без последующих повторных передач. Для IPv4 значение по умолчанию для этого элемента равно 3. Для IPv6 значение по умолчанию для этого элемента равно 1. Для IPv6 эти сообщения отправляются в виде запросов IPv6 Соседей (NS). Этот член определяется как DupAddrDetectTransmits в RFC 2462. Дополнительные сведения см. в разделе IPv6 "Автоматическая настройка адресов без отслеживания состояния".

  • BaseReachableTime
    База для случайного доступного времени в миллисекундах. Член описан в документе RFC 2461. Дополнительные сведения см. в разделе Обнаружение соседей для IP-адреса версии 6 (IPv6)".

  • RetransmitTime
    Время ожидания IPv6-соседа (NS) в миллисекундах. Член описан в документе RFC 2461. Дополнительные сведения см. в разделе Обнаружение соседей для IP-адреса версии 6 (IPv6)".

  • PathMtuDiscoveryTimeout
    Время ожидания обнаружения MTU пути в миллисекундах.

  • LinkLocalAddressBehavior
    Тип поведения локального адреса NL_LINK_LOCAL_ADDRESS_BEHAVIOR связи.

  • LinkLocalAddressTimeout
    Время ожидания локального IP-адреса связи в миллисекундах.

  • ZoneIndices
    Массив, указывающий часть зоны идентификаторов область.

  • SitePrefixLength
    Длина префикса сайта (в битах) IP-адреса интерфейса. Длина (в битах) префикса сайта или сетевой части IP-адреса интерфейса. Для IPv4-адреса любое значение, превышающее 32, является недопустимым. Для IPv6-адреса любое значение, превышающее 128, является недопустимым. Значение 255 обычно используется для представления недопустимого значения.

  • Метрика
    Метрика интерфейса. Обратите внимание, что фактическая метрика маршрута, используемая для вычисления предпочтительного маршрута, представляет собой суммирование смещения метрики маршрута, указанного в элементе Метрикиструктуры MIB_IPFORWARD_ROW2 и метрики интерфейса, указанной в этом элементе.

  • NlMtu
    Размер MTU сетевого уровня в байтах.

  • Подключен
    Значение типа , указывающее, подключен ли интерфейс к точке доступа к сети.

  • SupportsWakeUpPatterns
    Значение типа , указывающее, поддерживает ли сетевой интерфейс пробуждение по локальной сети.

  • SupportsNeighborDiscovery
    Значение типа , указывающее, поддерживает ли IP-интерфейс обнаружение соседей.

  • SupportsRouterDiscovery
    Значение типа , указывающее, поддерживает ли IP-интерфейс обнаружение соседей.

  • ReachableTime
    База для случайного доступного времени в миллисекундах. Элемент описан в RFC 2461. Дополнительные сведения см. в разделе Обнаружение соседей для IP-адреса версии 6 (IPv6).

  • TransmitOffload
    Набор флагов, указывающих возможности разгрузки передачи для ИНТЕРФЕЙСА IP. Структура NL_INTERFACE_OFFLOAD_ROD определяется в файле заголовка Nldef.h.

  • ReceiveOffload
    Набор флагов, указывающих возможности получения разгрузки для ИНТЕРФЕЙСА IP. Структура NL_INTERFACE_OFFLOAD_ROD определяется в файле заголовка Nldef.h.

  • DisableDefaultRoutes
    Значение типа , указывающее, следует ли отключить использование маршрута по умолчанию в интерфейсе. VPN-клиенты могут использовать этот элемент для ограничения раздельного туннелирования.

Комментарии

Члены Family, InterfaceLuid и InterfaceIndex однозначно идентифицируют запись MIB_IPINTERFACE_ROW.

Когда одноадресный пакет поступает на узел, IP-адрес должен определить, предназначен ли пакет локально (его назначение соответствует адресу, назначенному интерфейсу узла). Реализации IP-адресов, которые следуют модели слабого узла, принимают любой локально предназначенный пакет, независимо от интерфейса, на котором был получен пакет. Ip-реализации, которые соответствуют модели строгого узла, принимают только локально предназначенные пакеты, если адрес назначения в пакете соответствует адресу, назначенному интерфейсу, на котором был получен пакет. Модель слабого узла обеспечивает лучшее сетевое подключение. Однако это также делает узлы уязвимыми к сетевым атакам с несколькими сетями.

Текущая реализация IPv4 в операционных системах Windows Server 2003 и Windows XP использует модель слабого узла. Стек TCP/IP в Windows Vista и более поздних версиях операционных систем Windows поддерживает модель надежного узла для IPv4 и IPv6 и по умолчанию использует режим строгого узла (для элементов WeakHostReceive и WeakHostSend установлено значение FALSE). Вы можете настроить стек TCP/IP в Windows Vista и более поздних версиях для использования слабой модели узла.

Метрика — это значение, назначенное IP-маршруту для определенного сетевого интерфейса, которое определяет затраты, связанные с использованием этого маршрута. Например, метрика может быть оценена с точки зрения скорости связи, количества прыжков или задержки времени. Автоматическая метрика — это функция в Windows XP и более поздних версиях, которая автоматически настраивает метрику для локальных маршрутов, основанных на скорости канала. По умолчанию функция автоматической метрики включена ( параметр UseAutomaticMetric имеет значение TRUE) в Windows XP и более поздних версиях. Вы также можете вручную настроить эту функцию для назначения определенной метрики IP-маршруту.

Функция автоматической метрики может быть полезна, если таблица маршрутизации содержит несколько маршрутов для одного назначения. Например, на компьютере с сетевым интерфейсом 10 Мбит и сетевым интерфейсом 100 Мбит имеется шлюз по умолчанию, настроенный на обоих сетевых интерфейсах. Если параметр UseAutomaticMetric имеет значение TRUE, эта функция может заставить весь трафик, предназначенный для Интернета, например, использовать самый быстрый доступный сетевой интерфейс.

Метрика интерфейса, указанная в элементе Метрика , представляет только метрику для интерфейса. Полная метрика маршрутизации — это сочетание этой метрики интерфейса, добавленной в смещение метрики маршрута, указанное в элементе Metric MIB_IPFORWARD_ROW2 структуры записи маршрута, указанной в этом интерфейсе.

Непривилегированные одновременный доступ к нескольким сетям с разными требованиями к безопасности создает дыру в безопасности и позволяет непривилегированного драйвера случайно ретранслировать данные между двумя сетями. Типичный пример — одновременный доступ к виртуальной частной сети (VPN) и Интернету. Windows Server 2003 и Windows XP используют ненадежную модель узла, где служба удаленного доступа (RAS) предотвращает такой одновременный доступ за счет увеличения метрики маршрута всех маршрутов по умолчанию через другие интерфейсы. Таким образом, весь трафик направляется через интерфейс VPN, нарушая другие сетевые подключения.

В Windows Vista и более поздних версиях по умолчанию используется модель надежного узла. Если исходный IP-адрес указан в поиске маршрута с помощью функции GetBestRoute2 , поиск маршрута ограничивается интерфейсом исходного IP-адреса. Изменение метрики маршрута с помощью RAS не оказывает влияния, так как список потенциальных маршрутов даже не имеет маршрута для интерфейса VPN, который обеспечивает трафик в Интернет. Драйвер может использовать элемент DisableDefaultRoutes структуры MIB_IPINTERFACE_ROW, чтобы отключить использование маршрута по умолчанию в интерфейсе. VPN-клиенты могут использовать этот элемент в качестве меры безопасности для ограничения раздельного туннелирования, если vpn-клиент не требует раздельного туннелирования. VPN-клиент может вызвать функцию SetIpInterfaceEntry , чтобы при необходимости задать для элемента DisableDefaultRoutes значение TRUE . VPN-клиент может запросить текущее состояние элемента DisableDefaultRoutes , вызвав функцию GetIpInterfaceEntry .

Требования

Версия

Доступно в Windows Vista и более поздних версиях операционных систем Windows.

Заголовок

Netioapi.h (включая Netioapi.h)

См. также раздел

GetBestRoute2

GetIpInterfaceEntry

MIB_IPFORWARD_ROW2

MIB_IPINTERFACE_TABLE

NET_LUID

NL_LINK_LOCAL_ADDRESS_BEHAVIOR

NL_ROUTER_DISCOVERY_BEHAVIOR

SetIpInterfaceEntry