Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El empaquetado de datos se ha rediseñado en NDIS 6.0. La arquitectura de envío y recepción basada en la estructura de NDIS_PACKET se ha reemplazado por una arquitectura basada en estructuras NET_BUFFER y NET_BUFFER_LIST. Una estructura NET_BUFFER es el equivalente funcional de una estructura NDIS_PACKET. Una estructura de NET_BUFFER especifica un búfer (cadena MDL) para los datos de red, así como espacio reservado para NDIS, controladores de protocolo y controladores de miniporte. NET_BUFFER estructuras se pueden vincular juntas en una lista que se describe mediante una estructura de NET_BUFFER_LIST. Una estructura de NET_BUFFER_LIST también proporciona almacenamiento para los datos fuera de banda (OOB) que se aplican a todas las estructuras de NET_BUFFER de la lista.
Todos los componentes de la pila de controladores de red de última generación de Microsoft, incluido el transporte TCP/IP y Winsock, usan NET_BUFFER empaquetado de datos. El empaquetado uniforme de datos en toda la pila de controladores elimina la necesidad de volver a empaquetar los datos, simplifica el control de datos y reduce el número de llamadas de función.
Para acomodar controladores más antiguos que usan estructuras de NDIS_PACKET, NDIS 6.0 convierte las estructuras de NDIS_PACKET en estructuras de NET_BUFFER y viceversa. Esta traducción es transparente para los controladores NDIS.
NDIS propaga los requisitos de reposición de datos de un controlador a los controladores de nivel superior. Al asignar NET_BUFFER y estructuras de NET_BUFFER_LIST para enviar datos, un controlador de nivel superior asigna suficiente espacio de datos para acomodar todos los controladores de nivel inferior de la pila. Como resultado, los controladores de nivel inferior no tienen que asignar espacio de búfer adicional para dar cabida a encabezados específicos de la capa. En su lugar, pueden usar el espacio de reposición asignado previamente para este propósito.
Para obtener más información sobre la arquitectura de NET_BUFFER, consulte NET_BUFFER Architecture.