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


структура MIB_IPFORWARD_ROW2 (netioapi.h)

В структуре MIB_IPFORWARD_ROW2 хранятся сведения о записи IP-маршрута.

Синтаксис

typedef struct _MIB_IPFORWARD_ROW2 {
  NET_LUID          InterfaceLuid;
  NET_IFINDEX       InterfaceIndex;
  IP_ADDRESS_PREFIX DestinationPrefix;
  SOCKADDR_INET     NextHop;
  UCHAR             SitePrefixLength;
  ULONG             ValidLifetime;
  ULONG             PreferredLifetime;
  ULONG             Metric;
  NL_ROUTE_PROTOCOL Protocol;
  BOOLEAN           Loopback;
  BOOLEAN           AutoconfigureAddress;
  BOOLEAN           Publish;
  BOOLEAN           Immortal;
  ULONG             Age;
  NL_ROUTE_ORIGIN   Origin;
} MIB_IPFORWARD_ROW2, *PMIB_IPFORWARD_ROW2;

Члены

InterfaceLuid

Тип: NET_LUID

Локальный уникальный идентификатор (LUID) для сетевого интерфейса, связанного с этой записью IP-маршрута.

InterfaceIndex

Тип: NET_IFINDEX

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

DestinationPrefix

Тип: IP_ADDRESS_PREFIX

Префикс IP-адреса назначения для этого маршрута.

NextHop

Тип: SOCKADDR_INET

Для удаленного маршрута — IP-адрес следующей системы или шлюза. Если маршрут выполняется по локальному адресу замыкания на себя или IP-адресу по локальной ссылке, следующий прыжок не указан (все нули). Для локального маршрута замыкания на себя этот элемент должен быть IPv4-адресом 0.0.0.0 для записи маршрута IPv4 или IPv6-адресом 0::0 для записи маршрута IPv6.

SitePrefixLength

Тип: UCHAR

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

ValidLifetime

Тип: ULONG

Максимальное время (в секундах) допустимости записи IP-маршрута. Значение 0xffffffff считается бесконечным.

PreferredLifetime

Тип: ULONG

Предпочтительное время (в секундах), когда запись IP-маршрута является допустимой. Значение 0xffffffff считается бесконечным.

Metric

Тип: ULONG

Значение смещения метрики маршрута для этой записи IP-маршрута. Обратите внимание, что фактическая метрика маршрута, используемая для вычисления предпочтительного маршрута, представляет собой суммирование метрики интерфейса, указанной в элементе Metricструктуры MIB_IPINTERFACE_ROW , и смещения метрики маршрута, указанного в этом элементе. Семантика этой метрики определяется протоколом маршрутизации, указанным в элементе протокола . Если эта метрика не используется, ее значение должно быть равно -1. Это значение задокументировано в RFC 4292. Для получения дополнительной информации см. http://www.ietf.org/rfc/rfc4292.txt.

Protocol

Тип: NL_ROUTE_PROTOCOL

Механизм маршрутизации, как был добавлен этот IP-маршрут. Этот элемент может быть одним из значений из типа перечисления NL_ROUTE_PROTOCOL , определенного в файле заголовка Nldef.h . Элемент описан в RFC 4292. Для получения дополнительной информации см. http://www.ietf.org/rfc/rfc4292.txt.

Обратите внимание, что заголовок Nldef.h автоматически включается в файл заголовка Ipmib.h , который автоматически включается в заголовок Iprtrmib.h . Заголовок Iphlpapi.h автоматически включает файл заголовка Iprtrmib.h . Файлы заголовков Iprtrmib.h, Ipmib.h и Nldef.h никогда не следует использовать напрямую.

В следующем списке показаны возможные значения для этого элемента.

Значение Значение
MIB_IPPROTO_OTHER
1
Механизм маршрутизации не указан.
MIB_IPPROTO_LOCAL
2
Локальный интерфейс.
MIB_IPPROTO_NETMGMT
3
Статический маршрут. Это значение используется для определения сведений о маршруте для IP-маршрутизации, заданной с помощью управления сетью, например протокола DCHP, протокола SNMP или вызовов функций CreateIpForwardEntry2, DeleteIpForwardEntry2 или SetIpForwardEntry2 .
MIB_IPPROTO_ICMP
4
Результат перенаправления ICMP.
MIB_IPPROTO_EGP
5
Протокол внешнего шлюза (EGP), протокол динамической маршрутизации.
MIB_IPPROTO_GGP
6
Протокол GGP , протокол динамической маршрутизации.
MIB_IPPROTO_HELLO
7
Протокол Hellospeak, протокол динамической маршрутизации. Это историческая запись больше не используется и была ранним протоколом маршрутизации, используемым первоначальными маршрутизаторами ARPANET, на которых выполнялось специальное программное обеспечение, называемое протоколом маршрутизации Fuzzball, иногда называемым Hellospeak, как описано в RFC 891 и RFC 1305. Дополнительные сведения см. в разделах http://www.ietf.org/rfc/rfc891.txt и http://www.ietf.org/rfc/rfc1305.txt.
MIB_IPPROTO_RIP
8
Протокол RIP в Беркли или RIP-II, протокол динамической маршрутизации.
MIB_IPPROTO_IS_IS
9
Протокол промежуточной системы к промежуточной системе (IS-IS), протокол динамической маршрутизации. Протокол IS-IS был разработан для использования в наборе протоколов OPEN Systems Interconnection (OSI).
MIB_IPPROTO_ES_IS
10
Протокол конечной системы — промежуточная система (ES-IS), протокол динамической маршрутизации. Протокол ES-IS был разработан для использования в наборе протоколов OSI.
MIB_IPPROTO_CISCO
11
Протокол маршрутизации внутреннего шлюза Cisco (IGRP), протокол динамической маршрутизации.
MIB_IPPROTO_BBN
12
Протокол внутреннего шлюза (IGP) Bolt, Beranek и Newman (BBN), который использовал алгоритм кратчайшего пути (SPF). Это был ранний протокол динамической маршрутизации.
MIB_IPPROTO_OSPF
13
Протокол OPEN SHORTEST PATH First (OSPF), протокол динамической маршрутизации.
MIB_IPPROTO_BGP
14
Протокол BGP, протокол динамической маршрутизации.
MIB_IPPROTO_NT_AUTOSTATIC
10002
Запись windows, добавленная изначально протоколом маршрутизации, но теперь статическая.
MIB_IPPROTO_NT_STATIC
10006
Запись windows, добавленная в виде статического маршрута из пользовательского интерфейса маршрутизации или команды маршрутизации.
MIB_IPPROTO_NT_STATIC_NON_DOD
10007
Запись windows, добавленная в качестве статического маршрута из пользовательского интерфейса маршрутизации или команды маршрутизации, за исключением того, что эти маршруты не вызывают вызов dial On Demand (DOD).

Loopback

Тип: BOOLEAN

Значение типа , указывающее, является ли маршрут маршрутом замыкания на себя (шлюз находится на локальном узле).

AutoconfigureAddress

Тип: BOOLEAN

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

Publish

Тип: BOOLEAN

Значение типа , указывающее, публикуется ли маршрут.

Immortal

Тип: BOOLEAN

Значение типа , указывающее, является ли маршрут бессмертным.

Age

Тип: ULONG

Количество секунд с момента добавления или изменения маршрута в таблице сетевой маршрутизации.

Origin

Тип: NL_ROUTE_ORIGIN

Источник маршрута. Этот член может быть одним из значений из типа перечисления NL_ROUTE_ORIGIN , определенного в файле заголовка Nldef.h .

Значение Значение
NlroManual
0
Результат ручной настройки.
NlroWellKnown
1
Известный маршрут.
NlroDHCP
2
Результат настройки DHCP.
NlroRouterAdvertisement
3
Результат объявления маршрутизатора.
Nlro6to4
4
Результат туннелирования 6to4.

Комментарии

Структура MIB_IPFORWARD_ROW2 определяется в Windows Vista и более поздних версиях.

Функция GetIpForwardTable2 перечисляет записи IP-маршрутов в локальной системе и возвращает эти сведения в MIB_IPFORWARD_TABLE2 структуре в виде массива MIB_IPFORWARD_ROW2 записей.

Функция GetIpForwardEntry2 извлекает одну запись IP-маршрута и возвращает эти сведения в MIB_IPFORWARD_ROW2 структуре.

Запись с элементами Prefix и PrefixLengthIP_ADDRESS_PREFIX в элементе DestinationPrefix в структуре MIB_IPFORWARD_ROW2 считается маршрутом по умолчанию. MIB_IPFORWARD_TABLE2 может содержать несколько записей MIB_IPFORWARD_ROW2 с элементами Prefix и PrefixLengthIP_ADDRESS_PREFIX равным нулю в элементе DestinationPrefix, если установлено несколько сетевых адаптеров.

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

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

Обратите внимание, что файл заголовка Netioapi.h автоматически включается в файл заголовка Iphlpapi.h . Файл заголовка Netioapi.h никогда не следует использовать напрямую.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Верхняя часть netioapi.h (включая Iphlpapi.h)

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

CreateIpForwardEntry2

DeleteIpForwardEntry2

GetIpForwardEntry2

GetIpForwardTable2

GetIpInterfaceEntry

IP_ADDRESS_PREFIX

MIB_IPFORWARD_TABLE2

MIB_IPINTERFACE_ROW

SOCKADDR_INET

SetIpForwardEntry2