Especificación de la interfaz del controlador de red
La Especificación de interfaz de controlador de red (NDIS) es una interfaz de programación de aplicaciones (API) para controladores de interfaz de red (NIC).
Especificación
Fue desarrollado conjuntamente por Microsoft y 3Com Corporation y se utiliza principalmente en Microsoft Windows. Sin embargo, los proyectos contenedores de controladores NDISwrapper y Project Evil de código abierto permiten utilizar muchas NIC compatibles con NDIS con Linux, FreeBSD y NetBSD. magnussoft ZETA, un derivado de BeOS, admite varios controladores NDIS.
El NDIS forma la subcapa de control de enlace lógico (LLC), que es la subcapa superior de la capa de enlace de datos OSI (capa 2). Por lo tanto, el NDIS actúa como interfaz entre la subcapa de control de acceso a medios (MAC), que es la subcapa inferior de la capa de enlace de datos, y la capa de red (capa 3).
El NDIS es una biblioteca de funciones a la que a menudo se hace referencia como "contenedor" que oculta la complejidad subyacente del hardware de la NIC y sirve como interfaz estándar para controladores de protocolo de red de nivel 3 y controladores MAC de nivel de hardware.
Las versiones de NDIS admitidas por varias versiones de Windows son las siguientes:
- NDIS 2.0: MS-DOS, Windows para grupos de trabajo 3.1, OS/2
- NDIS 3.0: Windows para grupos de trabajo 3.11
- NDIS 3.1: Windows 95
- NDIS 4.0: Windows 95 OSR2, NT 4.0, Windows CE 3.0
- NDIS 4.1: Windows 98
- NDIS 5.0: Windows 98 SE, Me, 2000
- NDIS 5.1: Windows XP, Server 2003, Windows CE 4.x, 5.0, 6.0
- NDIS 5.2: Windows Server 2003 SP2
- NDIS 6.0: Windows Vista
- NDIS 6.1: Windows Vista SP1, Server 2008, Windows Embedded Compact 7, Windows Embedded Compact 2013
- NDIS 6.20: Windows 7, Server 2008 R2
- NDIS 6.30: Windows 8, Windows Server 2012
- NDIS 6.40: Windows 8.1, Windows Server 2012 R2
- NDIS 6.50: Windows 10, versión 1507
- NDIS 6.51: Windows 10, versión 1511
- NDIS 6.60: Windows 10, versión 1607 y Windows Server 2016
- NDIS 6.70: Windows 10, versión 1703
- NDIS 6.80: Windows 10, versión 1709
- NDIS 6.81: Windows 10, versión 1803
- NDIS 6.82: Windows 10, versión 1809 y Windows Server 2019
- NDIS 6.83: Windows 10, versión 1903 y Windows Server 2022
- NDIS 6.84: Windows 10, versión 2004
- NDIS 6.85: Windows 10, versión 21H2
- NDIS 6.86: Windows 11, versión 21H2
El tráfico aceptado por la NIC está controlado por un controlador de minipuerto NDIS, mientras que varios protocolos, como TCP/IP, se implementan mediante controladores de protocolo NDIS. Un único minipuerto puede estar asociado con uno o más protocolos. Esto significa que el tráfico que llega al minipuerto puede ser recibido en paralelo por varios controladores de protocolo. Por ejemplo, Winpcap agrega un segundo controlador de protocolo en el minipuerto seleccionado para capturar paquetes entrantes. Además, es posible simular varias NIC virtuales implementando controladores de minipuerto virtuales que envían y reciben tráfico desde una única NIC física. Un ejemplo de uso del controlador de minipuerto virtual es agregar NIC virtuales, cada una con una VLAN diferente. Debido a que las implementaciones no pueden asumir que otros controladores recibieron los mismos buffers, se deben tratar los buffers entrantes como de sólo lectura y un controlador que cambia el contenido del paquete debe asignar sus propios buffers. Los controladores NDIS Miniport también pueden utilizar interfaces del modelo de controlador de Windows para controlar el hardware de red.
Otro tipo de controlador es el controlador intermedio NDIS. Los controladores intermedios se encuentran entre las capas MAC e IP y pueden controlar todo el tráfico aceptado por la NIC. En la práctica, los controladores intermedios implementan interfaces de protocolo y minipuerto. El controlador de minipuerto y el controlador de protocolo en realidad se comunican con las interfaces de protocolo y minipuerto correspondientes que residen en el controlador intermedio. Este diseño permite agregar varios controladores intermedios encadenados entre el minipuerto y los controladores de protocolo. Por lo tanto, los proveedores de controladores no pueden asumir que la interfaz a la que envían tráfico la implementa el último controlador de la cadena. Para escribir aplicaciones utilizando NDIS, se pueden utilizar ejemplos que acompañan al kit de controladores de Windows (WDK) de Microsoft. El sistema "PassThru" La muestra es un buen punto de partida para conductores intermedios, ya que implementa todos los detalles necesarios requeridos en este tipo de conductor, pero simplemente pasa el tráfico al siguiente conductor de la cadena.
Contenido relacionado
Tarjeta perforada
CPython
Arquitectura Harvard