La especificación de interfaz del 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 código abierto NDISwrapper y Project Evil permiten utilizar muchas tarjetas de red compatibles con NDIS en Linux , FreeBSD y NetBSD . magnussoft ZETA , una variante de BeOS , admite varios controladores NDIS.
El NDIS constituye la subcapa de control de enlace lógico (LLC), que es la subcapa superior de la capa de enlace de datos del modelo OSI (capa 2). Por lo tanto, el NDIS actúa como interfaz entre la subcapa de control de acceso al medio (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 menudo denominada " envoltorio ", que oculta la complejidad subyacente del hardware de la tarjeta de red y sirve como interfaz estándar para los controladores de protocolo de red de nivel 3 y los controladores MAC de nivel de hardware.
Las versiones de NDIS compatibles con las distintas versiones de Windows son las siguientes: [ 1 ]
- NDIS 2.0: MS-DOS , Windows para trabajo en grupo 3.1 , OS/2
- NDIS 3.0: Windows para grupos de trabajo 3.11, Windows NT 3.5
- 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 , Yo , 2000
- NDIS 5.1: Windows XP , Server 2003 , Windows CE 4.x, 5.0, 6.0 [ 2 ]
- NDIS 5.2: Windows Server 2003 SP2
- NDIS 6.0: Windows Vista
- NDIS 6.1: Windows Vista SP1, Server 2008 , Windows Embedded Compact 7 , [ 3 ] 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 [ 4 ]
- NDIS 6.51: Windows 10, versión 1511 [ 4 ]
- NDIS 6.60: Windows 10, versión 1607 y Windows Server 2016 [ 5 ]
- NDIS 6.70: Windows 10, versión 1703 [ 6 ]
- NDIS 6.80: Windows 10, versión 1709 [ 7 ]
- NDIS 6.81: Windows 10, versión 1803 [ 8 ]
- NDIS 6.82: Windows 10, versión 1809 y Windows Server 2019 [ 9 ]
- NDIS 6.83: Windows 10, versión 1903 y Windows Server 2022 [ 10 ]
- NDIS 6.84: Windows 10, versión 2004 [ 11 ]
- NDIS 6.85: Windows 10, versión 21H2 [ 12 ]
- NDIS 6.86: Windows 11 , versión 21H2 [ 13 ]
- NDIS 6.87: Windows 11, versión 22H2 [ 14 ]
- NDIS 6.88: Windows Server 2022, versión 23H2 [ 15 ]
- NDIS 6.89: Windows 11, versión 24H2 [ 16 ]
El tráfico aceptado por la NIC es controlado por un controlador de minipuerto NDIS [ 17 ] , mientras que varios protocolos, como TCP/IP , son implementados por controladores de protocolo NDIS [ 18 ] . 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 los 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 de controladores de minipuerto virtuales es agregar NIC virtuales, cada una con una VLAN diferente . Dado 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 usar interfaces del modelo de controlador de Windows para controlar el hardware de red [ 19 ] .
Otro tipo de controlador es el controlador intermedio NDIS. Los controladores intermedios se sitúan entre las capas MAC e IP y pueden controlar todo el tráfico que acepta la tarjeta de red. En la práctica, los controladores intermedios implementan interfaces de miniport y de protocolo. El controlador de miniport y el controlador de protocolo se comunican con las interfaces correspondientes, que residen en el controlador intermedio. Este diseño permite añadir varios controladores intermedios encadenados entre los controladores de miniport y de protocolo. Por lo tanto, los proveedores de controladores no pueden asumir que la interfaz a la que envían el tráfico está implementada por el último controlador de la cadena. Para desarrollar aplicaciones que utilicen NDIS, se pueden usar los ejemplos que acompañan al Kit de desarrollo de controladores de Windows (WDK) de Microsoft. El ejemplo "PassThru" es un buen punto de partida para los controladores intermedios, ya que implementa todos los detalles necesarios para este tipo de controlador, pero simplemente reenvía el tráfico al siguiente controlador de la cadena.
NDIS 4.1 ha implementado funciones WDM . NDIS 5.0 ha implementado funciones de descarga TCP/IP. [ 20 ]
Desde la versión 2004 de Windows 10, se creó un nuevo marco de controladores para adaptadores de red llamado Network Adapter WDF Class Extension ( NetAdapterCx ) que tiene como objetivo simplificar el proceso de desarrollo de controladores. [ 21 ] Windows 11 trajo el marco WiFiCx.
Véase también
Referencias
- ↑ "Descripción general de las versiones de NDIS - Controladores de Windows" . docs.microsoft.com . Consultado el 24 de marzo de 2020 .
- ↑ Controladores de red (Windows Embedded CE 6.0) , 5 de enero de 2012
- ↑ Novedades (Windows Embedded Compact 7) , 14 de marzo de 2014
- 1 2 aviviano. "Introducción a NDIS 6.50 - Controladores de Windows" . docs.microsoft.com . Consultado el 12 de julio de 2022 .
- ↑ aviviano. "Introducción a NDIS 6.60 - Controladores de Windows" . docs.microsoft.com . Consultado el 12 de julio de 2022 .
- ↑ aviviano. "Introducción a NDIS 6.70 - Controladores de Windows" . docs.microsoft.com . Consultado el 12 de julio de 2022 .
- ↑ aviviano. "Introducción a NDIS 6.80 - Controladores de Windows" . docs.microsoft.com . Consultado el 12 de julio de 2022 .
- ↑ aviviano. "Introducción a NDIS 6.81 - Controladores de Windows" . docs.microsoft.com . Consultado el 12 de julio de 2022 .
- ↑ aviviano. "Introducción a NDIS 6.82 - Controladores de Windows" . docs.microsoft.com . Consultado el 12 de julio de 2022 .
- ↑ aviviano. "Introducción a NDIS 6.83 - Controladores de Windows" . docs.microsoft.com . Consultado el 12 de julio de 2022 .
- ↑ aviviano. "Introducción a NDIS 6.84 - Controladores de Windows" . docs.microsoft.com . Consultado el 12 de julio de 2022 .
- ↑ aviviano. "Introducción a NDIS 6.85 - Controladores de Windows" . docs.microsoft.com . Consultado el 12 de julio de 2022 .
- ↑ aviviano. "Introducción a NDIS 6.86 - Controladores de Windows" . docs.microsoft.com . Consultado el 12 de julio de 2022 .
- ↑ aviviano (22 de mayo de 2024). "Introducción a NDIS 6.87 - Controladores de Windows" . learn.microsoft.com . Consultado el 19 de junio de 2024 .
- ↑ aviviano (22 de mayo de 2024). "Introducción a NDIS 6.88 - Controladores de Windows" . learn.microsoft.com . Consultado el 19 de junio de 2024 .
- ↑ aviviano (22 de mayo de 2024). "Introducción a NDIS 6.89 - Controladores de Windows" . learn.microsoft.com . Consultado el 19 de junio de 2024 .
- ↑ "Controladores de minipuerto NDIS deserializados - Controladores de Windows" . 14 de marzo de 2023.
- ↑ "Introducción a los controladores del protocolo NDIS - Controladores de Windows" . 14 de marzo de 2023.
- ↑ "Controladores NDIS Miniport con un borde inferior WDM - Controladores de Windows" . 14 de marzo de 2023.
- ↑ Snakefoot (30-10-2007). "Características de hardware de NDIS 5 que aumentan el rendimiento de la red" . Smallvoid.com . Consultado el 8-02-2025 .
- ↑ "Extensión de clase WDF del adaptador de red (NetAdapterCx)" . 22 de mayo de 2024.
Enlaces externos
- Redes básicas de Windows
- Conductores del NDIS
- Guía de diseño de Microsoft MSDN
- Interfaces de programación de aplicaciones de Microsoft
- redes informáticas
- Controladores de dispositivos