Un controlador de interfaz de red ( NIC , también conocido como tarjeta de interfaz de red , [ 3 ] adaptador de red , adaptador LAN e interfaz de red física [ 4 ] ) es un componente de hardware de computadora que conecta una computadora a una red de computadoras . [ 5 ]
Los primeros controladores de interfaz de red se implementaban comúnmente en tarjetas de expansión que se conectaban al bus de la computadora . El bajo costo y la omnipresencia del estándar Ethernet hacen que la mayoría de las computadoras más recientes tengan un controlador de interfaz de red integrado en la placa base o en un adaptador USB , aunque las tarjetas de red siguen estando disponibles.
Los controladores de interfaz de red modernos ofrecen funciones avanzadas como interfaces de interrupción y DMA a los procesadores host, compatibilidad con múltiples colas de recepción y transmisión, partición en múltiples interfaces lógicas y procesamiento de tráfico de red en el controlador, como el motor de descarga TCP .
Objetivo
El controlador de red implementa los circuitos electrónicos necesarios para comunicarse utilizando un estándar específico de capa física y capa de enlace de datos, como Ethernet o Wi-Fi . [ a ] Esto proporciona una base para una pila de protocolos de red completa , que permite la comunicación entre computadoras en la misma red de área local (LAN) y comunicaciones de red a gran escala a través de protocolos enrutables, como el Protocolo de Internet (IP).
La tarjeta de red permite que los ordenadores se comuniquen a través de una red informática, ya sea mediante cables o de forma inalámbrica. La tarjeta de red es un dispositivo tanto de capa física como de capa de enlace de datos, ya que proporciona acceso físico al medio de red y, para redes IEEE 802 y similares, proporciona un sistema de direccionamiento de bajo nivel mediante el uso de direcciones MAC que se asignan de forma única a las interfaces de red.
Implementación


Los controladores de red se implementaron originalmente como tarjetas de expansión que se conectaban al bus de la computadora. El bajo costo y la omnipresencia del estándar Ethernet hacen que la mayoría de las computadoras nuevas tengan un controlador de interfaz de red integrado en la placa base, un método conocido como LAN en placa base (LOM). Las placas base de servidores más recientes pueden tener múltiples interfaces de red integradas. Las capacidades Ethernet están integradas en el chipset de la placa base o se implementan mediante un chip Ethernet dedicado de bajo costo. Por lo general, ya no se requiere una tarjeta de red independiente, a menos que se necesiten conexiones de red adicionales o se utilice algún tipo de red que no sea Ethernet. Una tendencia general en el hardware de computadoras es la integración de los diversos componentes de los sistemas en un chip , y esto también se aplica a las tarjetas de interfaz de red.
Un controlador de red Ethernet normalmente tiene un conector 8P8C donde se conecta el cable de red. Las NIC más antiguas también proporcionaban conexiones BNC o AUI . Los controladores de red Ethernet normalmente admitenVariedades de Ethernet de 10 Mbit/s , Ethernet de 100 Mbit/s y Ethernet de 1000 Mbit/s . Estos controladores se designan como 10/100/1000 , lo que significa que pueden admitir velocidades de datos de 10, 100 o 1000 Mbit/s . También están disponibles las NIC Ethernet de 10 Gigabit y, a partir de noviembre de 2014 , están empezando a estar disponibles en placas base de ordenadores . [ 6 ] [ 7 ]

Los diseños modulares como SFP y SFP+ son muy populares, especialmente para la comunicación por fibra óptica . Estos definen un conector estándar para transceptores dependientes del medio, lo que permite a los usuarios adaptar fácilmente la interfaz de red a sus necesidades.
Los indicadores LED situados junto al conector de red o integrados en él informan al usuario de si la red está conectada y cuándo se produce actividad de datos.
La NIC puede incluir ROM para almacenar su dirección MAC asignada de fábrica . [ 8 ]
La tarjeta de red puede utilizar una o más de las siguientes técnicas para indicar la disponibilidad de paquetes para transferir:
- El sondeo es el proceso mediante el cual la CPU examina el estado del periférico bajo el control del programa.
- La E/S controlada por interrupciones es aquella en la que el periférico avisa a la CPU de que está listo para transferir datos.
Las tarjetas de red pueden utilizar una o más de las siguientes técnicas para transferir datos de paquetes:
- Entrada/salida programada , donde la CPU mueve los datos hacia o desde la tarjeta de red a la memoria.
- El acceso directo a memoria (DMA) permite que un dispositivo distinto de la CPU tome el control del bus del sistema para transferir datos desde o hacia la tarjeta de red a la memoria. Esto reduce la carga de la CPU, pero requiere mayor lógica en la tarjeta. Además, puede que no sea necesario un búfer de paquetes en la tarjeta de red y se puede reducir la latencia .
Rendimiento y funcionalidad avanzada


Las NIC multicola proporcionan múltiples colas de transmisión y recepción , lo que permite asignar los paquetes recibidos por la NIC a una de sus colas de recepción. La NIC puede distribuir el tráfico entrante entre las colas de recepción mediante una función hash . Cada cola de recepción se asigna a una interrupción independiente ; al enrutar cada una de estas interrupciones a diferentes CPU o núcleos de CPU , se puede distribuir el procesamiento de las solicitudes de interrupción activadas por el tráfico de red recibido por una única NIC, mejorando así el rendimiento. [ 10 ] [ 11 ]
La distribución basada en hardware de las interrupciones, descrita anteriormente, se denomina escalado del lado de recepción (RSS). [ 12 ] : 82 También existen implementaciones puramente de software, como la dirección de paquetes de recepción (RPS), la dirección de flujo de recepción (RFS), [ 10 ] e Intel Flow Director . [ 12 ] : 98, 99 [ 13 ] [ 14 ] [ 15 ] Se pueden lograr mejoras de rendimiento adicionales enrutando las solicitudes de interrupción a las CPU o núcleos que ejecutan las aplicaciones que son los destinos finales de los paquetes de red que generaron las interrupciones. Esta técnica mejora la localidad de referencia y da como resultado un mayor rendimiento general, una latencia reducida y una mejor utilización del hardware debido a la mayor utilización de las cachés de la CPU y menos cambios de contexto necesarios .
Con las NIC de múltiples colas, se pueden lograr mejoras de rendimiento adicionales distribuyendo el tráfico saliente entre diferentes colas de transmisión. Al asignar diferentes colas de transmisión a diferentes CPU o núcleos de CPU, se pueden evitar las contenciones internas del sistema operativo. Este enfoque se conoce generalmente como direccionamiento de paquetes de transmisión (XPS). [ 10 ]
Algunos productos incluyen particionamiento de NIC ( NPAR , también conocido como particionamiento de puerto ) que utiliza la virtualización SR-IOV para dividir una única NIC Ethernet de 10 Gigabit en múltiples NIC virtuales discretas con ancho de banda dedicado, que se presentan al firmware y al sistema operativo como funciones de dispositivo PCI separadas . [ 3 ] [ 16 ]
Algunas NIC proporcionan un motor de descarga TCP para transferir el procesamiento de toda la pila TCP/IP al controlador de red. Se utiliza principalmente con interfaces de red de alta velocidad, como Gigabit Ethernet y 10 Gigabit Ethernet, para las cuales la sobrecarga de procesamiento de la pila de red se vuelve significativa. [ 17 ]
Algunas NIC ofrecen matrices de puertas programables en campo (FPGA) integradas para el procesamiento programable por el usuario del tráfico de red antes de que llegue al equipo host, lo que permite reducir significativamente la latencia en cargas de trabajo sensibles al tiempo. [ 18 ] Además, algunas NIC ofrecen pilas TCP/IP completas de baja latencia que se ejecutan en FPGA integradas en combinación con bibliotecas de espacio de usuario que interceptan las operaciones de red que normalmente realiza el núcleo del sistema operativo ; la pila de red de código abierto OpenOnload de Solarflare que se ejecuta en Linux es un ejemplo. Este tipo de funcionalidad se suele denominar red a nivel de usuario . [ 19 ] [ 20 ] [ 21 ]
Véase también
Notas
- ↑ Si bien existen otras tecnologías de red, Ethernet ( IEEE 802.3 ) y Wi-Fi ( IEEE 802.11 ) han alcanzado una presencia casi omnipresente como tecnologías LAN desde mediados de la década de 1990.
Referencias
- ↑ "Configuración de velocidad de puerto y modo dúplex" . docs.ruckuswireless.com . Consultado el 25 de septiembre de 2020 .
- ↑ Admin, Arista (23 de abril de 2020). "Sección 11.2: Estándares Ethernet - Arista" . Arista Networks . Consultado el 28 de septiembre de 2020 .
- 1 2 "Mejora de la escalabilidad mediante la partición de tarjetas de interfaz de red" (PDF) . Dell . Abril de 2011. Consultado el 12 de mayo de 2014 .
- ↑ "Interfaz de red física" . Microsoft . 7 de enero de 2009.
- ↑ Posey, Brien M. (2006). "Conceptos básicos de redes: Parte 1 - Hardware de red" . Windowsnetworking.com . TechGenix Ltd. Recuperado el 9 de junio de 2012 .
- ↑ Jim O'Reilly (22 de enero de 2014). "¿Será 2014 el año de Ethernet de 10 Gigabit?" . Network Computing. Archivado del original el 10 de mayo de 2015. Consultado el 29 de abril de 2015 .
- ↑ "Superando los límites de velocidad con ASRock X99 WS-E/10G y LAN Intel 10G BASE-T" . asrock.com . 24 de noviembre de 2014. Consultado el 19 de mayo de 2015 .
- ↑ John Savill (12 de noviembre de 2000). "¿Cómo puedo cambiar la dirección MAC de una tarjeta adaptadora de red?" . Consultado el 6 de noviembre de 2023 .
- ↑ "Hoja de datos de la familia de controladores Gigabit Ethernet Intel 82574" (PDF) . Intel . Junio de 2014. pág. 1. Consultado el 16 de noviembre de 2014 .
- ^ Tom Herbert ; Willem de Bruijn (9 de mayo de 2014). "Documentación del kernel de Linux: Documentación/networking/scaling.txt" . kernel.org . Consultado el 16 de noviembre de 2014 .
- ↑ "Intel Ethernet Controller i210 Family Product Brief" (PDF) . Intel . 2012. Consultado el 16 de noviembre de 2014 .
- 1 2 "Intel Look Inside: Intel Ethernet" (PDF) . Lanzamiento de Xeon E5 v3 (Grantley) . Intel . 27 de noviembre de 2014. Archivado del original (PDF) el 26 de marzo de 2015. Recuperado el 26 de marzo de 2015 .
- ↑ "Documentación del kernel de Linux: Documentation/networking/ixgbe.txt" . kernel.org . 15 de diciembre de 2014. Consultado el 26 de marzo de 2015 .
- ↑ "Intel Ethernet Flow Director" . Intel . 16 de febrero de 2015. Consultado el 26 de marzo de 2015 .
- ↑ "Introducción al rendimiento de Intel Ethernet Flow Director y Memcached" (PDF) . Intel . 14 de octubre de 2014. Consultado el 11 de octubre de 2015 .
- ↑ Patrick Kutch; Brian Johnson; Greg Rose (septiembre de 2011). "Introducción a la partición flexible de puertos de Intel mediante la tecnología SR-IOV" (PDF) . Intel . Consultado el 24 de septiembre de 2015 .
- ↑ Jonathan Corbet (1 de agosto de 2007). "Gran descarga de recepción" . LWN.net . Consultado el 2 de mayo de 2015 .
- ↑ "Soluciones de alto rendimiento para la ciberseguridad" . New Wave Design & Verification . New Wave DV.
- ↑ Timothy Prickett Morgan (8 de febrero de 2012). "Solarflare convierte los adaptadores de red en servidores: cuando una CPU simplemente no es lo suficientemente rápida" . The Register . Consultado el 8 de mayo de 2014 .
- ↑ "OpenOnload" . openonload.org . 3 de diciembre de 2013. Consultado el 8 de mayo de 2014 .
- ↑ Steve Pope; David Riddoch (21 de marzo de 2008). "OpenOnload: Una pila de red a nivel de usuario" (PDF) . openonload.org . Archivado del original (PDF) el 24 de julio de 2014. Consultado el 8 de mayo de 2014 .
Enlaces externos
- "Interfaz de red física" . Microsoft.
- "Nombres de interfaz de red predecibles" . Freedesktop.org .
- Interfaces de red de múltiples colas con SMP en Linux
- Ethernet
- Hardware de red