estructura MIB_IPFORWARDROW (ipmib.h)
La estructura MIB_IPFORWARDROW contiene información que describe una ruta de red IPv4.
Sintaxis
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;
Members
dwForwardDest
Tipo: DWORD
Dirección IPv4 de destino de la ruta. Una entrada con una dirección IPv4 de 0.0.0.0 se considera una ruta predeterminada. Este miembro no se puede establecer en una dirección IPv4 de multidifusión (clase D).
dwForwardMask
Tipo: DWORD
Máscara de subred IPv4 que se va a usar con la dirección IPv4 de destino antes de compararse con el valor del miembro dwForwardDest .
El valor dwForwardMask debe aplicarse a la dirección IPv4 de destino (lógica y operación) antes de una comparación con el valor del miembro dwForwardDest .
dwForwardPolicy
Tipo: DWORD
Conjunto de condiciones que provocarían la selección de una ruta de múltiples rutas (el conjunto de próximo saltos para un destino determinado). Este miembro suele estar en formato IP TOS. Esta codificación de este miembro se describe en RFC 1354. Para más información, consulte http://www.ietf.org/rfc/rfc1354.txt.
dwForwardNextHop
Tipo: DWORD
En el caso de las rutas remotas, la dirección IPv4 del siguiente sistema en ruta. De lo contrario, este miembro debe ser una dirección IPv4 de 0.0.0.0.
dwForwardIfIndex
Tipo: DWORD
Índice de la interfaz local a través del cual se debe alcanzar el próximo salto de esta ruta.
dwForwardType
Tipo: DWORD
Tipo de ruta tal y como se describe en RFC 1354. Para más información, consulte http://www.ietf.org/rfc/rfc1354.txt.
Este miembro puede ser uno de los valores definidos en el archivo de encabezado Iprtmib.h .
En Windows Vista y versiones posteriores, los archivos de encabezado se reorganizaron y este miembro puede ser uno de los valores del tipo de enumeración MIB_IPFORWARD_TYPE definido en el archivo de encabezado Ipmib.h . Tenga en cuenta que el encabezado Ipmib.h se incluye automáticamente en el archivo de encabezado Iprtrmib.h que el encabezado Iphlpapi.h incluye automáticamente. Los archivos de encabezado Iprtrmib.h e Ipmib.h nunca se deben usar directamente.
En la lista siguiente se muestran los valores posibles para este miembro.
ForwardType
dwForwardProto
Tipo: DWORD
Protocolo o mecanismo de enrutamiento que generó la ruta tal y como se describe en RFC 1354. Para más información, consulte http://www.ietf.org/rfc/rfc1354.txt. Consulte Identificadores de protocolo para obtener una lista de los posibles identificadores de protocolo usados por los protocolos de enrutamiento.
Este miembro puede ser uno de los valores definidos en el archivo de encabezado Iprtmib.h . Los valores de este miembro pueden ser uno de los valores de MIB_IPPROTO_xxx definidos en el archivo de encabezado Iprtmib.h o uno de los valores de PROTO_IP_xxx definidos en el archivo de encabezado routprot.h , ya que estos valores son los mismos.
En Windows Vista y versiones posteriores, los archivos de encabezado se reorganizaron y este miembro puede ser uno de los valores definidos en el archivo de encabezado Nldef.h . Tenga en cuenta que el encabezado Nldef.h se incluye automáticamente en el archivo de encabezado Ipmib.h que el encabezado Iprtrmib.h incluye automáticamente. El encabezado Iphlpapi.h incluye automáticamente el archivo de encabezado Iprtrmib.h . Los archivos de encabezado Iprtrmib.h, Ipmib.h y Nldef.h nunca se deben usar directamente.
En la lista siguiente se muestran los valores posibles para este miembro.
Valor | Significado |
---|---|
|
Otro protocolo no especificado en RFC 1354. |
|
Interfaz local. |
|
Una ruta estática. Este valor se usa para identificar la información de ruta para el enrutamiento IP establecido a través de la administración de red, como el Protocolo de configuración dinámica de host (DCHP), el Protocolo simple de administración de redes (SNMP), o mediante llamadas a las funciones CreateIpForwardEntry, DeleteIpForwardEntry o SetIpForwardEntry . |
|
Resultado de la redirección ICMP. |
|
Protocolo exterior de puerta de enlace (EGP), un protocolo de enrutamiento dinámico. |
|
El protocolo de puerta de enlace a puerta de enlace (GGP), un protocolo de enrutamiento dinámico. |
|
El protocolo Hellospeak, un protocolo de enrutamiento dinámico. Esta es una entrada histórica que ya no está en uso y fue un protocolo de enrutamiento temprano usado por los enrutadores ARPANET originales que ejecutaron software especial llamado protocolo de enrutamiento de Fuzzball, a veces llamado Hellospeak, como se describe en RFC 891 y RFC 1305. Para obtener más información, vea http://www.ietf.org/rfc/rfc891.txt y http://www.ietf.org/rfc/rfc1305.txt. |
|
El Protocolo de información de enrutamiento de Berkeley (RIP) o RIP-II, un protocolo de enrutamiento dinámico. |
|
El protocolo sistema intermedio a intermedio (IS-IS), un protocolo de enrutamiento dinámico. El protocolo IS-IS se desarrolló para su uso en el conjunto de protocolos de interconexión de sistemas abiertos (OSI). |
|
El protocolo End System-to-Intermediate System (ES-IS), un protocolo de enrutamiento dinámico. El protocolo ES-IS se desarrolló para su uso en el conjunto de protocolos de interconexión de sistemas abiertos (OSI). |
|
El Cisco Interior Gateway Routing Protocol (IGRP), un protocolo de enrutamiento dinámico. |
|
Bolt, Beranek y Newman (BBN) Protocolo de puerta de enlace interior (IGP) que usaban el algoritmo Shortest Path First (SPF). Se trata de un protocolo de enrutamiento dinámico temprano. |
|
El protocolo Open Shortest Path First (OSPF), un protocolo de enrutamiento dinámico. |
|
Border Gateway Protocol (BGP), un protocolo de enrutamiento dinámico. |
|
Una entrada específica de Windows agregada originalmente por un protocolo de enrutamiento, pero que ahora es estática. |
|
Una entrada específica de Windows agregada como una ruta estática desde la interfaz de usuario de enrutamiento o un comando de enrutamiento. |
|
Una entrada específica de Windows agregada como una ruta estática desde la interfaz de usuario de enrutamiento o un comando de enrutamiento, salvo que estas rutas no provocan dial on demand (DOD). |
ForwardProto
dwForwardAge
Tipo: DWORD
Número de segundos desde que se agregó o modificó la ruta en la tabla de enrutamiento de red.
dwForwardNextHopAS
Tipo: DWORD
Número de sistema autónomo del próximo salto. Cuando este miembro es desconocido o no es relevante para el protocolo o el mecanismo de enrutamiento especificado en dwForwardProto, este valor debe establecerse en cero. Este valor se documenta en RFC 1354. Para obtener más información, vea http://www.ietf.org/rfc/rfc1354.txt.
dwForwardMetric1
Tipo: DWORD
Valor de métrica de enrutamiento principal para esta ruta. La semántica de esta métrica viene determinada por el protocolo de enrutamiento especificado en el miembro dwForwardProto . Si no se usa esta métrica, su valor debe establecerse en -1. Este valor se documenta en RFC 1354. Para obtener más información, vea http://www.ietf.org/rfc/rfc1354.txt.
dwForwardMetric2
Tipo: DWORD
Un valor de métrica de enrutamiento alternativo para esta ruta. La semántica de esta métrica viene determinada por el protocolo de enrutamiento especificado en el miembro dwForwardProto . Si no se usa esta métrica, su valor debe establecerse en -1. Este valor se documenta en RFC 1354. Para obtener más información, vea http://www.ietf.org/rfc/rfc1354.txt.
dwForwardMetric3
Tipo: DWORD
Un valor de métrica de enrutamiento alternativo para esta ruta. La semántica de esta métrica viene determinada por el protocolo de enrutamiento especificado en el miembro dwForwardProto . Si no se usa esta métrica, su valor debe establecerse en -1. Este valor se documenta en RFC 1354. Para obtener más información, vea http://www.ietf.org/rfc/rfc1354.txt.
dwForwardMetric4
Tipo: DWORD
Un valor de métrica de enrutamiento alternativo para esta ruta. La semántica de esta métrica viene determinada por el protocolo de enrutamiento especificado en el miembro dwForwardProto . Si no se usa esta métrica, su valor debe establecerse en -1. Este valor se documenta en RFC 1354. Para obtener más información, vea http://www.ietf.org/rfc/rfc1354.txt.
dwForwardMetric5
Tipo: DWORD
Un valor de métrica de enrutamiento alternativo para esta ruta. La semántica de esta métrica viene determinada por el protocolo de enrutamiento especificado en el miembro dwForwardProto . Si no se usa esta métrica, su valor debe establecerse en -1. Este valor se documenta en RFC 1354. Para obtener más información, vea http://www.ietf.org/rfc/rfc1354.txt.
Comentarios
La función GetIpForwardTable enumera las entradas de ruta IPv4 en un sistema local y devuelve esta información en una estructura MIB_IPFORWARDTABLE que contiene una matriz de entradas de estructura MIB_IPFORWARDROW .
Los miembros dwForwardDest, dwForwardMask y dwForwardNextHop de la estructura MIB_IPFORWARDROW representan direcciones IPv4 en orden de bytes de red.
El miembro dwForwardProto de la estructura MIB_IPFORWARDROW especifica el protocolo o el mecanismo de enrutamiento que generó la ruta. Los identificadores de protocolo de enrutamiento se usan para identificar la información de ruta del protocolo de enrutamiento especificado. Por ejemplo, MIB_IPPROTO_NETMGMT se usa para identificar la información de ruta para el enrutamiento IP establecido a través de la administración de red, como el Protocolo de configuración dinámica de host (DCHP), el Protocolo simple de administración de redes (SNMP) o mediante llamadas a las funciones CreateIpForwardEntry, DeleteIpForwardEntry o SetIpForwardEntry . Consulte Identificadores de protocolo para obtener una lista de los posibles protocolos y mecanismos de enrutamiento.
Una dirección IPv4 de 0.0.0.0 en el miembro dwForwardDest de la estructura MIB_IPFORWARDROW se considera una ruta predeterminada. El MIB_IPFORWARDTABLE puede contener varias entradas de MIB_IPFORWARDROW con el miembro dwForwardDest establecido en 0.0.0.0 cuando hay varios adaptadores de red instalados.
Cuando dwForwardAge se establece en INFINITE, la ruta no se quitará en función de un tiempo de espera.
. Cualquier otro valor de dwForwardAge especifica el número de segundos desde que se agregó o modificó la ruta en la tabla de enrutamiento de red.
En Windows Server 2003 o Windows 2000 Server cuando se ejecuta el Servicio de enrutamiento y acceso remoto (RRAS), las entradas MIB_IPFORWARDROW devueltas tienen los miembros dwForwardType y dwForwardAge establecidos en cero.
En Windows Vista y Windows Server 2008, la métrica de ruta especificada en el miembro dwForwardMetric1 de la estructura MIB_IPFORWARDROW representa una combinación de la métrica de ruta agregada a la métrica de interfaz especificada en el miembro Metric de la estructura MIB_IPINTERFACE_ROW de la interfaz asociada. Por lo tanto, el miembro dwForwardMetric1 de la estructura MIB_IPFORWARDROW debe ser igual o mayor que el miembro Metric de la estructura de MIB_IPINTERFACE_ROW asociada. Si una aplicación desea establecer la métrica de ruta en 0, el miembro dwForwardMetric1 de la estructura MIB_IPFORWARDROW debe establecerse igual al valor de la métrica de interfaz especificada en el miembro Metric de la estructura MIB_IPINTERFACE_ROW asociada. Una aplicación puede recuperar la métrica de interfaz llamando a la función GetIpInterfaceEntry .
El enrutamiento IPv4 no usa actualmente varios miembros de la estructura de MIB_IPFORWARDROW . Estos miembros incluyen dwForwardPolicy, dwForwardNextHopAS, dwForwardMetric2, dwForwardMetric3, dwForwardMetric4 y dwForwardMetric5.
En el Kit de desarrollo de software (SDK) de Microsoft Windows publicado para Windows Vista y versiones posteriores, la organización de los archivos de encabezado ha cambiado. Esta estructura se define en el archivo de encabezado Ipmib.h , no en el archivo de encabezado Iprtrmib.h . Tenga en cuenta que el archivo de encabezado Ipmib.h se incluye automáticamente en Iprtrmib.h, que se incluye automáticamente en el archivo de encabezado Iphlpapi.h . Los archivos de encabezado Ipmib.h e Iprtrmib.h nunca se deben usar directamente.
Ejemplos
Para ver un ejemplo que recupera la estructura MIB_IPFORWARDTABLE y, a continuación, imprime las entradas de estructura MIB_IPFORWARDROW de esta tabla, consulte la función GetIpForwardTable .
Requisitos
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Encabezado | ipmib.h (incluya Iphlpapi.h) |