Partilhar via


Encaminhamento híbrido

A partir do NDIS 6.40 (Windows Server 2012 R2), a arquitetura de switch extensível Hyper-V oferece suporte ao encaminhamento híbrido pelo componente Hyper-V Network Virtualization (HNV) do switch extensível e ao encaminhamento de extensões.

Observação Esta página pressupõe que você esteja familiarizado com descarregamento de tarefas de Network Virtualization usando Encapsulamento de Roteamento Genérico (NVGRE) e Visão geral do Comutador ExtensívelHyper-V.

Pacotes NVGRE e não NVGRE

Em um ambiente de encaminhamento híbrido, há dois tipos de pacotes que entram e saem do switch extensível Hyper-V: pacotes NVGRE e pacotes não-NVGRE:

  • Os pacotes NVGRE têm o formato encapsulado especificado no NVGRE: Virtualização de Rede usando Encapsulamento de Roteamento Genérico Rascunho de Internet. Os pacotes NVGRE são encaminhados pelo componente HNV do switch extensível Hyper-V.
  • Os pacotes não-NVGRE são apenas pacotes de rede normais. Os pacotes não-NVGRE são encaminhados pela extensão de reencaminhamento (ou, na ausência de uma extensão de reencaminhamento, pelo próprio switch extensível).

Fluxo de pacotes NVGRE e não-NVGRE através do switch

No caminho de dados de entrada, após as extensões de captura e de filtragem, mas antes da extensão de encaminhamento, se um pacote for um pacote NVGRE, o switch extensível define, na estrutura NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO do pacote, o sinalizador NativeForwardingRequired. Essa estrutura está contida no membro NetBufferListInfo da estrutura NET_BUFFER_LIST do pacote.

Observação O membro NetBufferListInfo do NET_BUFFER_LIST é frequentemente referido como os "dados fora de banda (OOB) do pacote".

Se o sinalizador NativeForwardingRequired estiver definido nos dados OOB do pacote, o pacote é um pacote NVGRE. Se não estiver definido, o pacote é um pacote não-NVGRE.

As extensões devem usar a macro NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL para verificar o valor da flag NativeForwardingRequired.

Os pacotes NVGRE e não NVGRE são tratados da seguinte forma:

  • O componente HNV do switch extensível Hyper-V encaminha (ou seja, determina a tabela de destino para) todos os pacotes NVGRE
  • O componente HNV executa o encapsulamento e a descapsulação do NVGRE conforme necessário.
  • A extensão de encaminhamento reenvia todos os pacotes que não são NVGRE.
  • A extensão de encaminhamento não pode encaminhar pacotes NVGRE, mas pode executar as mesmas ações de filtragem que uma extensão de filtragem, incluindo adicionar ou excluir portas de destino ou até mesmo descartar pacotes.
  • Se não houver nenhuma extensão de encaminhamento, o switch extensível Hyper-V encaminhará todos os pacotes.

Para obter mais informações, consulte fluxo de pacotes através do caminho de dados do comutador extensível.

Suporte para virtualização de rede de terceiros

Um VirtualSubnetId pode ser configurado numa porta de adaptador de rede da VM como uma sub-rede virtual externa. Esse recurso foi adicionado para habilitar extensões de encaminhamento para fornecer soluções de virtualização de rede de terceiros. Na entrada, o switch extensível Hyper-V não definirá o sinalizador NativeForwardingRequired nas estruturas NET_BUFFER_LIST para esses pacotes. Uma extensão de encaminhamento pode modificar os cabeçalhos de pacote, conforme necessário, durante o encaminhamento. Os pacotes que estão sendo modificados devem ser clonados e seus ponteiros ParentNetBufferList definidos para o NET_BUFFER_LISToriginal. (Consulte Tráfego de Pacotes de Clonagem.)

Adicionando dados da porta de destino do switch extensível a um pacote

Clonagem de Tráfego de Pacotes

Extensões de encaminhamento

fluxo de pacotes através do caminho de dados do switch extensível

NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL

NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO