Compartilhar via


estrutura MIB_IPINTERFACE_ROW

A estrutura MIB_IPINTERFACE_ROW armazena informações de gerenciamento de interface para uma família de endereços IP específica em um adaptador de rede.

Sintaxe

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;

Membros

  • Família
    A família de endereços. Os valores possíveis para a família de endereços são listados no arquivo de cabeçalho Winsock2.h. Observe que os valores para a família de endereços AF_ e as constantes da família de protocolos PF_ são idênticos (por exemplo, AF_INET e PF_INET), para que você possa usar qualquer constante.

    No Windows Vista e versões posteriores dos sistemas operacionais Windows, os valores possíveis para esse membro são definidos no arquivo de cabeçalho Ws2def.h. Observe que o arquivo de cabeçalho Ws2def.h é incluído automaticamente em Netioapi.h e você nunca deve usar o Ws2def.h diretamente.

    No momento, há suporte para os seguintes valores:

    • AF_INET
      A família de endereços IPv4.

    • AF_INET6
      A família de endereços IPv6.

    • AF_UNSPEC
      A família de endereços não é especificada.

  • InterfaceLuid
    O LUID (identificador exclusivo local) para o adaptador de rede.

  • Interfaceindex
    O valor do índice local para o adaptador de rede. Esse valor de índice pode ser alterado quando um adaptador de rede é desabilitado e habilitado, ou em outras circunstâncias, e não deve ser considerado persistente.

  • MaxReassemblySize
    O tamanho máximo de remontagem, em bytes, de um pacote IP fragmentado. No momento, esse membro está definido como zero e reservado para uso futuro.

  • InterfaceIdentifier
    Reservado para uso futuro. No momento, esse membro está definido como zero.

  • MinRouterAdvertisementInterval
    O intervalo mínimo de anúncio do roteador, em milissegundos, nessa interface IP. Esse membro usa como padrão 200 para IPv6. Esse membro só será aplicável se o membro AdvertisingEnabled estiver definido como TRUE.

  • MaxRouterAdvertisementInterval
    O intervalo máximo de anúncios do roteador, em milissegundos, nessa interface IP. Esse membro usa como padrão 600 para IPv6. Esse membro só será aplicável se o membro AdvertisingEnabled estiver definido como TRUE.

  • AdvertisingEnabled
    Um valor que indica se a publicidade do roteador está habilitada nessa interface IP. O padrão para IPv6 é que o anúncio do roteador seja habilitado somente se a interface estiver configurada para atuar como um roteador. O padrão para IPv4 é que o anúncio do roteador esteja desabilitado.

  • ForwardingEnabled
    Um valor que indica se o encaminhamento de IP está habilitado nessa interface IP.

  • WeakHostSend
    Um valor que indica se o modo de envio de host fraco está habilitado nessa interface IP.

  • WeakHostReceive
    Um valor que indica se o modo de recebimento de host fraco está habilitado nessa interface IP.

  • UseAutomaticMetric
    Um valor que indica se a interface IP usa a métrica automática.

  • UseNeighborUnreachabilityDetection
    Um valor que indica se a detecção de inacessível do vizinho está habilitada nessa interface IP.

  • ManagedAddressConfigurationSupported
    Um valor que indica se a interface IP dá suporte à configuração de endereço gerenciado usando DHCP.

  • OtherStatefulConfigurationSupported
    Um valor que indica se a interface IP dá suporte a outra configuração com estado (por exemplo, configuração de rota).

  • AdvertiseDefaultRoute
    Um valor que indica se a interface IP anuncia a rota padrão. Esse membro só será aplicável se o membro AdvertisingEnabled estiver definido como TRUE.

  • RouterDiscoveryBehavior
    Um tipo de comportamento de descoberta de roteador NL_ROUTER_DISCOVERY_BEHAVIOR .

  • DadTransmits
    O número de mensagens consecutivas enviadas enquanto o driver executa a detecção de endereço duplicado em um endereço IP unicast provisório. Um valor zero indica que a detecção de endereço duplicado não é executada em endereços IP provisórios. Um valor de um indica uma única transmissão sem retransmissões de acompanhamento. Para IPv4, o valor padrão para esse membro é 3. Para IPv6, o valor padrão para esse membro é 1. Para IPv6, essas mensagens são enviadas como solicitações de NS (Solicitação de Vizinho) IPv6. Esse membro é definido como DupAddrDetectTransmits no RFC 2462. Para obter mais informações, consulte IPv6 "Configuração automática de endereço sem estado".

  • BaseReachableTime
    A base para tempo acessível aleatório, em milissegundos. O membro é descrito no RFC 2461. Para obter mais informações, consulte "Descoberta de vizinhos para IP versão 6 (IPv6)".

  • RetransmitTime
    O tempo limite de solicitação do vizinho IPv6 (NS), em milissegundos. O membro é descrito no RFC 2461. Para obter mais informações, consulte "Descoberta de vizinhos para IP versão 6 (IPv6)".

  • PathMtuDiscoveryTimeout
    O tempo limite de descoberta de MTU do caminho, em milissegundos.

  • LinkLocalAddressBehavior
    Um tipo de comportamento de endereço local de link NL_LINK_LOCAL_ADDRESS_BEHAVIOR.

  • LinkLocalAddressTimeout
    O tempo limite do endereço IP local do link, em milissegundos.

  • ZoneIndices
    Uma matriz que especifica a parte de zona das IDs de escopo.

  • SitePrefixLength
    O comprimento do prefixo do site, em bits, do endereço da interface IP. O comprimento, em bits, do prefixo do site ou da parte de rede do endereço da interface IP. Para um endereço IPv4, qualquer valor maior que 32 é um valor inválido. Para um endereço IPv6, qualquer valor maior que 128 é um valor inválido. Um valor de 255 normalmente é usado para representar um valor ilegal.

  • Métrica
    A métrica da interface. Observe que a métrica de rota real usada para calcular a preferência de rota é a soma do deslocamento de métrica de rota especificado no membro Métrica da estrutura de MIB_IPFORWARD_ROW2 e a métrica de interface especificada neste membro.

  • NlMtu
    O tamanho da MTU da camada de rede, em bytes.

  • Conectado
    Um valor que indica se a interface está conectada a um ponto de acesso à rede.

  • SupportsWakeUpPatterns
    Um valor que especifica se o adaptador de rede dá suporte ao Wake on LAN.

  • SupportsNeighborDiscovery
    Um valor que especifica se a interface IP dá suporte à descoberta de vizinhos.

  • SupportsRouterDiscovery
    Um valor que especifica se a interface IP dá suporte à descoberta de vizinhos.

  • ReachableTime
    A base para tempo acessível aleatório, em milissegundos. O membro é descrito em RFC 2461. Para obter mais informações, consulte Descoberta de vizinho para IP versão 6 (IPv6).

  • TransmitOffload
    Um conjunto de sinalizadores que indicam os recursos de descarregamento de transmissão para a interface ip. A estrutura NL_INTERFACE_OFFLOAD_ROD é definida no arquivo de cabeçalho Nldef.h.

  • ReceiveOffload
    Um conjunto de sinalizadores que indicam os recursos de descarregamento de recebimento para a interface de IP. A estrutura NL_INTERFACE_OFFLOAD_ROD é definida no arquivo de cabeçalho Nldef.h.

  • DisableDefaultRoutes
    Um valor que indica se o uso da rota padrão na interface deve ser desabilitado. Os clientes VPN podem usar esse membro para restringir o túnel dividido.

Comentários

Os membros Family, InterfaceLuid e InterfaceIndex identificam exclusivamente uma entrada de MIB_IPINTERFACE_ROW.

Quando um pacote unicast chega a um host, o IP deve determinar se o pacote está destinado localmente (seu destino corresponde a um endereço atribuído a uma interface do host). As implementações de IP que seguem um modelo de host fraco aceitam qualquer pacote destinado localmente, independentemente da interface na qual o pacote foi recebido. As implementações de IP que seguem o modelo de host forte aceitam apenas pacotes destinados localmente se o endereço de destino no pacote corresponder a um endereço atribuído à interface na qual o pacote foi recebido. O modelo de host fraco fornece melhor conectividade de rede. No entanto, ele também torna os hosts suscetíveis a ataques de rede multihome.

A implementação atual do IPv4 nos sistemas operacionais Windows Server 2003 e Windows XP usa o modelo de host fraco. A pilha TCP/IP no Windows Vista e versões posteriores dos sistemas operacionais Windows dão suporte ao modelo de host forte para IPv4 e IPv6 e é configurada para usar o modo de host forte por padrão (os membros WeakHostReceive e WeakHostSend são definidos como FALSE). Você pode configurar a pilha TCP/IP no Windows Vista e posterior para usar um modelo de host fraco.

Uma métrica é um valor atribuído a uma rota IP para um adaptador de rede específico que identifica o custo associado ao uso dessa rota. Por exemplo, a métrica pode ser valorizada em termos de velocidade do link, contagem de saltos ou atraso de tempo. A métrica automática é um recurso no Windows XP e posterior que configura automaticamente a métrica para as rotas locais baseadas na velocidade do link. Por padrão, o recurso de métrica automática está habilitado ( UseAutomaticMetric é definido como TRUE) no Windows XP e posterior. Você também pode configurar manualmente esse recurso para atribuir uma métrica específica a uma rota IP.

O recurso de métrica automática pode ser útil quando a tabela de roteamento contém várias rotas para o mesmo destino. Por exemplo, um computador que tem um adaptador de rede de 10 megabits e um adaptador de rede de 100 megabits tem um gateway padrão configurado em ambos os adaptadores de rede. Quando UseAutomaticMetric é TRUE, esse recurso pode forçar todo o tráfego destinado à Internet, por exemplo, a usar o adaptador de rede mais rápido disponível.

A métrica de interface especificada no membro Métrica representa apenas a métrica para a interface. A métrica de roteamento completa é uma combinação dessa métrica de interface adicionada ao deslocamento de métrica de rota especificado no membro Métrica da estrutura MIB_IPFORWARD_ROW2 de uma entrada de rota especificada nessa interface.

O acesso simultâneo sem privilégios a várias redes de diferentes requisitos de segurança cria uma falha de segurança e permite que um driver sem privilégios retransmitisse dados acidentalmente entre as duas redes. Um exemplo típico é o acesso simultâneo a uma VPN (rede virtual privada) e à Internet. O Windows Server 2003 e o Windows XP usam um modelo de host fraco, em que o RAS (Serviço de Acesso Remoto) impede esse acesso simultâneo aumentando a métrica de rota de todas as rotas padrão em relação a outras interfaces. Portanto, todo o tráfego é roteado por meio da interface VPN, interrompendo outra conectividade de rede.

No Windows Vista e posterior, por padrão, um modelo de host forte é usado. Se um endereço IP de origem for especificado na pesquisa de rota usando a função GetBestRoute2 , a pesquisa de rota será restrita à interface do endereço IP de origem. A modificação da métrica de rota por RAS não tem efeito porque a lista de rotas potenciais nem sequer tem a rota para a interface VPN, o que permite o tráfego para a Internet. O driver pode usar o membro DisableDefaultRoutes da estrutura MIB_IPINTERFACE_ROW para desabilitar usando a rota padrão em uma interface. Os clientes VPN podem usar esse membro como uma medida de segurança para restringir o túnel dividido quando o túnel dividido não é exigido pelo cliente VPN. Um cliente VPN pode chamar a função SetIpInterfaceEntry para definir o membro DisableDefaultRoutes como TRUE quando for necessário. Um cliente VPN pode consultar o estado atual do membro DisableDefaultRoutes chamando a função GetIpInterfaceEntry .

Requisitos

Versão

Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows.

Cabeçalho

Netioapi.h (inclua Netioapi.h)

Confira também

GetBestRoute2

GetIpInterfaceEntry

MIB_IPFORWARD_ROW2

MIB_IPINTERFACE_TABLE

NET_LUID

NL_LINK_LOCAL_ADDRESS_BEHAVIOR

NL_ROUTER_DISCOVERY_BEHAVIOR

SetIpInterfaceEntry