Especificación de la interfaz del controlador de red: Network Driver Interface Specification

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 de contenedor de controlador NDISwrapper y Project Evil de código abierto permiten que muchas NIC compatibles con NDIS se utilicen 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 un " contenedor " que oculta la complejidad subyacente del hardware 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 compatibles con varias versiones de Windows son las siguientes:

El tráfico aceptado por la NIC está controlado por un controlador de minipuerto NDIS, mientras que los controladores de protocolo NDIS implementan varios protocolos, como TCP / IP . Un solo minipuerto puede estar asociado con uno o más protocolos. Esto significa que el tráfico que ingresa 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 los paquetes entrantes. Además, es posible simular varias NIC virtuales mediante la implementación de controladores de minipuerto virtuales que envían y reciben tráfico desde una única NIC física. Un ejemplo del uso del controlador de minipuerto virtual es agregar NIC virtuales, cada una con una LAN virtual diferente . Debido a que las implementaciones no pueden asumir que otros controladores recibieron los mismos búferes, se deben tratar los búferes entrantes como de solo lectura y un controlador que cambia el contenido del paquete debe asignar sus propios búferes.

Los controladores de minipuerto NDIS también pueden utilizar las 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 que acepta la NIC. En la práctica, los controladores intermedios implementan interfaces de protocolo y de minipuerto. El controlador de minipuerto y el controlador de protocolo se comunican realmente con las interfaces de protocolo y de 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 está implementada por el último controlador de la cadena. Para escribir aplicaciones usando NDIS, se pueden usar ejemplos que acompañan al Kit de controladores de Windows de Microsoft (WDK). La muestra "PassThru" es un buen punto de partida para los 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.

Ver también

Referencias

enlaces externos