Relaciones TCAM en arquitectura de conmutación de hardware

10

Estoy familiarizado (alto nivel) con el funcionamiento de la memoria direccionable de contenido ternario, pero sigo confundido sobre cómo TCAM se relaciona con los ASIC y cuándo estos componentes posiblemente también se combinen con la CPU para un mayor rendimiento de conmutación ... (particularmente cuando los proveedores suelen comercializar el uso de silicio comercial / personalizado, o ASIC personalizados para nuevos productos y características, entonces parece confuso) .

Estoy familiarizado con Cisco IOS, por ejemplo, con la capacidad de particionar más espacio para el rendimiento de TCAM para funciones como qos, acl y búsquedas de rutas. También entiendo que características como NAT todavía dependerán del procesamiento de la CPU, sin embargo, estoy luchando específicamente con;

  1. ¿Forma parte la TCAM de la misma arquitectura de hardware, es decir, interna o externa al ASIC?
  2. ¿Las TCAM son escalables (por ejemplo, ¿pueden los fabricantes seguir agregando TCAM a una plataforma para un mayor rendimiento y características personalizadas) o hay un límite basado en cosas como el consumo de energía?
  3. ¿Los ciclos TCAM y los ASIC funcionan en paralelo con la CPU para funciones como NAT o solo debería considerarlos como elementos independientes?
MattE
fuente

Respuestas:

14

TCAM es un tipo de memoria, que requiere 10-12 transistores para almacenar un solo bit. A modo de comparación, la RAM estática ( SRAM ) solo necesita 6 transistores para almacenar un solo bit, y la RAM dinámica ( DRAM ) toma un transistor y un condensador. Todos estos diferentes tipos de memorias pueden ser internas o externas a un ASIC. Una razón para poner todos los recuerdos en un chip es que pueden ejecutarse a velocidades de reloj más altas que cuando son externos a un chip. ¿Por qué elegir un tipo de memoria sobre otro? Esto tiene que ver con las características de la memoria, se puede acceder a SRAM cada reloj, DRAM requiere actualización periódica, por lo que no se puede acceder a cada reloj y TCAM le brinda capacidad ternaria .

Los TCAM son tan escalables siempre que tenga espacio en un chip para instanciarlos, o pines en el paquete para conectarse a los externos. El problema con TCAM es que ocupan 2x espacio de SRAM y 12x espacio de DRAM . No siempre tiene sentido usar TCAM para las mismas operaciones que puede hacerlas algorítmicamente (hashes, * intentos) con otros tipos de memoria. Todo se reduce a una compensación entre la efectividad de utilización del algoritmo y el espacio en el chip en el que elegir. La utilización de energía de TCAM crece en proporción lineal al tamaño. La mayoría de los TCAM grandes (entradas de más de 2M) ahora usan técnicas algorítmicas para que se pueda lograr un ahorro de energía.

NAT / PAT es una característica compleja, que generalmente necesita una CPU o un procesador de red (NPU) para manejar las reparaciones. El flujo general de paquetes para NAT es el primer paquete que va a la CPU / NPU, y se instala una entrada de flujo en la tabla de flujo o en la tabla de ACL con la información sobre cómo traducir los paquetes posteriores en el flujo. Hay múltiples formas diferentes de NAT / PAT, y tantas formas de optimizar cada una en un chip. El NAT más simple es reescribir las IP, y no se preocupe si rompe las direcciones incrustadas en la carga útil, sin reparaciones.

Hay otra versión de BRKARC-3466 que se presentó en CiscoLive 2013 en Melbourne que cubre algunas de las ideas de alto nivel detrás de las búsquedas, que falta en la 2013 Orlando. Un buen libro de referencia en esta área es Algoritmos de red: un enfoque interdisciplinario para diseñar dispositivos en red rápidos por George Varghese.

user3697
fuente
4

ASIC puede considerarse como un tipo de chip. Normalmente se construye para hacer algo en hardware que de otro modo se haría con software. Entonces Cisco puede construir un ASIC para lo que quiera. Dependiendo del modelo del conmutador, hay 1 o muchos ASIC. TCAM es un diseño de memoria, ya que generalmente se encuentra en los sistemas de chasis, se implementa como uno de muchos asics. TCAM se utiliza para funciones de búsqueda particulares como enrutamiento (CEF) o ACLS, por lo que si un ASIC no necesita hacer ese tipo de búsqueda, funciona por separado de TCAM. Por otro lado, los ASIC que manejan el marcado QoS trabajan de la mano con TCAM. La siguiente presentación en cisco live discute algunas de las compensaciones de diseño, y un buen lugar para buscar para comprender lo que implica el diseño del interruptor

BRKARC-3466 - Explorando la ingeniería detrás de la fabricación de un interruptor (2013 Orlando) contiene listas de los asics y mucha información general sobre el diseño del interruptor

fredpbaker
fuente