De Wikipedia, la enciclopedia libre
Ir a navegaciónSaltar a buscar

Un controlador de interfaz de red ( NIC , también conocido como tarjeta de interfaz de red , [3] adaptador de red , adaptador LAN o interfaz de red física , [4] y con términos similares) 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 a un bus de computadora . El bajo costo y la ubicuidad de los Ethernet medio estándar que la mayoría de los equipos más nuevos tienen una interfaz de red integrada en la placa base , o está contenida en un USB comunicado con los dongle .

Los controladores de interfaz de red modernos ofrecen funciones avanzadas como interfaces de interrupción y DMA para los procesadores de host, soporte para 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 .

Propósito

El controlador de red implementa los circuitos electrónicos necesarios para comunicarse utilizando una capa física específica y un estándar de capa de enlace de datos como Ethernet o Wi-Fi . [a] Esto proporciona una base para una pila de protocolos de red completa , lo 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 NIC permite que las computadoras se comuniquen a través de una red de computadoras, ya sea mediante cables o de forma inalámbrica. La NIC es tanto un dispositivo de capa física como de capa de enlace de datos, ya que proporciona acceso físico a un medio de red y, para IEEE 802 y redes similares, proporciona un sistema de direccionamiento de bajo nivel mediante el uso de direcciones MAC que se asignan de forma exclusiva a la red. interfaces.

Implementación

12 primeras tarjetas de red para PC ISA de 8 y 16 bits. La tarjeta del extremo inferior derecho es una de las primeras tarjetas de red inalámbrica, y la tarjeta central con una cubierta de plástico beige parcial es un módem PSTN .

Los controladores de red se implementaron originalmente como tarjetas de expansión que se conectaban a un bus de computadora. El bajo costo y la ubicuidad del estándar Ethernet significa que la mayoría de las computadoras nuevas tienen un controlador de interfaz de red integrado en la placa base. Las placas base de servidor más nuevas pueden tener múltiples interfaces de red integradas. Las capacidades de Ethernet están integradas en el chipset de la placa base o implementadas a través de un chip Ethernet dedicado de bajo costo. Por lo general, ya no se requiere una tarjeta de red separada a menos que se necesiten conexiones de red independientes adicionales o se use algún tipo de red que no sea Ethernet. Una tendencia general en el hardware informático 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 generalmente tiene un enchufe 8P8C donde se conecta el cable de red. Las NIC más antiguas también proporcionaban conexiones BNC o AUI . Controladores de red Ethernet apoyan típicamente 10  Mbit / s Ethernet, 100 Mbit / s Ethernet , y Ethernet Mbit / s 1000 variedades. Dichos controladores se designan como 10/100/1000 , lo que significa que pueden admitir velocidades de datos de 10, 100 o 1000 Mbit / s. Las NIC de 10 Gigabit Ethernet también están disponibles y, a partir de noviembre de 2014 , están comenzando a estar disponibles en las placas base de las computadoras . [6] [7]

Una NIC de doble puerto Qlogic QLE3442-CU SFP +

Los diseños modulares como SFP y SFP + son muy populares, especialmente para la comunicación por fibra óptica . Estos definen un receptáculo estándar para transceptores dependientes de medios, de modo que los usuarios puedan adaptar fácilmente la interfaz de red a sus necesidades.

Los LED adyacentes o integrados en el conector de red informan al usuario si la red está conectada y cuándo ocurre la actividad de datos.

La NIC puede utilizar una o más de las siguientes técnicas para indicar la disponibilidad de paquetes para transferir:

  • El sondeo es donde la CPU examina el estado del periférico bajo el control del programa.
  • La E / S impulsada por interrupciones es donde el periférico alerta a la CPU de que está listo para transferir datos.

Las NIC pueden utilizar una o más de las siguientes técnicas para transferir paquetes de datos:

  • Entrada / salida programada , donde la CPU mueve los datos hacia o desde la NIC a la memoria.
  • Acceso directo a memoria (DMA), donde un dispositivo que no sea la CPU asume el control del bus del sistema para mover datos hacia o desde la NIC a la memoria. Esto elimina la carga de la CPU pero requiere más lógica en la tarjeta. Además, es posible que no se requiera un búfer de paquetes en la NIC y se puede reducir la latencia .

Rendimiento y funcionalidad avanzada

Una interfaz de red ATM .
NIC Intel 82574L Gigabit Ethernet , una tarjeta PCI Express × 1, que proporciona dos colas de recepción de hardware [8]

Las NIC de múltiples colas proporcionan varias colas de transmisión y recepción , lo que permite que los paquetes recibidos por la NIC se asignen 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 separada ; Al enrutar cada una de esas interrupciones a diferentes CPU o núcleos de CPU , el procesamiento de las solicitudes de interrupción desencadenadas por el tráfico de red recibido por una sola NIC se puede distribuir mejorando el rendimiento. [9] [10]

La distribución basada en hardware de las interrupciones, descrita anteriormente, se conoce como escalamiento del lado de recepción (RSS). [11] : 82 También existen implementaciones puramente de software, como la dirección de paquetes de recepción (RPS) y la dirección de flujo de recepción (RFS). [9] Se pueden lograr más mejoras de rendimiento 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 deCachés de CPU y menos cambios de contexto necesarios . Ejemplos de tales implementaciones son RFS [9] e Intel Flow Director . [11] : 98,99 [12] [13] [14]

Con las NIC de varias colas, se pueden lograr mejoras de rendimiento adicionales mediante la distribución del 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 disputas internas del sistema operativo. Este enfoque generalmente se conoce como dirección de paquetes de transmisión (XPS). [9]

Algunos productos cuentan con partición NIC (NPAR, también conocida como partición de puertos ) que utiliza la virtualización SR-IOV para dividir una única NIC Ethernet de 10 Gigabit en varias NIC virtuales discretas con ancho de banda dedicado, que se presentan al firmware y al sistema operativo como un dispositivo PCI separado . funciones . [3] [15]

El motor de descarga de TCP es una tecnología utilizada en algunas NIC para descargar el procesamiento de toda la pila de 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. [dieciséis]

Algunas NIC ofrecen arreglos de puertas integrados programables en campo (FPGA) para el procesamiento programable por el usuario del tráfico de red antes de que llegue a la computadora host, lo que permite latencias significativamente reducidas en cargas de trabajo sensibles al tiempo. [17] Además, algunas NIC ofrecen pilas TCP / IP de baja latencia completas 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 kernel del sistema operativo ; La pila de red OpenOnload de código abierto de Solarflare que se ejecuta en Linux es un ejemplo. Este tipo de funcionalidad se suele denominar red a nivel de usuario .[18] [19] [20]

Ver también

  • Adaptador de red convergente (CNA)
  • Adaptador de host
  • E / S directa de datos Intel (DDIO)
  • Interfaz de red
  • Tarjeta de interfaz de monitoreo de red (NMIC)
  • Interfaz de red virtual (VIF)
  • Controlador de interfaz de red inalámbrica (WNIC)

Notas

  1. ^ Aunque existen otras tecnologías de red, Ethernet ( IEEE 802.3 ) y Wi-Fi ( IEEE 802.11 ) han alcanzado casi la ubicuidad como tecnologías LAN desde mediados de la década de 1990.

Referencias

  1. ^ "Velocidad del puerto y configuración del modo dúplex" . docs.ruckuswireless.com . Consultado el 25 de septiembre de 2020 .
  2. ^ Administrador, Arista (23 de abril de 2020). "Sección 11.2: Estándares Ethernet - Arista" . Arista Networks . Consultado el 28 de septiembre de 2020 .
  3. ^ a b "Mejora de la escalabilidad mediante el particionamiento de la tarjeta de interfaz de red" (PDF) . Dell . Abril de 2011 . Consultado el 12 de mayo de 2014 .
  4. ^ "Interfaz de red física" . Microsoft . 7 de enero de 2009.
  5. ^ Posey, Brien M. (2006). "Conceptos básicos de redes: parte 1 - Hardware de redes" . Windowsnetworking.com . TechGenix Ltd . Consultado el 9 de junio de 2012 .
  6. Jim O'Reilly (22 de enero de 2014). "¿Será 2014 el año de 10 Gigabit Ethernet?" . Computación en red . Consultado el 29 de abril de 2015 .
  7. ^ "Rompiendo los límites de velocidad con ASRock X99 WS-E / 10G e Intel 10G BASE-T LAN" . asrock.com . 24 de noviembre de 2014 . Consultado el 19 de mayo de 2015 .
  8. ^ "Hoja de datos de la familia de controladores Intel 82574 Gigabit Ethernet" (PDF) . Intel . Junio ​​de 2014. p. 1 . Consultado el 16 de noviembre de 2014 .
  9. ^ a b c d Tom Herbert; Willem de Bruijn (9 de mayo de 2014). "Documentación del kernel de Linux: Documentation / networking / scaling.txt" . kernel.org . Consultado el 16 de noviembre de 2014 .
  10. ^ "Resumen de producto de la familia Intel Ethernet Controller i210" (PDF) . Intel . 2012 . Consultado el 16 de noviembre de 2014 .
  11. ^ a b "Intel Look Inside: Intel Ethernet" (PDF) . Lanzamiento de Xeon E5 v3 (Grantley) . Intel . 27 de noviembre de 2014. Archivado desde el original (PDF) el 26 de marzo de 2015 . Consultado el 26 de marzo de 2015 .
  12. ^ "Documentación del kernel de Linux: Documentation / networking / ixgbe.txt" . kernel.org . 15 de diciembre de 2014 . Consultado el 26 de marzo de 2015 .
  13. ^ "Director de flujo de Ethernet de Intel" . Intel . 16 de febrero de 2015 . Consultado el 26 de marzo de 2015 .
  14. ^ "Introducción a Intel Ethernet Flow Director y Memcached Performance" (PDF) . Intel . 14 de octubre de 2014 . Consultado el 11 de octubre de 2015 .
  15. ^ Patrick Kutch; Brian Johnson; Greg Rose (septiembre de 2011). "Introducción a la partición de puertos flexibles de Intel mediante la tecnología SR-IOV" (PDF) . Intel . Consultado el 24 de septiembre de 2015 .
  16. ^ Jonathan Corbet (1 de agosto de 2007). "Descarga de recepción grande" . LWN.net . Consultado el 2 de mayo de 2015 .
  17. ^ "Soluciones de alto rendimiento para la seguridad cibernética" . Verificación y diseño de New Wave . New Wave DV.
  18. Timothy Prickett Morgan (8 de febrero de 2012). "Solarflare convierte los adaptadores de red en servidores: cuando una CPU no es lo suficientemente rápida" . El registro . Consultado el 8 de mayo de 2014 .
  19. ^ "OpenOnload" . openonload.org . 2013-12-03 . Consultado el 8 de mayo de 2014 .
  20. ^ Steve Pope; David Riddoch (21 de marzo de 2008). "OpenOnload: una pila de red a nivel de usuario" (PDF) . openonload.org . 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 varias colas con SMP en Linux