структура 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 никогда не следует использовать напрямую.
В следующем списке показаны возможные значения для этого элемента.
Значение | Значение |
---|---|
|
Механизм маршрутизации не указан. |
|
Локальный интерфейс. |
|
Статический маршрут. Это значение используется для определения сведений о маршруте для IP-маршрутизации, заданной с помощью управления сетью, например протокола DCHP, протокола SNMP или вызовов функций CreateIpForwardEntry2, DeleteIpForwardEntry2 или SetIpForwardEntry2 . |
|
Результат перенаправления ICMP. |
|
Протокол внешнего шлюза (EGP), протокол динамической маршрутизации. |
|
Протокол GGP , протокол динамической маршрутизации. |
|
Протокол Hellospeak, протокол динамической маршрутизации. Это историческая запись больше не используется и была ранним протоколом маршрутизации, используемым первоначальными маршрутизаторами ARPANET, на которых выполнялось специальное программное обеспечение, называемое протоколом маршрутизации Fuzzball, иногда называемым Hellospeak, как описано в RFC 891 и RFC 1305. Дополнительные сведения см. в разделах http://www.ietf.org/rfc/rfc891.txt и http://www.ietf.org/rfc/rfc1305.txt. |
|
Протокол RIP в Беркли или RIP-II, протокол динамической маршрутизации. |
|
Протокол промежуточной системы к промежуточной системе (IS-IS), протокол динамической маршрутизации. Протокол IS-IS был разработан для использования в наборе протоколов OPEN Systems Interconnection (OSI). |
|
Протокол конечной системы — промежуточная система (ES-IS), протокол динамической маршрутизации. Протокол ES-IS был разработан для использования в наборе протоколов OSI. |
|
Протокол маршрутизации внутреннего шлюза Cisco (IGRP), протокол динамической маршрутизации. |
|
Протокол внутреннего шлюза (IGP) Bolt, Beranek и Newman (BBN), который использовал алгоритм кратчайшего пути (SPF). Это был ранний протокол динамической маршрутизации. |
|
Протокол OPEN SHORTEST PATH First (OSPF), протокол динамической маршрутизации. |
|
Протокол BGP, протокол динамической маршрутизации. |
|
Запись windows, добавленная изначально протоколом маршрутизации, но теперь статическая. |
|
Запись windows, добавленная в виде статического маршрута из пользовательского интерфейса маршрутизации или команды маршрутизации. |
|
Запись 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 .
Комментарии
Структура 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) |