Reenvío híbrido
A partir de NDIS 6.40 (Windows Server 2012 R2, la arquitectura de conmutador extensible de Hyper-V admite el reenvío híbrido mediante el componente virtualización de red de Hyper-V (HNV) del conmutador extensible y reenviando extensiones.
Nota En esta página se da por supuesto que está familiarizado con la virtualización de red mediante la descarga de tareas de encapsulación de enrutamiento genérico (NVGRE) e información general sobre el conmutador extensible de Hyper-V.
Paquetes NVGRE y no NVGRE
En un entorno de reenvío híbrido, hay dos tipos de paquetes que entran y dejan el conmutador extensible de Hyper-V: paquetes NVGRE y paquetes no NVGRE:
- Los paquetes NVGRE tienen el formato encapsulado que se especifica en NVGRE: Virtualización de red mediante el borrador de Internet de encapsulación de enrutamiento genérico . El componente HNV del conmutador extensible de Hyper-V reenvía los paquetes NVGRE.
- Los paquetes que no son NVGRE son solo paquetes de red normales. Los paquetes no NVGRE se reenvía mediante la extensión de reenvío (o, en ausencia de una extensión de reenvío, el propio conmutador extensible).
Flujo de paquetes NVGRE y no NVGRE a través del conmutador
En la ruta de acceso de datos de entrada, después de las extensiones de captura y filtrado, pero antes de la extensión de reenvío, si un paquete es un paquete NVGRE, el conmutador extensible establece la marca NativeForwardingRequired en la estructura de NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO para el paquete. Esta estructura se encuentra en el miembro NetBufferListInfo de la estructura NET_BUFFER_LIST del paquete.
Nota El miembro NetBufferListInfo del NET_BUFFER_LIST se conoce a menudo como los datos de "fuera de banda" del paquete.
Si la marca NativeForwardingRequired está establecida en los datos OOB del paquete, el paquete es un paquete NVGRE. Si no se establece, el paquete es un paquete que no es NVGRE.
Las extensiones deben usar la macro NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL para comprobar el valor de la marca NativeForwardingRequired .
Los paquetes NVGRE y no NVGRE se tratan de la siguiente manera:
- El componente HNV del conmutador extensible de Hyper-V reenvía (es decir, determina la tabla de destino para) todos los paquetes NVGRE.
- El componente HNV realiza la encapsulación y descapsulación NVGRE según sea necesario.
- La extensión de reenvío reenvía todos los paquetes que no son NVGRE.
- La extensión de reenvío no puede reenviar paquetes NVGRE, pero puede realizar las mismas acciones de filtrado que una extensión de filtrado, incluida la adición o exclusión de puertos de destino o incluso la eliminación de paquetes.
- Si no hay ninguna extensión de reenvío, el conmutador extensible de Hyper-V reenvía todos los paquetes.
Para obtener más información, vea Flujo de paquetes a través de la ruta de acceso de datos de conmutador extensible.
Compatibilidad con la virtualización de red de terceros
VirtualSubnetId se puede configurar en un puerto de adaptador de red de máquina virtual como una subred virtual externa. Esta característica se agregó para habilitar las extensiones de reenvío para proporcionar soluciones de virtualización de red de terceros. En la entrada, el conmutador extensible de Hyper-V no establecerá la marca NativeForwardingRequired en las estructuras de NET_BUFFER_LIST para estos paquetes. Una extensión de reenvío puede modificar los encabezados de paquete, según sea necesario, durante el reenvío. Los paquetes que se están modificando deben clonarse y sus punteros ParentNetBufferList establecidos en el NET_BUFFER_LIST original. (Consulte Clonación del tráfico de paquetes).
Temas relacionados
Agregar datos de puerto de destino de conmutador extensible a un paquete
Clonación del tráfico de paquetes
Flujo de paquetes a través de la ruta de acceso de datos de conmutador extensible