Compartir a través de


Buscar el encabezado de transporte para paquetes encapsulados en la ruta de acceso de recepción

Al recibir un paquete, una NIC que admita virtualización de red mediante la encapsulación de enrutamiento genérico (NVGRE) primero debe determinar si el paquete está encapsulado y, si es así, el tipo de encapsulación.

Nota En la ruta de acceso de envío, se encapsula un paquete si NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO. IsEncapsulatedPacket es TRUE.

En la ruta de acceso de recepción, la NIC debe determinar si el paquete está encapsulado comprobando el número de protocolo en el campo Protocolo del encabezado del túnel IPv4 (externo) o el campo NextHeader del encabezado del túnel IPv6 (externo). La lista de números de protocolo asignados se puede encontrar en https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml.

Una vez que se determina que un paquete es un paquete encapsulado, la NIC debe determinar el desplazamiento al encabezado IP de transporte (interno) mediante el análisis del protocolo del paquete encapsulado.

Para NDIS 6.30 (Windows Server 2012) y versiones posteriores, solo se admite la encapsulación de IP de GRE. Por lo tanto, la NIC debe poder analizar lo siguiente, en función de las funcionalidades anunciadas:

Si la NIC encuentra un protocolo de encapsulación desconocido o no admitido, debe pasar el paquete sin cambios a la pila de hosts.

Por lo tanto, en la ruta de acceso de recepción, el miniporte debe analizar el encabezado IP de transporte (interno) para determinar la versión de IP, así como para llegar al encabezado TCP o UDP. Se trata de un nuevo requisito para NDIS 6.30 (Windows Server 2012) y versiones posteriores.