Share via


Encaminhamento híbrido

A partir do NDIS 6.40 (Windows Server 2012 R2, a arquitetura de comutador extensível do Hyper-V dá suporte ao encaminhamento híbrido pelo componente HNV (Virtualização de Rede Hyper-V) do comutador extensível e ao encaminhar extensões.

Nota Esta página pressupõe que você esteja familiarizado com a Virtualização de Rede usando o Descarregamento de Tarefas NVGRE (Encapsulamento de Roteamento Genérico) e a Visão Geral do Comutador Extensível do Hyper-V.

Pacotes NVGRE e não NVGRE

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

Fluxo de pacotes NVGRE e não NVGRE por meio da opção

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

Nota O membro NetBufferListInfo do NET_BUFFER_LIST geralmente é chamado de "dados OOB (fora de banda) do pacote".

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

As extensões devem usar a macro NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL para marcar o valor do sinalizador NativeForwardingRequired.

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

  • O componente HNV do comutador 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 NVGRE conforme necessário.
  • A extensão de encaminhamento encaminha todos os pacotes nã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 comutador extensível do Hyper-V encaminhará todos os pacotes.

Para obter mais informações, consulte Fluxo de pacotes por meio do caminho de dados de comutador extensível.

Suporte para virtualização de rede de terceiros

Um VirtualSubnetId pode ser configurado em uma porta do adaptador de rede de 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 comutador extensível do Hyper-V não definirá o sinalizador NativeForwardingRequired nas estruturas de 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 como o NET_BUFFER_LIST original. (Consulte Clonando o tráfego de pacotes.)

Adicionando dados extensíveis de porta de destino de comutador a um pacote

Clonando o tráfego de pacotes

Extensões de encaminhamento

Fluxo de pacotes por meio do caminho de dados de comutador extensível

NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL

NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO