Hierarchical Token Bucket (HTB) es un algoritmo de queuing disciplinado utilizado para la gestión del ancho de banda y la conformación del tráfico (traffic shaping) en redes. Extiende el concepto del Token Bucket simple al permitir una estructura jerárquica de clases de tráfico. Cada clase puede tener sus propios parámetros de limitación de tasa (rate limit) y ráfaga (burst), y el ancho de banda no utilizado por una clase hija puede ser prestado a sus hermanas o utilizado por su padre. Esto permite una asignación granular y flexible del ancho de banda, donde las clases de tráfico pueden anidarse para reflejar políticas de QoS complejas, asegurando que el tráfico de alta prioridad reciba los recursos necesarios incluso bajo carga.

En el mundo real, HTB es ampliamente implementado en sistemas operativos basados en Linux a través de la herramienta 'tc' (traffic control), que forma parte del paquete iproute2. Es una opción común para routers, firewalls y servidores de gateway que necesitan gestionar el ancho de banda de múltiples usuarios, aplicaciones o servicios. Por ejemplo, un proveedor de servicios de internet (ISP) podría usar HTB para ofrecer diferentes planes de velocidad a sus clientes, o una empresa podría priorizar el tráfico de VoIP y videoconferencia sobre el tráfico de navegación web o descargas, asignando cubos de tokens específicos a cada tipo de tráfico y anidándolos bajo un cubo principal que representa el ancho de banda total disponible.

Para un arquitecto de sistemas, HTB es crucial para diseñar redes resilientes y de alto rendimiento. Permite implementar políticas de Calidad de Servicio (QoS) sofisticadas, garantizando que las aplicaciones críticas reciban el ancho de banda necesario y que el sistema sea justo en la distribución de recursos. La capacidad de definir límites de tasa garantizados (guaranteed rate) y límites máximos (ceil rate), junto con la herencia de ancho de banda, ofrece una flexibilidad enorme. Sin embargo, su configuración puede ser compleja y requiere una comprensión profunda de los patrones de tráfico y las prioridades del negocio. Una mala configuración podría llevar a un rendimiento deficiente o a la inanición de ciertas aplicaciones, por lo que el trade-off reside en la potencia y flexibilidad frente a la complejidad de la gestión y el monitoreo.