Compartir a través de


Flujo de paquetes a través de la trayectoria de datos del conmutador extensible

En este tema se describe cómo los paquetes se mueven hacia o desde puertos de conmutador extensible a través de la ruta de acceso de datos de conmutador extensible Hyper-V.

Nota En la interfaz de conmutador extensible, los controladores de filtro NDIS se conocen como extensiones de conmutador extensible y la pila de controladores se conoce como pila de controladores de conmutador extensible. Para obtener más información sobre las extensiones, vea Hyper-V Extensiones de conmutador extensible.

Nota Esta página asume que está familiarizado con la información en Información general sobre el conmutador extensible Hyper-V y reenvío híbrido.

Todo el tráfico de paquetes que llega al conmutador extensible desde sus puertos sigue la misma ruta de acceso a través de la pila de controladores de conmutador extensible. Por ejemplo, el tráfico de paquetes recibido de la conexión del adaptador de red externo o enviado desde una conexión de adaptador de red de máquina virtual (VM) se mueve a través de la misma ruta de acceso de datos.

En la figura siguiente se muestra la ruta de datos del conmutador extensible para NDIS 6.40 (Windows Server 2012 R2) y versiones posteriores.

Diagrama que muestra Hyper-V arquitectura de conmutador extensible para NDIS 6.40 y versiones posteriores.

En la figura siguiente se muestra la trayectoria de datos del conmutador extensible para NDIS 6.30 (Windows Server 2012).

Diagrama que muestra Hyper-V arquitectura de conmutador extensible para NDIS 6.30.

Para obtener más información sobre los componentes de la interfaz de conmutador extensible, consulte Hyper-V Arquitectura de conmutador extensible.

La ruta de acceso de datos del conmutador extensible tiene las siguientes partes, enumeradas en el orden de flujo de los paquetes a través de ellas.

Borde del protocolo superior

  1. Los paquetes llegan al conmutador extensible desde adaptadores de red que están conectados a los puertos de conmutador. Estos paquetes se emiten primero como solicitudes de envío desde el borde del protocolo de conmutador extensible a través de la ruta de entrada de datos del conmutador extensible.

    El extremo del protocolo del conmutador extensible prepara los paquetes para la trayectoria de datos de entrada. El borde del protocolo asigna un área de contexto para estos paquetes que contiene el contexto de reenvío extensible de conmutadores fuera de banda (OOB). Rellena los datos de OOB con información sobre el puerto de origen y la conexión del adaptador de red desde el que se entregó el paquete al conmutador extensible.

    Para obtener más información sobre el contexto de reenvío, vea Hyper-V contexto de reenvío extensible de conmutadores.

  2. En NDIS 6.40 (Windows Server 2012 R2) y versiones posteriores, si el paquete es un paquete NVGRE de un adaptador de red externo, el conmutador extensible establece la marca NativeForwardingRequired en la información fuera de banda (OOB) del paquete. Para obtener más información, consulte de reenvío híbrido.

  3. Si el paquete llegó a un puerto donde el tráfico tiene una subred virtual, el conmutador extensible establece el miembro VirtualSubnetId de la estructura de NDIS_NET_BUFFER_LIST_VIRTUAL_SUBNET_INFO para el paquete.

    Nota La subred virtual podría ser una subred HNV o una subred virtual de terceros.

Ruta de acceso de datos de entrada

  1. Una extensión obtiene un paquete desde la ruta de acceso de datos de entrada cuando se invoca su función FilterSendNetBufferLists. La extensión reenvía el paquete a extensiones subyacentes en la ruta de acceso de datos de entrada llamando a NdisFSendNetBufferLists. Las extensiones de filtrado y reenvío también pueden eliminar el paquete del camino de entrada de datos llamando a NdisFSendNetBufferListsComplete.

  2. Cuando las extensiones capturan paquetes en la ruta de entrada de datos, pueden inspeccionar los datos del paquete. Sin embargo, las extensiones de captura no deben completar las solicitudes de envío de paquetes en el camino de datos de entrada. Estas extensiones siempre deben reenviar los paquetes a extensiones subyacentes en la pila de controladores de conmutador extensible.

    Una extensión de captura también puede originar paquetes en la ruta de ingreso de datos. Por ejemplo, la extensión puede originar paquetes para notificar las condiciones de tráfico a una aplicación de supervisión remota.

    Para obtener más información sobre cómo originar paquetes por una extensión, vea Origining Packet Traffic(Tráfico de paquetes de origen).

  3. Cuando las extensiones de filtrado obtienen paquetes en la ruta de acceso de datos de entrada, pueden hacer lo siguiente:

    • Descartar paquetes basados en políticas extensibles de conmutador o puerto personalizadas.

      Para obtener más información sobre estas directivas, consulte Hyper-V Directivas de conmutador extensible.

      Nota Los paquetes obtenidos en la ruta de acceso de datos de entrada no tienen puertos de destino definidos en los datos de OOB del paquete. Como resultado, las extensiones de filtrado solo deben aplicar directivas personalizadas basadas en los datos del paquete o en el puerto de origen o la conexión del adaptador de red del paquete.

  • Clone o modifique los paquetes obtenidos del camino de datos de entrada.

  • Inserte nuevos paquetes en la ruta de entrada de datos.

  1. En NDIS 6.40 y versiones posteriores, después de las extensiones de captura y filtrado, pero antes de la extensión de reenvío en la ruta de acceso de datos de entrada, el conmutador extensible hace lo siguiente:

    • Si el paquete es un paquete NVGRE de un adaptador de red externo, la dirección del encabezado del paquete es una dirección del espacio de direcciones de proveedor (PA). El conmutador extensible indica esto estableciendo la marca NativeForwardingRequired en la información fuera de banda (OOB) del paquete. Para obtener más información, consulte de reenvío híbrido.

    • El conmutador extensible aplica las directivas de entrada integradas al paquete. Estas directivas pueden incluir listas de control de acceso de entrada (ACL), DHCP Guard y Router Guard.

  2. Si una extensión de reenvío no está habilitada en la pila del controlador de conmutador extensible, la matriz de puertos de destino de un paquete viene determinada por el conmutador extensible.

  3. Si se habilita una extensión de reenvío, debe hacer lo siguiente cuando obtiene paquetes en la ruta de acceso de datos de entrada:

    • En NDIS 6.40 y versiones posteriores, si el paquete es un paquete NVGRE (consulte Reenvío híbrido), la extensión de reenvío no puede modificar la matriz de puertos de destino en los datos OOB del paquete en la ruta de acceso de datos de entrada. Sin embargo, puede descartar el paquete.

    • Si el paquete no es un paquete NVGRE, la extensión de reenvío debe agregar puertos de destino a la matriz de puertos de destino en los datos OOB del paquete.

    • La extensión de reenvío debe descartar paquetes en función de las directivas de puerto o conmutador extensible estándar o personalizado. Las directivas de puerto o conmutador estándar incluyen propiedades de seguridad y LAN virtual (VLAN). Si una extensión de reenvío no está habilitada en la pila de controladores de conmutador extensible, el conmutador extensible aplica estas directivas.

      Nota Cuando la extensión de reenvío filtra los paquetes en la ruta de acceso de datos de entrada, aplica reglas de filtrado basadas en el puerto de origen, así como en los puertos de destino que la extensión asigna al paquete.

Además, la extensión de reenvío puede hacer lo siguiente:

  • Clone o modifique los paquetes obtenidos del camino de datos de entrada.

  • Inserte nuevos paquetes en la ruta de entrada de datos.

Borde de miniporte subyacente

  1. Cuando el paquete llega al borde de miniporte subyacente del conmutador extensible, el conmutador extensible aplica sus directivas integradas al paquete. Estas directivas incluyen listas de control de acceso (ACL) y propiedades de calidad de servicio (QoS). Si el paquete no se descarta debido a estas directivas, el conmutador extensible origina una indicación de recepción para el paquete y lo reenvía por la ruta de acceso de salida de datos.

    Nota Si la duplicación de puerto está habilitada en un puerto al que se va a entregar el paquete, el extremo del minipuerto agrega un puerto de destino a los datos OOB del paquete para el puerto espejo. El miniport edge hace esto independientemente de si se instala y habilita una extensión de reenvío en el stack de controladores del conmutador extensible. El borde de minipuerto solo agrega el puerto reflejado si aún no se especifica en la matriz de puertos de destino para el paquete.

  2. Si una extensión de reenvío no está habilitada, el conmutador extensible determina los puertos de destino del paquete y agrega estos puertos de destino a los datos de OOB del paquete antes de reenviar el paquete hacia arriba la ruta de acceso de datos de salida.

  3. En NDIS 6.40 y versiones posteriores, el componente HNV realiza cualquier encapsulación o descapsulación NVGRE necesaria después de la entrada y antes de la salida, para que la extensión de reenvío pueda ver el paquete en formato encapsulado y descapsulado. Por ejemplo, si el paquete llegó de un adaptador de red externo y está destinado a una máquina virtual interna, la extensión de reenvío obtiene el paquete encapsulado en entrada y el paquete descapsulado en la salida.

    Nota En el paquete encapsulado, la dirección del encabezado del paquete es una dirección de espacio de direcciones de proveedor (PA). En el paquete descapsulado, es una dirección del espacio de direcciones de cliente (CA).

    1. Si el paquete es un paquete NVGRE que llegó desde un adaptador de red externo, el componente Hyper-V Network Virtualization (HNV) del conmutador extensible realiza la decapsulación NVGRE en el paquete. El componente HNV determina los destinos del paquete según las políticas de HNV y, a continuación, el conmutador extensible reenvía el paquete por la ruta de acceso de datos de salida.

    2. Si el paquete llegó desde una máquina virtual interna, el componente de HNV realizará la encapsulación NVGRE en el paquete si se establecen directivas de HNV para el paquete. El componente HNV determina los destinos del paquete según las directivas de HNV y, a continuación, el conmutador extensible reenvía el paquete a través de la ruta de datos de salida.

    3. De lo contrario, la extensión de reenvío reenvía el paquete a la ruta de salida de datos.

  4. En NDIS 6.30, si está habilitada una extensión de reenvío, debe enviar el paquete a lo largo de la ruta de acceso de datos de salida.

Ruta de acceso de datos de egreso

  1. Una extensión obtiene un paquete de la ruta de datos de salida cuando se llama a su función FilterReceiveNetBufferLists. La extensión reenvía el paquete a las extensiones superiores en la ruta de datos de salida llamando a NdisFIndicateReceiveNetBufferLists. Las extensiones de filtrado y reenvío también pueden quitar el paquete de la ruta de acceso de datos de salida llamando a NdisFReturnNetBufferLists.

  2. Cuando la extensión de reenvío obtiene un paquete en la ruta de acceso de datos de salida, puede inspeccionar la información del puerto de destino del paquete en los datos de OOB.

    Nota La extensión obtiene esta información de los datos OOB llamando a GetNetBufferListDestinations.

En función de las directivas de puerto o conmutador estándar o personalizado, la extensión puede excluir la entrega del paquete a uno o varios puertos de destino incluidos en los datos de OOB.

  1. En NDIS 6.40 (Windows Server 2012 R2) y versiones posteriores, el conmutador extensible aplica las políticas de egreso integradas al paquete después de la extensión de reenvío, pero antes de las extensiones de filtrado y captura en la ruta de acceso de datos de salida. Estas directivas pueden incluir el modo de tronco, el modo de supervisión, las ACL de salida y la calidad del servicio (QoS).

  2. Cuando las extensiones de filtrado obtienen un paquete en la ruta de datos de salida, pueden inspeccionar la información del puerto de destino del paquete en los datos fuera de banda. En función de las directivas de puerto o conmutador personalizadas, la extensión puede excluir la entrega del paquete a uno o varios puertos de destino contenidos en los datos de OOB.

    Si la extensión de filtrado necesita modificar los datos de un paquete, primero debe clonar el paquete sin conservar los destinos de puerto. A continuación, la extensión debe insertar el paquete modificado en la ruta de acceso de datos de entrada. Esto permite que las extensiones subyacentes apliquen directivas en el paquete modificado y la extensión de reenvío puede agregar destinos de puerto.

    Para obtener más información, consulte Clonación o Tráfico de Paquetes.

  3. Cuando las extensiones capturan paquetes en la ruta de acceso de datos de salida, pueden inspeccionar los datos de los paquetes. Sin embargo, si la extensión de captura necesita originar paquetes para notificar las condiciones de tráfico a una aplicación de supervisión remota, debe originar este tráfico de paquetes llamando a NdisFSendNetBufferLists para iniciar una operación de envío en la ruta de acceso de datos de entrada.

  4. Cuando el paquete llega al borde del protocolo superior del conmutador extensible, la interfaz del conmutador extensible reenvía el paquete a todos los puertos de destino especificados.

  5. Una vez que se ha reenviado el paquete, la interfaz devuelve el paquete por el mismo camino en sentido inverso. Primero, la interfaz llama a la función FilterReturnNetBufferLists de la extensión para completar los paquetes reenviados en la ruta de salida de datos. A continuación, la interfaz llama a la función FilterSendNetBufferListsComplete de la extensión para completar los paquetes reenviados en la ruta de acceso de datos de entrada.

    Cuando el paquete se completa en la ruta de datos de egreso e ingreso, la extensión realiza cualquier limpieza y procesamiento posterior que pueda ser necesario.