¿Qué es un controlador de interfaz?
Un controlador de interfaz es un pequeño programa de computadora, o un conjunto de programas, que actúa como un enlace entre el software de computadora y el hardware de una tarjeta de interfaz de red (NIC). Los fabricantes y programadores de NIC utilizan una interfaz de programación de aplicaciones específica (API) conocida como la especificación de interfaz de controlador de red (NDIS). Establece todas las reglas necesarias para un programa de computadora, como un sistema operativo, para interactuar con una NIC. En realidad, hay varios tipos de controladores de interfaz descritos en el NDIS, pero, en esencia, el trabajo principal de NDIS es obtener un par de capas del modelo de interconexión de sistemas abiertos (OSI) para cooperar entre sí.
El modelo OSI está compuesto por siete capas, algunas de las cuales tienen múltiples subpends. La primera capa es la capa física, que se ocupa de las especificaciones físicas para una NIC como un dongle universal de bus serial (USB), una tarjeta Ethernet, una tarjeta adaptadora inalámbrica, etc. La segunda y tercera capas del modelo OSI son donde todos losNDIS Magic sucede. La segunda capa es la capa de enlace de datos y consta de dos subcapas, la parte superior denominada Control de enlace lógico (LLC) y el control de acceso de medios inferior (Mac). Un controlador de dispositivo maneja la subcapa Mac, mientras que el controlador de interfaz maneja la subcapa LLC, proporcionando una interfaz entre TI y la tercera capa del modelo OSI, la capa de red.
Funcionando como intermediario, un NDIS esencialmente envuelve toda la complejidad confusa del hardware de una NIC y proporciona un conjunto de funciones para su interacción con los protocolos de red necesarios para la comunicación. Un programador simplemente tiene que seguir las reglas establecidas en el NDIS para crear los controladores de interfaz reales. En el nivel de hardware inferior, estos controladores se conocen como controladores de miniport, mientras que los controladores de nivel superior están escritos utilizando la API NDIS para manejar protocolos de red básicos como el protocolo de Internet(IP), Protocolo de Internet Security (IPSEC), Protocolo de mensajes de control de Internet (ICMP) e Internetwork Packet Exchange (IPX), entre otros.
Cuando la comunicación de red se produce a través de una NIC, el dispositivo físico recibe primero los bits de datos y luego, a través de la arquitectura del modelo OSI, los datos se mueven del hardware hacia arriba las diferentes capas del modelo OSI hasta que el usuario presenta un formato más fácilmente comprensible. Por lo tanto, cada capa del modelo proporciona servicios para sus vecinos. Los datos dejan la primera capa, la capa física, y golpea la Mac de la subcapa inferior en la segunda capa, donde el controlador del dispositivo lo pasa a la LLC. Los controladores de protocolo de la LLC lo mueven a la capa de red.
Otro tipo de controlador de interfaz es el controlador intermedio, que actúa como una especie de carcasa, que contiene interfaces tanto para controladores de miniport como para controladores de protocolo de red. Estos controladores intermedios se pueden encadenar y proporcionar TLa capacidad del controlador de interfaz para controlar el tráfico que recibe la NIC. Los controladores intermedios son útiles para diversas necesidades, como el filtrado de datos, el equilibrio de carga, el monitoreo del tráfico de la red y la recopilación de información estadística. También funcionan bien como traductor entre los conductores de transporte más antiguos y un conductor de Miniport que habla con un formato de medios que el conductor mayor no puede entender.
El NDIS fue ideado originalmente por Microsoft®, trabajando junto con 3COM®, por lo que muchos fabricantes de hardware escriben sus controladores para admitir primero los sistemas operativos de Microsoft®. Como resultado, el NDIS se limita a las arquitecturas de hardware de la computadora basadas en la familia Intel® 80386 de procesadores de 32 bits o 64 bits. El movimiento del software libre también ha desarrollado un programa, llamado NDISWRAPPER, que es capaz de cargar controladores de interfaz desarrollados originalmente para Microsoft® Windows® para su uso con sistemas operativos gratuitos de unix® como Linux®. Usuarios delBerkley Software Distributions (BSD) Derivados gratuitos, como FreeBSD® y NetBSD®, también encontraron la capacidad de usar controladores de interfaz Windows® mediante el uso de software desarrollado por un proyecto conocido como Proyecto Evil. Las limitaciones de hardware x86 de NDIS condujeron a otro proyecto, desarrollado por Apple y Novell®, llamado Interfaz de enlace de datos abiertos (ODI), que proporcionó muchas de las mismas reglas y funcionalidad que un NDIS pero con un enfoque en Apple® Macintosh &; y los sistemas Novell Netware®.