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 tienen características genéricas similares a las unidades centrales de procesamiento de propósito 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 (denominado conmutación de paquetes ), lo que contrasta con las redes de telecomunicaciones más antiguas que transportaban la información como señales analógicas , como en la red telefónica pública conmutada (PSTN) o las redes de radio y televisión analógicas . El procesamiento de estos paquetes ha dado lugar a la creación de circuitos integrados (CI) que están optimizados para tratar este tipo 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 tanto, permiten que un único diseño de circuito integrado de hardware lleve a cabo varias funciones diferentes, siempre que se instale el software adecuado.
Los procesadores de red se utilizan en la fabricación de muchos tipos diferentes de equipos de red, como:
Las tablas de correspondencia reconfigurables [1] [2] se introdujeron en 2013 para permitir que los conmutadores funcionen a altas velocidades y, al mismo tiempo, mantener la flexibilidad en lo que respecta a los protocolos de red que se ejecutan en ellos o el procesamiento que se les hace. P4 [3] se utiliza para programar los chips. La empresa Barefoot Networks se basó en estos procesadores y luego fue adquirida por Intel en 2019.
Una canalización RMT se basa en tres etapas principales: el analizador programable, [2] las tablas Match-Action y el desparser programable. El analizador lee el paquete en fragmentos y procesa estos fragmentos para averiguar 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 son típicamente programables, y también lo son 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 utilizando una barra cruzada y 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 desparser. El analizador sintáctico 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. Por lo general, es programable, al igual que el analizador sintáctico, 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 mientras mantienen la flexibilidad del protocolo y sin aumentar la sobrecarga de la CPU.
En el rol genérico de procesador de paquetes, un procesador de red suele tener una serie de características o funciones optimizadas, entre las que se incluyen:
Para hacer frente a altas velocidades de datos, se utilizan comúnmente varios paradigmas arquitectónicos:
Además, la gestión del tráfico, que es un elemento crítico en el procesamiento de redes L2 - L3 y que 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 ("bienes raíces") está dedicada al administrador de tráfico integrado. [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). Dichas 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 el procesador de red ejecuta, lo que hace que el equipo físico realice una tarea o preste un servicio. Algunos de los tipos de aplicaciones que normalmente se implementan como software que se ejecuta en procesadores de red son: [7]
{{cite journal}}
: Requiere citar revista |journal=
( ayuda )