stringtranslate.com

Procesador de red

Intel FWIXP422BB

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.

Historia del desarrollo

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:

Tablas de coincidencias reconfigurables

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.

Descripción del oleoducto RMP

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.

Funciones genéricas

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:

Paradigmas arquitectónicos

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]

Aplicaciones

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]

Ver también

Referencias

  1. ^ Bosshart, Pat; Gibb, Glen; Kim, Hun-Seok; Varghese, George; McKeown, Nick; Izzard, Martín; Mújica, Fernando; Horowitz, Mark (1 de agosto de 2013). "Reenvío de metamorfosis: procesamiento rápido y programable de acciones de coincidencia en hardware para SDN". {{cite journal}}: Citar diario requiere |journal=( ayuda )
  2. ^ ab Gibb, Glen; Varghese, George; Horowitz, Marcos; McKeown, Nick (octubre de 2013). "Principios de diseño para analizadores de paquetes". Arquitecturas para Sistemas de Redes y Comunicaciones . págs. 13-24. doi :10.1109/ANCS.2013.6665172. ISBN 978-1-4799-1641-2. S2CID  12282067.
  3. ^ "P4: Procesadores de paquetes independientes del protocolo de programación | acm sigcomm". www.sigcomm.org . Consultado el 26 de marzo de 2022 .
  4. ^ Kaufmann, Antoine; Pedro, Simón; Sharma, Naveen Kr.; Anderson, Tomás; Krishnamurthy, Arvind (25 de marzo de 2016). "Procesamiento de paquetes de alto rendimiento con FlexNIC". Actas de la XXI Conferencia Internacional sobre soporte arquitectónico para lenguajes de programación y sistemas operativos . ASPLOS '16. Nueva York, NY, EE.UU.: Asociación de Maquinaria de Computación. págs. 67–81. doi : 10.1145/2872362.2872367 . ISBN 978-1-4503-4091-5. S2CID  9625891.
  5. ^ Giladi, corrió (2008). Procesadores de red: arquitectura, programación e implementación. Sistemas sobre Silicio. Morgan Kaufman. ISBN 978-0-12-370891-5.
  6. ^ Bueno, Daniele; Mencagli, Gabriele (21 a 25 de julio de 2014). Mecanismos de tiempo de ejecución para paralelismo detallado en procesadores de red: la experiencia TILEPro64 (PDF) . Conferencia internacional de 2014 sobre simulación informática de alto rendimiento (HPCS 2014). Bolonia, Italia. págs. 55–64. doi :10.1109/HPCSim.2014.6903669. ISBN 978-1-4799-5313-4. Archivado (PDF) desde el original el 27 de marzo de 2019.URL alternativa
  7. ^ Comer, Douglas E. (2005). Diseño de sistemas de red utilizando procesadores de red: versión Intel 2XXX . Addison-Wesley. ISBN 978-0-13-187286-8.