Compartilhar via


Encaminhamento híbrido

A partir do NDIS 6.40 (Windows Server 2012 R2, a arquitetura de comutador extensível 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 Hyper-V Comutador Extensível.

Pacotes NVGRE e não NVGRE

Em um ambiente de encaminhamento híbrido, há dois tipos de pacotes que entram e saem do comutador 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 Internet Draft. Os pacotes NVGRE são encaminhados pelo componente HNV do comutador extensível Hyper-V.
  • Pacotes não NVGRE são apenas pacotes de rede normais. Pacotes não NVGRE são encaminhados pela extensão de encaminhamento (ou, na ausência dela, o próprio comutador extensível).

Fluxo de pacotes NVGRE e não-NVGRE por meio do switch

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, o comutador extensível definirá o sinalizador NativeForwardingRequired na estrutura NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO do pacote. Essa estrutura está contida no membro NetBufferListInfo da estrutura de 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 for 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 verificar o valor do sinalizador NativeForwardingRequired .

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

  • O componente HNV do switch extensível Hyper-V encaminha, ou seja, determina a tabela de destino de, todos os pacotes NVGRE
  • O componente HNV executa o encapsulamento NVGRE e a descapsulação, 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 switch extensível Hyper-V encaminha todos os pacotes.

Para mais informações, consulte Fluxo de Pacotes pelo Caminho de Dados do 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 permitir que extensões de encaminhamento forneçam soluções de virtualização de rede de terceiros. Na entrada, o comutador extensível Hyper-V não definirá o sinalizador NativeForwardingRequired nas estruturas de NET_BUFFER_LIST desses 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 Clonagem de Tráfego de Pacotes.)

a adição de dados extensíveis de porta de destino de comutador extensível a um pacote

clonando de tráfego de pacotes

de extensões de encaminhamento de

Fluxo de pacotes através da trajetória de dados do comutador extensível

NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL

NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO