Este documento examina los elementos de arquitectura más importantes de Cisco 12000 Series Internet Router para la conmutación de paquetes. Los paquetes de conmutación son radicalmente diferentes de cualquiera de las arquitecturas de memoria compartida o basadas en bus de Cisco. Al utilizar un entramado de barra cruzada, Cisco 12000 proporciona grandes cantidades de ancho de banda y escalabilidad. Además, 12000 utiliza colas de salida virtuales para eliminar el bloqueo en cabecera de línea en el switch fabric.
No hay requisitos específicos para este documento.
La información que contiene este documento se basa en el siguiente hardware:
’Router de Internet la serie Cisco 12000’
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Para obtener más información sobre las convenciones del documento, consulte Convenciones de Consejos Técnicos de Cisco.
(La decisión de conmutar en un Cisco 12000 es realizada por las tarjetas de línea (LC)). En algunos LC, un circuito integrado de aplicación específica (ASIC) dedicado conmutará los paquetes. Distributed Cisco Express Forwarding (dCEF) es el único método de conmutación disponible.
Observación: Los motores 0, 1 y 2 no son los últimos motores desarrollados por Cisco. También existen las tarjetas de línea de Motor 3, 4 y 4+, con más adiciones en el futuro. Las tarjetas de línea del motor 3 son capaces de ejecutar funciones Edge a una velocidad de línea. Cuanto más alto es el motor de Capa 3, más paquetes se conmutan en el hardware. Puede obtener información útil acerca de las diferentes tarjetas de línea disponibles para Cisco 12000 Series Router y el motor en el cual están basadas, en Cisco 12000 Series Internet Router: Preguntas frecuentes.
La tarjeta de línea de ingreso (LC) siempre reenvía los paquetes. La LC de egreso sólo realiza Calidad de Servicio (QoS) de salida que depende de la cola (por ejemplo, Detección Temprana Aleatoria Ponderada [WRED] o Índice de Acceso Comprometido [CAR]). La mayoría de los paquetes son conmutados por la LC mediante Distributed Cisco Express Forwarding (dCEF). Solo se envían paquetes de control (como actualizaciones de ruteo) al Procesador de rutas en gigabits (GRP) para su procesamiento. El trayecto de conmutación de paquetes depende del tipo de motores de conmutación que se usan en el LC.
Esto es lo que ocurre cuando ingresa un paquete:
Un paquete ingresa en el módulo de interfaz de capa física (PLIM). Suceden varias cosas aquí:
Un transceptor transforma las señales ópticas en eléctricas (la mayorías de las tarjetas de línea CSR tienen conectores de fibra)
Se elimina la configuración en tramas de la Capa 2 (SANE, Asynchronous Transfer Mode [ATM], Ethernet, High-Level Data Link Control [HDLC]/Point-to-Point Protocol - PPP)
Las celdas de ATM se vuelven a agrupar
Se descartan los paquetes que fallan la Verificación por redundancia cíclica (CRC)
Cuando se recibe y se procesa el paquete, éste pasa por el acceso directo a memoria (DMA) a una pequeña memoria (buffer de aproximadamente 2 x unidad máxima de transmisión [MTU]) llamada "memoria de ráfaga FIFO (Primero en Entrar, Primero en Salir)". La cantidad de esta memoria depende del tipo de LC (desde 128 KB a 1 MB).
Una vez que el paquete está completamente en la memoria FIFO, un circuito integrado específico de la aplicación (ASIC) en el PLIM se pone en contacto con el ASIC de administración de búfer (BMA) y solicita un búfer para colocar el paquete. Se le dice al BMA cuál es el tamaño del paquete, y asigna un búfer en consecuencia. Si BMA no puede obtener una memoria intermedia del tamaño adecuado, el paquete se pierde y el contador “ignore” se incrementa en la interfaz entrante. No hay un mecanismo de repliegue como con otras plataformas. Mientras sucede esto, el PLIM podría estar recibiendo otro paquete en la memoria de ráfaga FIFO, por lo que tiene un tamaño de 2xMTU.
Si hay una memoria intermedia libre disponible en la cola apropiada, el paquete es almacenado por BMA en la lista de la cola libre del tamaño apropiado. Este búfer se ubica en la cola bruta, que es analizada por la ASIC Salsa o la CPU R5K. Para determinar el destino del paquete, la CPU R5K consulta su tabla dCEF local en la RAM dinámica (DRAM) y luego traslada el búfer desde la cola no procesada a una cola hacia la estructura correspondiente a la ranura de destino.
Si el destino no figura en la tabla CEF, el paquete se pierde. Si el paquete es un paquete de control (por ejemplo, actualizaciones de ruteo), se envía a la cola del GRP y éste lo procesará. Existen 17 colas ToFab (16 unidifusión, más 1 multidifusión). Hay una cola ToFab por tarjeta de línea (esto incluye el RP). Estas colas son conocidas como "colas virtuales de salida" y son importantes para que no ocurra el bloqueo en cabecera de línea.
ToFab BMA divide el paquete en fragmentos de 44 bytes que son la carga útil de lo que finalmente se conocerá como “Células Cisco”. A estas celdas se les otorga un encabezado de 8 bytes y un encabezado de búfer de 4 bytes por parte de frFab BMA (total del tamaño de datos hasta ahora = 56 bytes) y luego son enviados a la cola ToFab apropiada (punto en el cual el contador #Qelem en el conjunto de donde vino el búfer resta una unidad y el contador de cola ToFab suma una unidad).
El “tomador de decisiones” depende de los tipos de motores de conmutación:
En las tarjetas de Motor 2+, se utiliza un ASIC especial para mejorar la forma en que se conmutan los paquetes. Los paquetes normales (Etiqueta/IP, sin opciones, suma de verificación) son procesados directamente por medio de de la conmutación del paquete ASIC (PSA), luego desvían la combinación Salsa/CPU de la cola sin procesar y se encolan en la cola toFab. Sólo los primeros 64 bytes del paquete atraviesan la conmutación de paquetes ASIC. Si el paquete no puede ser conmutado por el PSA, el mismo queda en la cola del RawQ para ser tratado por la CPU del LC como se explicó anteriormente.
En este momento, la decisión de conmutación se ha tomado y el paquete se ha colocado en la cola de salida ToFab correspondiente.
El toFab BMA DMAs (Acceso de memoria directa) las celdas del paquete en pequeñas memorias intermedias en al interfaz ASIC (FIA) de fábrica. Hay 17 memorias intermedias FIFO (una por cola ToFab). Cuando la FIA obtiene una celda de la BMA toFab, agrega una CRC de 8 bytes (tamaño total de celda - 64 bytes; carga útil de 44 bytes, encabezado de celda de 8 bytes, encabezado de búfer de 4 bytes). El FIA tiene ASIC de serial line interface (SLI) que realizan la codificación 8B/10B en la célula (como el Fiber Distributed Data Interface (FDDI) 4B/5B) y se prepara para transmitirla a través del entramado. Es probable que parezca un gran consumo de recursos (44 bytes de datos se convierten en 80 bytes a través del entramado), pero no representa un problema ya que se ha provisto la capacidad de entramado necesaria.
Ahora que un FIA está listo para transmitir, solicita acceso al entramado desde el programador y el reloj de la tarjeta (CSC) actualmente activa. El CSC trabaja con un algoritmo de imparcialidad bastante complejo. La idea es no permitir que ninguna LC monopolice el ancho de banda de salida de otra tarjeta. Tenga en cuenta que aun si una LC desea transmitir datos por uno de sus propios puertos, tiene que pasar a través del entramado. Esto es importante porque si esto no ocurriera, un puerto en una LC podría monopolizar todo el ancho de banda para un puerto determinado en esa misma LC. También haría que el diseño de conmutación fuera más complicado. La FIA envía celdas a través de la estructura del switch a su LC saliente (especificadas por datos en el encabezado de celdas de Cisco y colocadas ahí por el motor del switch)
El algoritmo de equidad también está diseñado para una coincidencia óptima; Si la tarjeta 1 quiere transmitir hacia la tarjeta 2 y al mismo tiempo la tarjeta 3 quiere transmitir hacia la tarjeta 4, esto ocurre en paralelo. Esa es la diferencia fundamental entre un entramado de switches y una arquitectura de bus. Considere que es similar a un switch Ethernet frente a un hub; en un switch, si el puerto A desea enviar al puerto B y el puerto C quiere hablar con el puerto D, esos dos flujos se producen independientemente unos de otros. En un eje de conexión, existen problemas de semidúplex tales como las colisiones y los algoritmos de retraso y reintento.
Las Celdas Cisco que salen del entramado son procesadas por la SLI para eliminar la codificación 8B/10B. Si hay algún error aquí, aparecerá en la salida del comando show controller fia como "paridad de celda". Consulte Cómo Leer la Salida del Comando show controller fia para obtener información adicional.
Estas Celdas Cisco pasan por el DMA a las FIFO, en los FIA de cola frFab, y luego a un buffer del BMA de cola frFab. El BMA de cola frFab es el que efectivamente vuelve a agrupar las celdas en un paquete.
¿Cómo sabe el BMA de cola frFab en qué buffer colocar las celdas antes de volver a agruparlas? Esta es otra decisión tomada por el motor de conmutación de la tarjeta de línea entrante; puesto que todas las colas en el cuadro completo son del mismo tamaño y en el mismo orden, el motor de conmutación sólo tiene la LC Tx colocó el paquete en la misma cola de número desde la que ingresó al router.
Las colas frFab BMA SDRAM pueden verse con el comando show controller frfab queue en la LC. Vea Cómo Leer el Resultado del comando show controller frfab | tofab queue Commands en un router de Internet de la serie 12000 de Cisco para obtener más información.
Básicamente, esta es la misma idea que la salida toFab BMA. Los paquetes ingresan y se colocan en paquetes que se quitan de las colas libres respectivas. Estos paquetes se colocan en la cola from-fabric, ya sea en la cola de interfaz (hay una cola por puerto físico) o en la cola rawQ para el procesamiento de salida. No ocurre demasiado en la cola rawQ: Multidifusión de réplica por puerto, Ordenamiento cíclico de déficit modificado (MDRR) - la misma idea que Cola equilibrada de peso distribuida (DWFQ) y CAR de salida. Si la cola de transmisión está llena, el paquete se pierde y el contador de caídas de salida aumenta.
El BMA de cola frFab espera hasta que la porción TX del PLIM esté lista para enviar un paquete. El BMA de cola FrFab es el que realiza la reescritura MAC (recuerde que lo hace según la información contenida en el encabezado de Celda Cisco) y envía el paquete, mediante DMA, a un buffer pequeño (otra vez, 2xMTU) en el circuito PLIM. PLIM ejecuta el SAR ATM y SONET encapsula, si corresponde, y transmite el paquete.
El tráfico ATM se reagrupa (mediante SAR), se segmenta (mediante tofab BMA), se vuelve a agrupar (mediante frombab BMA) y se vuelve a segmentar (mediante fromfab SAR). Esto sucede muy rápidamente.
Ése es el ciclo de vida de un paquete, desde el principio al fin. Si desea saber cómo se comporta el GSR al final del día, lea este documento completo 500,000 veces.
El trayecto de conmutación de paquetes en el GSR depende del tipo de motor de reenvío de la LC. Ahora, seguiremos con todas las etapas correspondientes a Motor 0, Motor 1 y las dos LC.
Las secciones siguientes están basadas en el libro Inside Cisco IOS Software Architecture (Dentro de la arquitectura de software IOS de Cisco), Cisco Press.
La Figura 1 a continuación ilustra los diferentes pasos durante la conmutación de paquetes para una LC de Motor 0 o Motor 1.
Figura 1: Ruta de conmutación del motor 0 y el motor 1
El trayecto de conmutación para la LC de Motor 0 y Motor 1 es básicamente el mismo, si bien la LC de Motor 1 cuenta con un motor de conmutación mejorado y un administrador de buffer que optimiza el rendimiento. El trayecto de conmutación es el siguiente:
Paso 1 - El procesador de interfaz (PLIM) detecta un paquete en los medios de la red y comienza a copiarlo en una memoria FIFO llamada memoria de ráfaga en el LC. La cantidad de memoria de ráfaga que cada interfaz tiene depende del tipo de LC; Los LC típicos tienen entre 128 KB y 1 MB de memoria de ráfaga.
Paso 2 - El procesador de interfaz solicita un buffer de paquetes del BMA de recepción; el conjunto desde el cual se solicita el buffer depende de la longitud del paquete. Si no hay ningún búfer libre, se descarta la interfaz y se incrementa el contador “ignore" ("ignorar") de dicha interfaz. Por ejemplo, si llega un paquete de 64 bytes a una interfaz, el BMA intenta asignar una memoria intermedia de paquete de 80 bytes. En caso de no existir búfers libres en el agrupamiento de 80 bytes, no se asignan búfers desde el siguiente agrupamiento disponible.
Paso 3 – Cuando una memoria intermedia libre es asignada por BMA, el paquete es copiado a la memoria intermedia y es colocado en cola en la cola sin procesar (RawQ) para que lo procese la CPU. Se envía un pedido de interrupción a la CPU de LC.
Paso 4: La CPU de LC procesa cada paquete en la cola RawQ a medida que lo recibe (la RawQ es una FIFO), mediante una consulta a la tabla Distributed Cisco Express Forwarding local, en la memoria RAM dinámica (DRAM), para tomar una decisión de conmutación.
4.1 Si es un paquete IP unicast con una dirección de destino válida en la tabla CEF, el encabezado del paquete se reescribe con la nueva información de encapsulación obtenida de la tabla de adyacencia CEF. El paquete conmutado está en la cola de salida virtual correspondiente a la ranura de destino.
4.2 Si la dirección de destino no figura en la tabla CEF, el paquete se pierde.
4.3 Si el paquete es un paquete de control (una actualización de ruteo, por ejemplo), el paquete se envía a la cola del GRP y es procesado por el GRP.
Paso 5 - El BMA de recepción fragmenta el paquete en celdas de 64 bytes y lo transfiere del FIA para transmitirlo al LC de salida.
Al final del Paso 5, el paquete que llegó a una LC de Motor 0/1 ha sido conmutado y está listo para ser transportado a través del entramado de switches como celdas. Vaya al Paso 6 en la sección Conmutación de Paquetes: Conmutación de Celdas a través del Entramado.
La Figura 2 a continuación ilustra el trayecto de conmutación del paquete cuando los paquetes llegan a una LC de Motor 2, como se describe en la siguiente lista de pasos.
Figura 2: Trayecto de conmutación del motor 2
Paso 1 - El procesador de interfaz (PLIM) detecta un paquete en los medios de la red y comienza a copiarlo en una memoria FIFO llamada memoria de ráfaga en el LC. La cantidad de memoria de ráfaga que cada interfaz tiene depende del tipo de LC; Los LC típicos tienen entre 128 KB y 1 MB de memoria de ráfaga.
Paso 2 – Los primeros 64 bytes del paquete, llamados encabezado, se pasan por la conmutación del paquete ASIC (PSA).
2.1 PSA conmuta el paquete mediante una consulta a la tabla CEF local en la memoria PSA. Si el PSA no puede conmutar el paquete, vaya al Paso 4; de lo contrario, continúe con el paso 3.
Paso 3 – El administrador de recepción de memoria intermedia (RBM) acepta el encabezado del PSA y lo copia en un encabezado de memoria intermedia libre. Si el paquete es superior a 64 bytes, la cola del paquete también se copia en el mismo búfer libre en el paquete de memoria y queda en cola en la cola de salida virtual LC saliente. Vaya al paso 5.
Paso 4: El paquete llega en este punto si no puede ser conmutado por el PSA. Estos paquetes se colocan en la cola no procesada (RawQ) y el trayecto de conmutación es en esencia el mismo que para LC de Motor 1 y Motor 0 a partir de este punto (Paso 4 en el caso del Motor 0). Tenga en cuenta que los paquetes que son conmutados por el PSA nunca son colocados en la cola RawQ y no se envía un pedido de interrupción a la CPU.
Paso 5: El Módulo de Interfaz de Entramado (FIM) es responsable de segmentar los paquetes en Celdas Cisco y de enviar las celdas al ASIC de Interfaz de Entramado (FIA) para ser transmitidas a la LC saliente.
Usted llega a esta etapa luego de que el motor de conmutación de paquetes conmuta los paquetes. En esta instancia, los paquetes son segmentados en celdas de Cisco y están esperando para ser transmitidos a través del entramado de conmutación. Los pasos para esta etapa son los siguientes:
Paso 6 - La FIA envía una solicitud de otorgamiento al CSC que planifica la transferencia de cada celda a través de la estructura de conmutación.
Paso 7: Cuando el programador otorga el acceso al entramado de switches, las celdas son transferidas a la ranura de destino. Tenga en cuenta que es posible que las celdas no se transmitan todas a la vez; otras celdas dentro de otros paquetes podrían estar entrelazadas.
La Figura 3 a continuación muestra la última etapa de la conmutación de paquetes. Las células son reensambladas y el paquete se transmite a los medios. Este paquete se coloca en la tarjeta de línea saliente.
Figura 3: Conmutación de Paquetes Cisco 12000: Etapa de transmisión
Paso 8 - Las celdas conmutadas a través de la estructura alcanzan la tarjeta de línea de destino mediante la FIA.
Paso 9: El administrador de búfer de transmisión asigna un búfer de la memoria del paquete de transmisión y reensambla el paquete en este búfer.
Paso 10: Cuando el paquete se reconstruye, el BMA de transmisión coloca el paquete en la cola de transmisión de la interfaz de destino en el LC. Si la cola de transmisión de la interfaz está llena (no es posible colocar el paquete en la cola), el paquete se pierde y el contador de caídas de la cola de salida aumenta.
Nota: En la dirección de transmisión, los paquetes son colocados en la cola RawQ sólo cuando la CPU de la LC necesita realizar algún procesamiento antes de la transmisión. Los ejemplos incluyen fragmentación IP, multidifusión y CAR de salida.
Paso 11 - El procesador de la interfaz detecta un paquete en espera de ser transmitido, quita la memoria intermedia de la memoria de transmisión, la copia en memoria FIFO interna y transmite el paquete en el medio.
Los paquetes IP que atraviesan la plataforma 12000 están procesados en tres fases:
Tarjeta de línea de entrada en tres secciones:
PLIM de Ingreso (Módulo de Interfaz de Línea Física): Conversión Óptica a Eléctrica, Synchronous Optical Network (SONET)/anulación de la configuración en tramas Synchronous Digital Hierarchy (SDH), HDLC y procesamiento PPP.
IP Forwarding – Reenvío de decisiones en función de la colación en cola y la búsqueda FIB en una de las colas unidifusión o colas multidifusión de ingreso.
Administración de cola de ingreso e interfaz de recursos físicos - la detección temprana aleatoria (RED)/detección temprana aleatoria ponderada (WRED) que se procesa en las colas y en la eliminación de la cola de ingreso en dirección al entramado para maximizar la utilización de los recursos físicos.
Conmutación de paquetes IP a través de la estructura 12000 de la tarjeta de ingreso a la tarjeta de egreso o las tarjetas de egreso (en el caso de multidifusión).
Tarjeta de línea de salida en tres secciones:
Interfaz de estructura de egreso: reensamblado de los paquetes IP que se van a enviar y poner en cola en las colas de egreso; procesamiento de paquetes multicast.
Administración de cola de egreso – procesamiento RED/WRED en las colas y en la eliminación de la cola de ingreso en dirección al PLIM de egreso para optimizar la utilización de la línea de egreso.
PLIM de salida - Procesamiento HDLC y PPP, alineación de tramas SONET/SDH, conversión eléctrica a óptica.