Una interfaz de red ATM.
NIC Intel 82574L Gigabit Ethernet, una tarjeta PCI Express × 1, que proporciona dos colas de recepción de hardware
Las NIC de múltiples colas proporcionan múltiples 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.
La distribución basada en hardware de las interrupciones, descrito anteriormente, se conoce como escalamiento del lado de recepción (RSS) .: 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). 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 para 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 memorias caché de la CPU y menos cambios de contexto necesarios. Ejemplos de tales implementaciones son RFS e Intel Flow Director.:98,99
Con 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 disputas internas del sistema operativo. Este enfoque generalmente se conoce como dirección de paquetes de transmisión (XPS).
Algunos productos cuentan con particiones NIC (NPAR, también conocidas como particiones de puertos) que utilizan la virtualización SR-IOV para dividir una NIC de 10 Gigabit Ethernet 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.
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.
Algunas NIC ofrecen matrices de puertas integradas programables en campo (FPGA ) para el procesamiento programable por el usuario del tráfico de la red antes de que llegue a la computadora host, lo que permite latencias significativamente reducidas en cargas de trabajo sensibles al tiempo. 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 generalmente se conoce como red a nivel de usuario.