Este documento describe la vida de un paquete.
No hay requisitos específicos para este documento.
Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.
La información que se presenta en este documento se originó a partir de dispositivos dentro de un ambiente de laboratorio específico. All of the devices used in this document started with a cleared (default) configuration. Si la red está funcionando, asegúrese de haber comprendido el impacto que puede tener un comando antes de ejecutarlo.
Para obtener más información sobre las convenciones del documento, consulte Convenciones de Consejos Técnicos de Cisco.
Los routers de gama baja de Cisco incluyen las series 1xxx, 25xx, 26xx, 3600, 3800, 4000, 4500 y 4700. Con estos routers, alguien envía un mensaje en un cable y lo recibe un controlador en otro sistema. Ese controlador, en la mayoría de los sistemas, almacena el paquete directamente en la memoria intermedia. Cuando el mensaje se recibe totalmente, el controlador almacena parte de información indicadora para que el controlador ingresante pueda encontrarla, y después presenta una interrupción de recepción.
Nota: Si el controlador no tiene búfers en los que almacenar el mensaje, registra un "ignore" en este momento y no recibe el mensaje.
En algún momento del futuro, normalmente medido en microsegundos, un controlador se activa. El controlador primero verifica la cola de transmisión y, más tarde, verifica la cola de recepción. Por ahora, nos centraremos en el procesamiento de cola de recepción. El controlador verifica los aspectos necesarios de la cola, decide que hay un mensaje, quita el mensaje de la cola y repone la lista de memoria intermedia de recepción del controlador. A continuación, decide a qué reenviador, como IP o Intercambio de paquetes de Internet (IPX), entregar el mensaje.
Para esta explicación, asuma que es un mensaje IP. El controlador deseará entregarle el mensaje IP al trayecto rápido IP configurado. Primero quita el encabezado de la capa de link del mensaje y luego determina si una trayectoria rápida está configurada en la interfaz de ingreso. Si ninguno se configura, el paquete se coloca (marcado) en la "cola de retención de entrada" y se inspecciona un contador. Si el contador es cero, se agota la "cola de retención de entrada" y se descarta el paquete. Si el contador no es cero, se reduce y el mensaje se envía a la ruta de acceso del proceso.
Nota: La "cola de retención de entrada" no es una cola en el sentido literal. Se trata de un conjunto de paquetes que se han recibido en una interfaz y que no se procesan completamente (ya sea reenviando el mensaje a una interfaz de salida o liberando el búfer). No obstante, en caso de trayecto rápido configurado, que generalmente sucede, el mensaje se transmite al trayecto rápido.
El trayecto rápido ahora valida el mensaje y aplica algún conjunto de funciones al mensaje sin rutear. Este paso incluye el descifrado o la descompresión, o ambas (si es necesario), la realización de la traducción de direcciones de red (NAT), la aplicación de pruebas de velocidad de acceso comprometida (CAR) de entrada, la aplicación de pruebas de routing de políticas, etc.
La Política de ruteo, si se usa, selecciona de hecho la interfaz de egreso. Si no se utiliza el ruteo de políticas, el siguiente paso es buscar la dirección de destino en la memoria caché de rutas, un proceso llamado "conmutación del paquete". Según el modo de fast switching, varía la estructura y el contenido de esa memoria caché. En el fast switching estándar, el caché contiene las rutas de los prefijos de destino o rutas de hosts de destino empleadas recientemente y ocasionalmente no tiene entrada de caché. En este caso, el mensaje se mueve al nivel del proceso, de nuevo se marca como "cola de retención de entrada". En la conmutación de Cisco Express Forwarding, la memoria caché (denominada Base de la información de reenvío, FIB) es una tabla de ruta completa, con el objetivo de que no se lleve a cabo el proceso.
Si se encuentra una ruta, la entrada de caché de a la ruta (o “adyacencia”, como se denomina en Cisco Express Forwarding) indica la interfaz de salida de software y hardware y el encabezado que debe colocarse en el mensaje (siguiente salto relevante). Para interfaces de multiplexión, éste sería el siguiente circuito virtual o canal virtual importante.
En esa interfaz de software, hay varios problemas que podrían aplicarse. Por ejemplo, es posible que la interfaz se haya configurado con una unidad de transmisión máxima (MTU) más pequeña que el tamaño del mensaje. Dado que no hay fragmentos en la ruta rápida, este evento en particular sería una razón para "bump" a nivel de proceso. Además, la interfaz se puede configurar para el procesamiento NAT, la salida CAR, etc. En este punto del procesamiento del mensaje, se aplicarían estas características. Por último, el encabezado de capa de link de la interfaz de salida se coloca en el mensaje y se entrega al controlador de salida.
El mensaje se le presenta a la rutina de envío rápido en el controlador que realiza los siguientes pasos.
El controlador hace varias preguntas, como "¿Tengo que copiar el mensaje a un nuevo búfer antes de transmitirlo?"
Determina si el diseño del tráfico es activo. Si se activa el modelado del tráfico, éste compara la velocidad de llegada del mensaje con su velocidad de transmisión para la clase de mensajes indicada. Ya sea que la cola de modelado se forme en la subinterfaz o la cola no esté presente pero la velocidad haya sido ahora excedida, coloca el mensaje en una cola de la interfaz de software.
Si el modelado del tráfico no está activo, no corresponde a este mensaje, o la velocidad no ha sido excedida, el controlador ahora pregunta si la profundidad de la cola de transmisión del controlador de resultado está por debajo del límite de cola de transmisión. Si está por debajo del límite, el controlador simplemente pone el mensaje en cola para su transmisión. Un mensaje que siguió este trayecto se contabilizó como de conmutación rápida en entrada y en salida.
Sin embargo, si no se puede conmutar rápidamente, el controlador desvía el mensaje a una cola de software, a la que se hace referencia de forma genérica como "cola de retención de salida". Algunos ejemplos de colas en espera son las colas First In, First Out (FIFO), Priority Queuing, Custom Queuing y Weighted Fair Queuing (WFQ).
Dado que éste es el destino de los mensajes que siguen también la trayectoria del proceso, se contabiliza que dichos mensajes han sido conmutados rápidamente en la entrada y en la salida process-switched on. Tenga en cuenta que, de hecho, no se conmutaron por proceso. La decisión de conmutación se tomó cuando el paquete fue conmutado en el trayecto rápido. Sin embargo, el mensaje se desvió hacia una cola compartida con el trayecto del proceso. Se expresa como conmutado por proceso más tarde cuando se elimine el mensaje de la cola de espera y se envíe al controlador de transmisión.
La conmutación del proceso es lo que sucede cuando el mensaje no se puede transmitir en la trayectoria rápida. Es decir, el mensaje se envió a este sistema y eventualmente (idealmente) se consumirá mediante un proceso de ruteo, un proceso de mantenimiento de link, un proceso de administración de red, etc. Sin embargo, parte del tráfico realmente pasa a través de la ruta del proceso, como el tráfico que utiliza la fragmentación y el entrelazado de enlaces (LFI) para intercalar la voz entre segmentos de un salbograma, el tráfico X.25, el tráfico que requiere fragmentación y el tráfico para el que no hubo entrada de ruta de ruta de trayecto rápido. El procesamiento en el trayecto es conceptualmente idéntico al de la ruta rápida pero difiere en la implementación por varias razones. Una de las diferencias es que en la salida, se borra el indicador "cola de retención de entrada" y el contador en la interfaz de entrada aumenta (eliminando el mensaje de la cola de retención de entrada), y el mensaje se coloca en la cola de retención de salida. Luego, se simula una interrupción que podría disparar la transmisión del mensaje en la interfaz de salida. Es más lento que el fast switching debido a la sobrecarga del proceso; puede haber algún otro proceso en ejecución cuando se recibe un mensaje de este tipo, y hay algunas estructuras de datos más complejas que deben tratarse.