CAM, TCAM, FIB y CEF: cómo toman decisiones los switches y routers Cisco

Entiende las diferencias entre CAM, TCAM, RIB y FIB, cómo funciona Cisco Express Forwarding (CEF) y cómo switches y routers Cisco toman decisiones de forwarding.

Cuando un switch recibe una trama o un router recibe un paquete, la decisión de reenvío debe realizarse con enorme rapidez. El equipo no puede analizar toda su configuración desde cero para cada paquete: necesita estructuras optimizadas que le permitan encontrar la información necesaria de forma eficiente.

Ahí aparecen términos como CAM, TCAM, RIB, FIB y CEF.

Aunque suelen estudiarse por separado, en realidad forman parte de una misma historia: cómo un equipo de red aprende información, toma decisiones y reenvía tráfico.

En este artículo veremos qué función cumple cada una, cuáles son sus diferencias y cómo se relacionan dentro de switches y routers Cisco.

Idea clave: CAM, TCAM, RIB y FIB no son nombres diferentes para la misma tabla. Cada estructura resuelve un problema distinto dentro del proceso de forwarding.

Del paquete a la decisión de forwarding

Antes de entrar en cada término, podemos separar el funcionamiento de un equipo de red en dos grandes áreas:

  • Control plane: aprende y calcula información de la red. Aquí encontramos, por ejemplo, protocolos de routing y la RIB.
  • Data plane: utiliza información ya preparada para reenviar tráfico a alta velocidad. Aquí participan estructuras como la FIB y, dependiendo de la plataforma, recursos de hardware como CAM y TCAM.

En un switch de capa 2, una decisión típica puede basarse en la dirección MAC de destino.

En un equipo que realiza routing, la decisión se basa principalmente en la dirección IP de destino, buscando la ruta más específica aplicable.

Además, políticas como ACL y QoS pueden modificar el tratamiento que recibirá ese tráfico.

Por eso existen diferentes estructuras optimizadas para diferentes tipos de búsqueda.

CAM: la tabla que asociamos con direcciones MAC

CAM significa Content Addressable Memory.

En switching Ethernet, el concepto está estrechamente relacionado con la MAC Address Table, donde el switch mantiene asociaciones entre direcciones MAC, VLAN y puertos.

Una entrada puede representarse conceptualmente así:

VLANDirección MACTipoPuerto
100050.56aa.1111DynamicGi1/0/3
200050.56bb.2222DynamicGi1/0/8

¿Cómo aprende un switch una dirección MAC?

Cuando una trama entra por un puerto, el switch observa la MAC de origen.

Si recibe una trama como esta:

Source MAC:      0050.56aa.1111
Destination MAC: 0050.56bb.2222
VLAN:            10
Ingress port:    Gi1/0/3

el switch puede aprender que 0050.56aa.1111 se encuentra detrás de Gi1/0/3 en la VLAN correspondiente.

Este aprendizaje ocurre a partir de la dirección de origen, no de la dirección de destino.

¿Cómo utiliza la tabla MAC?

Después de aprender la MAC de origen, el switch consulta la dirección MAC de destino.

Destino conocido: existe una entrada válida para esa MAC dentro de la VLAN. El switch puede reenviar la trama por el puerto correspondiente.

Destino desconocido: no existe una entrada para esa MAC. El switch realiza unknown-unicast flooding dentro de la VLAN, excepto por el puerto por el que recibió la trama.

Esto explica por qué una tabla MAC saludable es fundamental para el funcionamiento de una LAN.

Aging de las direcciones MAC

Las entradas aprendidas dinámicamente no permanecen indefinidamente.

Si una dirección deja de ser observada durante el tiempo de aging configurado, su entrada puede ser eliminada. El valor exacto y su comportamiento dependen de la plataforma y configuración.

En muchos switches Cisco podemos consultar la tabla con:

show mac address-table

Filtrar por VLAN:

show mac address-table vlan 10

Buscar una MAC concreta:

show mac address-table address 0050.56aa.1111

Y, dependiendo de la plataforma, consultar parámetros relacionados con aging:

show mac address-table aging-time

La MAC Address Table también es útil para troubleshooting. Cambios rápidos de una misma MAC entre puertos pueden indicar, entre otras posibilidades, un loop de capa 2 o MAC flapping.

Si quieres entender por qué los loops son tan peligrosos en Ethernet, revisa también Spanning Tree Protocol (STP).

CAM no es lo mismo que TCAM

Los nombres son parecidos, pero su función no es idéntica.

Una búsqueda CAM puede entenderse de forma simplificada como una búsqueda por coincidencia exacta.

Por ejemplo:

¿Existe exactamente esta MAC?
0050.56aa.1111

Sin embargo, un equipo de red también necesita resolver preguntas mucho más complejas:

¿Este paquete pertenece a 10.10.0.0/16?
¿Coincide con esta ACL?
¿Su protocolo es TCP?
¿Su puerto de destino es 443?
¿Qué política QoS corresponde?

Para este tipo de clasificación aparece otro concepto fundamental.

TCAM: búsquedas con 0, 1 y “don’t care”

TCAM significa Ternary Content Addressable Memory.

La palabra ternary es importante porque permite trabajar conceptualmente con tres estados:

0
1
X = don't care

Ese tercer estado permite representar coincidencias donde determinados bits no necesitan tener un valor específico.

Esto resulta especialmente útil para búsquedas con máscaras y reglas.

Por ejemplo, una red IPv4 no representa una única dirección:

10.10.0.0/16

representa un conjunto de direcciones. Para tomar decisiones a gran velocidad, los equipos necesitan estructuras capaces de realizar este tipo de comparación de manera eficiente.

¿Para qué se utiliza TCAM?

El uso exacto depende de la arquitectura y plataforma, pero TCAM se asocia habitualmente con funciones como:

  • búsquedas relacionadas con forwarding de capa 3;
  • Access Control Lists (ACL);
  • clasificación y políticas de QoS;
  • otras funciones que requieren búsquedas por múltiples campos o máscaras.

No debemos imaginar que todos los switches Cisco poseen exactamente la misma distribución interna de TCAM. La arquitectura, capacidad y forma de asignar recursos varían entre familias y modelos.

Por eso, cuando analizamos límites de TCAM en producción, debemos consultar la documentación específica de la plataforma.

Comparación entre CAM y TCAM en switches y routers Cisco

CAM vs TCAM

CaracterísticaCAMTCAM
Tipo de coincidenciaExactaTernaria / con máscaras
Valores conceptuales0 y 10, 1 y X
Uso típicoMAC Address TableACL, QoS y búsquedas de forwarding según plataforma
EjemploBuscar una MACEvaluar prefijos o reglas
ObjetivoLookup rápidoLookup rápido con criterios más complejos

Esta comparación es conceptual. La implementación real depende del hardware y del sistema operativo de cada plataforma.

De la tabla de routing a la FIB

Cuando pasamos de capa 2 a capa 3 aparece otra distinción importante:

RIB y FIB no son lo mismo.

RIB: Routing Information Base

La RIB representa la información de routing utilizada por el control plane.

Puede contener rutas originadas por redes directamente conectadas, rutas estáticas y protocolos como OSPF, EIGRP o BGP.

Cuando ejecutamos:

show ip route

estamos observando la tabla de routing IPv4 desde la perspectiva del sistema operativo.

Por ejemplo:

O    10.20.0.0/16 [110/20] via 192.0.2.2, GigabitEthernet0/0

Esta información indica cómo el proceso de routing entiende la topología y cuál es el siguiente salto seleccionado.

Pero consultar y procesar toda la lógica del control plane para cada paquete sería ineficiente.

Por eso necesitamos una estructura optimizada para forwarding.

FIB: Forwarding Information Base

FIB significa Forwarding Information Base.

La FIB contiene información derivada de las decisiones de routing y preparada para ser utilizada durante el reenvío de paquetes.

Una forma útil de visualizar la relación es:

De los protocolos de routing a la RIB y la FIB para el forwarding

La RIB participa en la construcción de la visión de routing.

La FIB permite que el data plane utilice el resultado necesario para reenviar tráfico de manera eficiente.

Por eso decir simplemente que “FIB es la CAM de capa 3” puede servir como una analogía inicial, pero no describe correctamente su función.

Longest Prefix Match

Cuando un router busca el destino de un paquete IPv4, puede encontrar varias rutas que coinciden.

Supongamos:

0.0.0.0/0
10.0.0.0/8
10.10.0.0/16
10.10.20.0/24

y el paquete tiene como destino:

10.10.20.55

Todas esas rutas pueden coincidir con el destino, pero el equipo seleccionará la más específica:

10.10.20.0/24

Este principio se conoce como Longest Prefix Match.

¿Qué es Cisco Express Forwarding (CEF)?

CEF — Cisco Express Forwarding es la arquitectura de forwarding utilizada por Cisco para permitir decisiones eficientes de reenvío IP.

Dos conceptos tradicionalmente fundamentales para entender CEF son:

  • FIB
  • adjacency information

La FIB permite determinar el camino de forwarding correspondiente al destino.

La información de adjacency aporta los datos necesarios para alcanzar determinados next hops, incluyendo información relacionada con el encapsulado de capa 2 cuando corresponde.

En lugar de reconstruir todo el proceso de routing para cada paquete, el equipo puede utilizar información ya preparada para forwarding.

Flujo RIB, FIB, adjacency y forwarding en Cisco

FIB y adjacency: cómo trabajan juntas

Imaginemos que el router conoce esta ruta:

10.20.0.0/16 via 192.0.2.2

Para reenviar un paquete destinado a:

10.20.30.40

el proceso puede representarse conceptualmente así:

Proceso de reenvío desde el lookup en la FIB hasta la interfaz de salida

La FIB responde esencialmente a la pregunta:

¿por dónde debe continuar este paquete?

La información de adjacency ayuda a resolver:

¿cómo debe enviarse hacia ese siguiente salto?

Flujo completo de un paquete utilizando CAM, FIB y CEF

El recorrido completo: de un host a otra red

Ahora podemos conectar CAM, FIB y CEF en un único ejemplo.

Tenemos:

Ejemplo de comunicación desde un host hacia otra red a través de un switch y gateway

PC-A quiere comunicarse con 10.20.20.50.

Como el destino está fuera de su subred, PC-A envía la trama hacia la MAC de su default gateway.

Paso 1: forwarding de capa 2

El switch recibe la trama, aprende o actualiza la MAC de origen y consulta la MAC de destino en su MAC Address Table.

Forwarding de capa 2 mediante la MAC Address Table y el puerto hacia el gateway

El switch entrega la trama al dispositivo que realiza routing.

Paso 2: decisión de capa 3

El router elimina el encabezado Ethernet correspondiente al enlace de entrada y analiza el paquete IP.

Para el destino 10.20.20.50, se realiza la búsqueda de forwarding y se selecciona el prefijo más específico aplicable, por ejemplo 10.20.20.0/24.

Paso 3: next hop y adjacency

Con la información de forwarding y adjacency correspondiente, el equipo determina la salida y prepara el encapsulado necesario para el siguiente enlace.

El paquete IP continúa hacia su destino dentro de una nueva trama de capa 2.

Importante: los encabezados de capa 2 pueden cambiar salto a salto. Las direcciones IP de origen y destino normalmente permanecen asociadas a la comunicación extremo a extremo, salvo mecanismos que explícitamente las modifiquen, como NAT.

¿Dónde entra TCAM en todo esto?

En plataformas que implementan determinadas funciones de forwarding y clasificación en hardware, TCAM puede permitir búsquedas muy rápidas relacionadas con prefijos, ACL, QoS u otras políticas.

Por ejemplo:

Origen:       10.10.10.10
Destino:      10.20.20.50
Protocolo:    TCP
Puerto:       443
ACL:          permit
QoS class:    BUSINESS

Una estructura capaz de realizar comparaciones paralelas con máscaras es especialmente útil en este escenario.

Así, CAM y TCAM no compiten entre sí. Resuelven problemas diferentes.

CAM, TCAM, RIB y FIB en una sola tabla

EstructuraFunción principalPlanoInformación típica
CAM / MAC tableForwarding EthernetData planeMAC, VLAN, puerto
TCAMClasificación y búsquedas complejasPrincipalmente data planePrefijos, máscaras, ACL, QoS
RIBInformación y selección de routingControl planePrefijos, next hops, métricas, protocolos
FIBInformación optimizada para forwarding IPData planePrefijos y acciones/next hops de forwarding

Esta separación permite comprender algo fundamental: aprender una ruta y reenviar un paquete son actividades relacionadas, pero no idénticas.

Comandos Cisco para verificar CAM, FIB y CEF

Los comandos disponibles pueden variar según plataforma y versión de software.

MAC Address Table

show mac address-table
show mac address-table vlan 10
show mac address-table address 0050.56aa.1111

Tabla de routing

show ip route
show ip route 10.20.20.0

FIB / CEF

show ip cef
show ip cef 10.20.20.50
show ip cef detail
show ip cef summary

Adjacencies

show adjacency
show adjacency detail

Ruta exacta de forwarding

En plataformas que soporten el comando:

show ip cef exact-route 10.10.10.10 10.20.20.50

Esto puede ser especialmente útil para analizar qué camino de forwarding corresponde a un origen y destino determinados.

Ejemplo de troubleshooting

Supongamos que:

show ip route 10.20.20.0

muestra una ruta válida, pero el tráfico no llega al destino.

No debemos detener el diagnóstico en la RIB.

Podemos avanzar por capas:

1. ¿Existe la ruta?
   show ip route

2. ¿Existe información de forwarding?
   show ip cef

3. ¿El next hop está correctamente resuelto?
   show adjacency
   show arp
   o comandos equivalentes según plataforma/protocolo

4. ¿Existe alguna política afectando el tráfico?
   ACL / QoS / políticas de seguridad

5. ¿La capa 2 hacia el next hop funciona?
   MAC Address Table / VLAN / trunk / STP / EtherChannel

Esta metodología evita asumir que “tener una ruta” significa automáticamente “tener forwarding funcionando”.

Relación con VLAN, trunks, STP y EtherChannel

Las estructuras estudiadas aquí no trabajan de manera aislada.

Una VLAN define el dominio de capa 2 donde se produce el aprendizaje de MAC. Puedes repasarlo en qué es una VLAN.

Cuando varias VLAN deben atravesar un mismo enlace, entran en juego los trunks 802.1Q y la VLAN nativa.

Para evitar loops de capa 2, STP y RSTP controlan qué caminos pueden reenviar tráfico.

Y cuando necesitamos agregar varios enlaces físicos en un único enlace lógico, utilizamos EtherChannel, LACP o PAgP.

Todos estos mecanismos terminan influyendo, directa o indirectamente, en el camino real que siguen las tramas y paquetes.

Errores comunes al estudiar CAM, TCAM, FIB y CEF

“CAM y TCAM son lo mismo”

No. Ambas están asociadas con búsquedas rápidas, pero TCAM añade la capacidad ternaria que permite coincidencias más complejas.

“La FIB es simplemente la routing table”

No. Están relacionadas, pero cumplen funciones diferentes. La RIB pertenece al proceso de routing/control plane; la FIB contiene información preparada para forwarding.

“CEF es un protocolo de routing”

No. CEF no reemplaza OSPF, EIGRP, BGP ni rutas estáticas. Utiliza información derivada de las decisiones de routing para realizar forwarding eficiente.

“Si show ip route está correcto, el tráfico necesariamente funciona”

No. Aún pueden existir problemas de adjacency, ARP/ND, capa 2, ACL, QoS, encapsulación o forwarding.

“Todos los switches tienen la misma TCAM”

No. Los recursos y su utilización dependen de la plataforma.

Preguntas frecuentes

¿CAM y MAC Address Table son exactamente lo mismo?

En el estudio de switching Cisco, los términos suelen aparecer estrechamente asociados porque la MAC Address Table puede apoyarse en mecanismos de lookup de hardware. Sin embargo, conviene diferenciar el concepto lógico de tabla MAC de la tecnología de memoria utilizada por una plataforma concreta.

¿TCAM almacena solamente ACL?

No. ACL es uno de sus usos más conocidos, pero diferentes plataformas pueden utilizar recursos TCAM para forwarding, QoS y otras funciones que requieren búsquedas con máscaras y múltiples criterios.

¿RIB y FIB pueden mostrar información diferente?

Sí. Están relacionadas, pero representan etapas y funciones distintas. Una discrepancia entre el estado de routing y el estado de forwarding puede ser una pista importante durante troubleshooting.

¿CEF reemplaza la tabla de routing?

No. CEF utiliza información derivada del proceso de routing para construir estructuras apropiadas para forwarding.

¿Debo habilitar CEF manualmente?

No conviene aplicar una regla histórica genérica. En plataformas Cisco modernas, el comportamiento depende de la familia, software y arquitectura. Antes de modificar mecanismos de forwarding, consulta la documentación específica de la plataforma. Desactivar CEF como procedimiento rutinario de troubleshooting no es una práctica recomendable.

Conclusión

CAM, TCAM, RIB, FIB y CEF describen partes diferentes de un mismo proceso: transformar información aprendida o calculada por el equipo en decisiones de forwarding rápidas y eficientes.

Podemos resumirlo así:

Resumen de CAM, RIB, FIB, adjacency, CEF y TCAM en el proceso de forwarding

Si entiendes qué información pertenece al control plane, qué información utiliza el data plane y cuál es la función de cada estructura, conceptos que inicialmente parecen una colección de siglas empiezan a formar un único modelo mental.

Y ese modelo es muy útil no solo para CCNA y CCNP, sino también para diagnosticar redes reales.