programador de red


Un programador de red , también llamado programador de paquetes , disciplina de colas ( qdisc ) o algoritmo de colas , es un árbitro en un nodo en una red de comunicación de conmutación de paquetes . Administra la secuencia de paquetes de red en las colas de transmisión y recepción de la pila de protocolos y el controlador de interfaz de red . Hay varios programadores de red disponibles para los diferentes sistemas operativos , que implementan muchos de los algoritmos de programación de red existentes .

La lógica del programador de red decide qué paquete de red reenviar a continuación. El programador de red está asociado con un sistema de colas, que almacena los paquetes de red temporalmente hasta que se transmiten. Los sistemas pueden tener colas únicas o múltiples, en cuyo caso cada una puede contener los paquetes de un flujo , clasificación o prioridad.

En algunos casos, puede que no sea posible programar todas las transmisiones dentro de las limitaciones del sistema. En estos casos, el programador de la red es responsable de decidir qué tráfico reenviar y qué se descarta .

Un programador de red puede tener responsabilidad en la implementación de iniciativas de control de tráfico de red específicas. El control del tráfico de red es un término genérico para todas las medidas destinadas a reducir la congestión , la latencia y la pérdida de paquetes de la red. Específicamente, la gestión activa de colas (AQM) es la eliminación selectiva de paquetes de red en cola para lograr el objetivo más amplio de evitar la congestión excesiva de la red. El programador debe elegir qué paquetes descartar. El modelado del tráfico suaviza los requisitos de ancho de banda de los flujos de tráfico al retrasar los paquetes de transmisión cuando se ponen en cola en ráfagas. El planificador decide el momento de los paquetes transmitidos. calidad de servicio(QoS) es la priorización del tráfico basado en la clase de servicio ( Servicios diferenciados ) o conexión reservada ( Servicios integrados ).

Con el transcurso del tiempo, se han desarrollado muchas disciplinas de colas de red. Cada uno de estos proporciona un reordenamiento específico o eliminación de paquetes de red dentro de varios búferes de transmisión o recepción . [1] Las disciplinas de cola se usan comúnmente como intentos de compensar varias condiciones de red, como reducir la latencia para ciertas clases de paquetes de red, y generalmente se usan como parte de las medidas de QoS. [2] [3] [4]

Bufferbloat es un fenómeno en las redes de conmutación de paquetes en las que el exceso de almacenamiento en búfer de los paquetes provoca una alta latencia y una variación en el retraso de los paquetes . Bufferbloat puede ser abordado por un programador de red que descarte paquetes estratégicamente para evitar una acumulación de almacenamiento en búfer innecesariamente alta. Los ejemplos incluyen CoDel , FQ-CoDel y detección temprana aleatoria .


Paquetes en cola en una estructura de datos FIFO (primero en entrar, primero en salir).
El programador de paquetes del kernel de Linux es parte de la pila de red, junto con netfilter , nftables y Berkeley Packet Filter .