Cola de paquetes y eliminación en enrutadores

Los enrutadores son dispositivos de red esenciales que dirigen el flujo de datos a través de una red. Los enrutadores tienen una o más interfaces de entrada y salida que reciben y transmiten paquetes respectivamente. Dado que la memoria del enrutador es finita, un enrutador puede quedarse sin espacio para acomodar los paquetes recién llegados. Esto ocurre si la tasa de llegada de los paquetes es mayor que la tasa de salida de los paquetes de la memoria del enrutador. En tal situación, los paquetes nuevos se ignoran o los paquetes más antiguos se descartan. Como parte de los mecanismos de asignación de recursos, los enrutadores deben implementar alguna disciplina de cola que rija cómo los paquetes se almacenan en búfer o se eliminan cuando es necesario. 

Routers queuing

 Fig. 1: Representación del tráfico entrante y saliente de un enrutador 

Congestión de colas y disciplinas de colas

Las colas de los enrutadores son susceptibles a la congestión en virtud de la memoria intermedia limitada que tienen disponible. Cuando la tasa de tráfico de entrada se vuelve mayor que las cantidades que se pueden reenviar en la interfaz de salida, se observa congestión. Las posibles causas de tal situación implican principalmente: 
 

  • La velocidad del tráfico entrante supera la tasa del tráfico saliente
  • El tráfico combinado de todas las interfaces de entrada supera la capacidad de salida general
  • El procesador del enrutador es incapaz de manejar el tamaño de la tabla de reenvío para determinar las rutas de enrutamiento

Para administrar la asignación de memoria del enrutador a los paquetes en tales situaciones de congestión, los enrutadores pueden seguir diferentes disciplinas para determinar qué paquetes conservar y qué paquetes descartar. En consecuencia, tenemos las siguientes disciplinas de colas importantes en los enrutadores: 

Primeros en entrar, primeros en salir (FIFO)

El esquema de cola predeterminado seguido por la mayoría de los enrutadores es FIFO. Esto generalmente requiere poca o ninguna configuración en el servidor. Todos los paquetes en FIFO se atienden en el mismo orden en que llegan al enrutador. Al alcanzar la saturación dentro de la memoria, los nuevos paquetes que intentan ingresar al enrutador se descartan ( tail drop ). Sin embargo, tal esquema no es apto para aplicaciones en tiempo real, especialmente durante la congestión. Una aplicación en tiempo real como VoIP, que envía paquetes de forma continua, puede quedarse sin energía durante los momentos de congestión y perder todos sus paquetes. 

Cola de prioridad (PQ)

En Priority Queuing, en lugar de usar una sola cola, el enrutador bifurca la memoria en varias colas, en función de alguna medida de prioridad. Después de esto, cada cola se maneja de manera FIFO mientras se recorren las colas una por una. Las colas se marcan como Alta , Media o Baja según la prioridad. Los paquetes de la cola Alta siempre se procesan antes que los paquetes de la cola Media. Del mismo modo, los paquetes de la cola Media siempre se procesan antes que los paquetes de la cola Normal, etc. Mientras existan algunos paquetes en la cola de prioridad Alta, no se procesa ningún otro paquete de la cola. Por lo tanto, los paquetes de alta prioridad pasan al frente de la fila y reciben servicio primero. Una vez que se vacía una cola de mayor prioridad, solo entonceses una cola de menor prioridad atendida. 

Priority Queuing Sub-queues

Fig. 2: Múltiples sub-colas utilizadas en el Esquema de Cola de Prioridad

La ventaja obvia de PQ es que el tráfico de mayor prioridad siempre se procesa primero. Sin embargo, una desventaja significativa del esquema PQ es que las colas de menor prioridad a menudo no pueden recibir 
ningún servicio como resultado de la inanición . Un flujo constante de tráfico de alta prioridad puede privar a las colas de menor prioridad 

Cola justa ponderada (WFQ)

La cola justa ponderada (WFQ) crea dinámicamente colas en función de los flujos de tráfico y asigna ancho de banda a estos flujos en función de la prioridad. A las subcolas se les asignan anchos de banda dinámicamente. Suponga que existen 3 colas que tienen porcentajes de ancho de banda del 20 %, 30 % y 50 % cuando están todas activas. Luego, si el 20 % de la cola está inactiva, el ancho de banda liberado se asigna entre las colas restantes, conservando las proporciones de ancho de banda originales. Por lo tanto, el 30 % de la cola ahora se asigna (75/2) % y el 50 % de la cola ahora se asigna (125/2) % de ancho de banda. 

Los flujos de tráfico se distinguen e identifican en función de varios campos de encabezado en los paquetes, como: 
 

  • Dirección IP de origen y destino
  • Puerto TCP (o UDP) de origen y destino
  • Número de protocolo IP
  • Valor del tipo de servicio (precedencia de IP o DSCP)
Weighted Fair Queueing

Fig. 3: Anchos de banda asignados dinámicamente para subcolas en WFQ

Así, los paquetes se separan en distintas colas en función del flujo de tráfico que les corresponde. Una vez identificados, los paquetes que pertenecen al mismo flujo de tráfico se insertan en una cola, creada específicamente para dicho tráfico. De manera predeterminada, se puede establecer un máximo de 256 colas dentro del enrutador; sin embargo, este número se puede aumentar hasta 4096 colas. A diferencia de los esquemas PQ, a las colas WFQ se les asignan diferentes anchos de banda en función de sus prioridades de cola. Los paquetes con mayor prioridad se programan antes que los paquetes con menor prioridad que llegan al mismo tiempo. 

Efecto de las disciplinas de cola en la red

La elección de la disciplina de cola afecta el rendimiento de la red en términos de la cantidad de paquetes perdidos, la latencia, etc. Al analizar el efecto de elegir los diferentes esquemas, observamos impactos significativos en varios parámetros. 

Packet drop analysis

Fig. 4: Número de paquetes descartados en función del tiempo para diferentes disciplinas de colas (ejecución de simulación en Riverbed Modeler)

La medición de la caída general de paquetes en la red para los tres esquemas apunta a los siguientes resultados: 
 

  • En todos los mecanismos, no hay caídas de paquetes al principio, hasta cierto punto. Esto se debe a que se necesita un tiempo finito para que se llene la memoria intermedia del enrutador. Dado que las caídas de paquetes ocurren solo después de que el búfer está lleno, hay un período inicial en el que no hay caídas de paquetes ya que aún no se ha alcanzado la capacidad del búfer .
  • En el esquema FIFO, la caída de paquetes comienza después de PQ pero antes de WFQ. Más prominentemente, la cantidad de paquetes que se descartan es mayor en el caso de FIFO. Esto se debe al hecho de que una vez congestionado, todo el tráfico entrante de todas las aplicaciones se elimina por completo sin discriminación .
  • En el esquema PQ, las caídas de paquetes comienzan primero. Dado que PQ divide la cola según los niveles de prioridad, el tamaño total de las colas individuales se divide. Asumiendo una simple división de la memoria en una Cola “ Importante ” y una Cola “ Menos Importante ”, el tamaño de la cola se reduce a la mitad . Por lo tanto, los paquetes que se dirigen a las subcolas harán que la cola se llene antes (debido a la menor capacidad) y, por lo tanto, la eliminación de paquetes comenzará antes.

Publicación traducida automáticamente

Artículo escrito por tabmir y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *