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


структура MIB_IPFORWARDROW (ipmib.h)

Структура MIB_IPFORWARDROW содержит сведения, описывающие сетевой маршрут IPv4.

Синтаксис

typedef struct _MIB_IPFORWARDROW {
  DWORD    dwForwardDest;
  DWORD    dwForwardMask;
  DWORD    dwForwardPolicy;
  DWORD    dwForwardNextHop;
  IF_INDEX dwForwardIfIndex;
  union {
    DWORD              dwForwardType;
    MIB_IPFORWARD_TYPE ForwardType;
  };
  union {
    DWORD               dwForwardProto;
    MIB_IPFORWARD_PROTO ForwardProto;
  };
  DWORD    dwForwardAge;
  DWORD    dwForwardNextHopAS;
  DWORD    dwForwardMetric1;
  DWORD    dwForwardMetric2;
  DWORD    dwForwardMetric3;
  DWORD    dwForwardMetric4;
  DWORD    dwForwardMetric5;
} MIB_IPFORWARDROW, *PMIB_IPFORWARDROW;

Члены

dwForwardDest

Тип: DWORD

Целевой IPv4-адрес маршрута. Запись с IPv4-адресом 0.0.0.0 считается маршрутом по умолчанию. Для этого элемента нельзя задать адрес IPv4 многоадресной рассылки (класс D).

dwForwardMask

Тип: DWORD

Маска подсети IPv4, используемая с адресом IPv4 назначения перед сравнением со значением в элементе dwForwardDest .

Значение dwForwardMask должно быть применено к целевому IPv4-адресу (логическому и оперативному) перед сравнением со значением в элементе dwForwardDest .

dwForwardPolicy

Тип: DWORD

Набор условий, которые будут вызывать выбор маршрута с несколькими путями (набор следующих прыжков для заданного назначения). Этот элемент обычно имеет формат IP TOS. Эта кодировка этого элемента описана в документе RFC 1354. Для получения дополнительной информации см. http://www.ietf.org/rfc/rfc1354.txt.

dwForwardNextHop

Тип: DWORD

Для удаленных маршрутов — IPv4-адрес следующей системы. В противном случае этот элемент должен быть IPv4-адресом 0.0.0.0.

dwForwardIfIndex

Тип: DWORD

Индекс локального интерфейса, через который должен быть достигнут следующий прыжок этого маршрута.

dwForwardType

Тип: DWORD

Тип маршрута, как описано в RFC 1354. Для получения дополнительной информации см. http://www.ietf.org/rfc/rfc1354.txt.

Этот член может быть одним из значений, определенных в файле заголовка Iprtmib.h .

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

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

Значение Значение
MIB_IPROUTE_TYPE_OTHER
1
Некоторые другие типы, не указанные в RFC 1354.
MIB_IPROUTE_TYPE_INVALID
2
Недопустимый маршрут. Это значение может быть вызвано маршрутом, добавленным перенаправлением ICMP.
MIB_IPROUTE_TYPE_DIRECT
3
Локальный маршрут, где следующий прыжок является конечным местом назначения (локальный интерфейс).
MIB_IPROUTE_TYPE_INDIRECT
4
Удаленный маршрут, где следующий прыжок не является конечным назначением (удаленным назначением).

ForwardType

dwForwardProto

Тип: DWORD

Протокол или механизм маршрутизации, создающий маршрут, как описано в RFC 1354. Для получения дополнительной информации см. http://www.ietf.org/rfc/rfc1354.txt. Список возможных идентификаторов протоколов , используемых протоколами маршрутизации, см. в разделе Идентификаторы протоколов.

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

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

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

Значение Значение
MIB_IPPROTO_OTHER
1
Некоторые другие протоколы, не указанные в RFC 1354.
MIB_IPPROTO_LOCAL
2
Локальный интерфейс.
MIB_IPPROTO_NETMGMT
3
Статический маршрут. Это значение используется для определения сведений о маршруте для IP-маршрутизации, заданной с помощью управления сетью, например протокола DCHP, SNMP или вызовов функций CreateIpForwardEntry, DeleteIpForwardEntry или SetIpForwardEntry .
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) или RIP-II, протокол динамической маршрутизации.
MIB_IPPROTO_IS_IS
9
Протокол промежуточной системы к промежуточной системе (IS-IS), протокол динамической маршрутизации. Протокол IS-IS был разработан для использования в наборе протоколов OSI.
MIB_IPPROTO_ES_IS
10
Протокол ES-IS, протокол динамической маршрутизации. Протокол ES-IS был разработан для использования в наборе протоколов OPEN Systems Interconnection (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).

ForwardProto

dwForwardAge

Тип: DWORD

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

dwForwardNextHopAS

Тип: DWORD

Номер автономной системы следующего прыжка. Если этот элемент неизвестен или не относится к протоколу или механизму маршрутизации, указанному в dwForwardProto, это значение должно быть равно нулю. Это значение задокументировано в RFC 1354. Дополнительные сведения см. в разделе http://www.ietf.org/rfc/rfc1354.txt.

dwForwardMetric1

Тип: DWORD

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

dwForwardMetric2

Тип: DWORD

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

dwForwardMetric3

Тип: DWORD

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

dwForwardMetric4

Тип: DWORD

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

dwForwardMetric5

Тип: DWORD

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

Комментарии

Функция GetIpForwardTable перечисляет записи маршрута IPv4 в локальной системе и возвращает эти сведения в MIB_IPFORWARDTABLE структуре, содержащей массив записей MIB_IPFORWARDROW структуры.

Элементы dwForwardDest, dwForwardMask и dwForwardNextHop структуры MIB_IPFORWARDROW представляют IPv4-адреса в порядке сетевых байтов.

Элемент dwForwardProto структуры MIB_IPFORWARDROW указывает протокол или механизм маршрутизации, создающий маршрут. Идентификаторы протокола маршрутизации используются для определения сведений о маршрутах для указанного протокола маршрутизации. Например, MIB_IPPROTO_NETMGMT используется для определения сведений о маршруте для IP-маршрутизации, заданной с помощью управления сетью, например протокола DCHP, протокола SNMP или путем вызовов функций CreateIpForwardEntry, DeleteIpForwardEntry или SetIpForwardEntry . Список возможных протоколов и механизмов маршрутизации см. в разделе Идентификаторы протоколов.

IPv4-адрес 0.0.0.0 в элементе dwForwardDestструктуры MIB_IPFORWARDROW считается маршрутом по умолчанию. Если установлено несколько сетевых адаптеров, MIB_IPFORWARDTABLE может содержать несколько записей MIB_IPFORWARDROW с элементом dwForwardDest, равным 0.0.0.0.

Если для dwForwardAge задано значение INFINITE, маршрут не будет удален в зависимости от времени ожидания.

альфа. Любое другое значение dwForwardAge указывает количество секунд с момента добавления или изменения маршрута в таблице сетевой маршрутизации.

В Windows Server 2003 или Windows 2000 Server, когда запущена служба маршрутизации и удаленного доступа (RRAS), возвращаемые записи MIB_IPFORWARDROW имеют равные нулю элементы dwForwardType и dwForwardAge .

В Windows Vista и Windows Server 2008 метрика маршрута, указанная в элементе dwForwardMetric1 структуры MIB_IPFORWARDROW , представляет собой сочетание метрики маршрута, добавленной в метрику интерфейса, указанную в элементе Метрикиструктуры MIB_IPINTERFACE_ROW связанного интерфейса. Таким образом, элемент dwForwardMetric1 структуры MIB_IPFORWARDROW должен быть равен или больше элемента Metric связанной MIB_IPINTERFACE_ROW структуры. Если приложение хочет задать для метрики маршрута значение 0, то элемент dwForwardMetric1 структуры MIB_IPFORWARDROW должен быть равен значению метрики интерфейса, указанной в элементе Метрика связанной структуры MIB_IPINTERFACE_ROW . Приложение может получить метрику интерфейса, вызвав функцию GetIpInterfaceEntry .

Некоторые элементы структуры MIB_IPFORWARDROW в настоящее время не используются маршрутизацией IPv4. К этим элементам относятся dwForwardPolicy, dwForwardNextHopAS, dwForwardMetric2, dwForwardMetric3, dwForwardMetric4 и dwForwardMetric5.

В пакете SDK microsoft Windows, выпущенном для Windows Vista и более поздних версий, организация файлов заголовков изменилась. Эта структура определена в файле заголовка Ipmib.h , а не в файле заголовка Iprtrmib.h . Обратите внимание, что файл заголовка Ipmib.h автоматически включается в iprtrmib.h, который автоматически включается в файл заголовка Iphlpapi.h . Файлы заголовков Ipmib.h и Iprtrmib.h никогда не следует использовать напрямую.

Примеры

Чтобы просмотреть пример, который извлекает MIB_IPFORWARDTABLE структуру, а затем выводит записи MIB_IPFORWARDROW структуры в этой таблице, см. функцию GetIpForwardTable .

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть ipmib.h (включая Iphlpapi.h)

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

CreateIpForwardEntry

DeleteIpForwardEntry

GetIpForwardTable

GetIpInterfaceEntry

MIB_IPFORWARDTABLE

MIB_IPINTERFACE_ROW

Идентификаторы протоколов

SetIpForwardEntry