Un procesador de red es un circuito integrado que tiene un conjunto de características específicamente dirigidas al dominio de aplicaciones de red .
Los procesadores de red suelen ser dispositivos programables por software y tendrían características genéricas similares a las unidades centrales de procesamiento de uso general que se utilizan comúnmente en muchos tipos diferentes de equipos y productos.
En las redes de telecomunicaciones modernas , la información (voz, vídeo, datos) se transfiere como paquetes de datos (denominados conmutación de paquetes ), lo que contrasta con las redes de telecomunicaciones más antiguas que transportaban información como señales analógicas , como en la red telefónica pública conmutada (PSTN) o analógica. Cadenas de TV / Radio . El procesamiento de estos paquetes ha dado como resultado la creación de circuitos integrados (IC) que están optimizados para manejar esta forma de paquetes de datos. Los procesadores de red tienen características o arquitecturas específicas que se proporcionan para mejorar y optimizar el procesamiento de paquetes dentro de estas redes.
Los procesadores de red han evolucionado hasta convertirse en circuitos integrados con funciones específicas. Esta evolución ha dado lugar a la creación de circuitos integrados más complejos y flexibles. Los circuitos más nuevos son programables y, por lo tanto, permiten que un único diseño de hardware IC realice una serie de funciones diferentes, donde se instala el software adecuado.
Los procesadores de red se utilizan en la fabricación de muchos tipos diferentes de equipos de red , como por ejemplo:
Las Match-Tables reconfigurables [1] [2] se introdujeron en 2013 para permitir que los conmutadores funcionen a altas velocidades manteniendo la flexibilidad en lo que respecta a los protocolos de red que se ejecutan en ellos o el procesamiento que se les realiza. P4 [3] se utiliza para programar los chips. La empresa Barefoot Networks se basó en estos procesadores y luego fue comprada por Intel en 2019.
Un oleoducto RMT se basa en tres etapas principales; el analizador programable, [2] las tablas Match-Action y el analizador programable. El analizador lee el paquete en fragmentos y los procesa para descubrir qué protocolos se utilizan en el paquete ( Ethernet , VLAN , IPv4 ...) y extrae ciertos campos del paquete en el Vector de encabezado de paquete (PHV). Ciertos campos en el PHV pueden reservarse para usos especiales, como encabezados actuales o longitud total del paquete. Los protocolos suelen ser programables, al igual que los campos a extraer. Las tablas Match-Action son una serie de unidades que leen un PHV de entrada, hacen coincidir ciertos campos en él usando una barra transversal y una memoria CAM , el resultado es una instrucción amplia que opera en uno o más campos del PHV y datos para respaldar esta instrucción. . El PHV de salida luego se envía a la siguiente etapa MA o al analizador. El analizador toma el PHV así como el paquete original y sus metadatos (para completar los bits faltantes que no se extrajeron en el PHV) y luego genera el paquete modificado como fragmentos. Normalmente es programable como el analizador y puede reutilizar algunos de los archivos de configuración.
FlexNIC [4] intenta aplicar este modelo a los controladores de interfaz de red , permitiendo a los servidores enviar y recibir paquetes a altas velocidades manteniendo la flexibilidad del protocolo y sin aumentar la sobrecarga de la CPU.
En la función genérica de procesador de paquetes, un número de características o funciones optimizadas suelen estar presentes en un procesador de red, que incluye:
Para hacer frente a altas velocidades de datos, se utilizan habitualmente varios paradigmas arquitectónicos:
Además, la gestión del tráfico, que es un elemento crítico en el procesamiento de red L2 - L3 y solía ser ejecutada por una variedad de coprocesadores, se ha convertido en una parte integral de la arquitectura del procesador de red y una parte sustancial de su área de silicio (" inmobiliario") está dedicado al gestor integrado del tráfico. [5] Los procesadores de red modernos también están equipados con redes de interconexión en chip de alto rendimiento y baja latencia optimizadas para el intercambio de pequeños mensajes entre núcleos (pocas palabras de datos). Estas redes se pueden utilizar como una instalación alternativa para la comunicación eficiente entre núcleos además del uso estándar de memoria compartida. [6]
Utilizando la función genérica del procesador de red, un programa de software implementa una aplicación que ejecuta el procesador de red, lo que da como resultado que el equipo físico realice una tarea o proporcione un servicio. Algunos de los tipos de aplicaciones típicamente implementados como software que se ejecutan en procesadores de red son: [7]
{{cite journal}}
: Citar diario requiere |journal=
( ayuda )