Red de conocimientos sobre prescripción popular - Colección de remedios caseros - Introducción al algoritmo de depósito de tokens

Introducción al algoritmo de depósito de tokens

Al transmitir datos en la red, para evitar la congestión de la red, es necesario limitar el tráfico fuera de la red para que el tráfico se envíe a una velocidad relativamente uniforme. El algoritmo del depósito de tokens implementa esta función y puede controlar la cantidad de datos enviados a la red, lo que permite enviar ráfagas de datos.

El algoritmo del depósito de tokens es uno de los algoritmos más utilizados en la configuración del tráfico de red y la limitación de velocidad. Normalmente, el algoritmo del depósito de tokens se utiliza para controlar la cantidad de datos enviados a la red y permite enviar ráfagas de datos.

Un depósito de tokens con un tamaño fijo puede generar tokens continuamente a un ritmo constante. Si los tokens no se consumen, o se consumen a un ritmo más lento del que se producen, los tokens seguirán aumentando hasta que se llene el cubo. Los tokens generados posteriormente se desbordarán del depósito. La cantidad máxima de tokens que se pueden contener en el último depósito nunca excederá el tamaño del depósito.

Los paquetes de datos enviados al depósito de tokens deben consumir tokens. Para paquetes de diferentes tamaños, la cantidad de tokens consumidos es diferente.

El depósito de tokens es un mecanismo de control que indica cuándo se puede enviar el tráfico en función de si hay tokens en el depósito de tokens. Cada token en el depósito de tokens representa un byte. Si hay tokens en el depósito de tokens, se permite enviar tráfico; si no hay tokens en el depósito de tokens, no se permite enviar tráfico. Por lo tanto, si el umbral de ráfaga está configurado correctamente y hay suficientes tokens en el depósito de tokens, el tráfico se puede enviar a la velocidad máxima.

El proceso básico del algoritmo del depósito de tokens es el siguiente:

Si la tasa de envío promedio configurada por el usuario es r, entonces se agrega un token al depósito cada 1/r. segundos;

Supongamos que el depósito puede almacenar y emitir hasta b tokens. Si el depósito de tokens está lleno cuando llega el token, el token se descartará;

Cuando llega un paquete de n bytes, se eliminan n tokens del depósito de tokens y el paquete se envía a la red;

Si hay menos de n tokens en el depósito de tokens, el token no se eliminará y se considerará que el paquete excede el límite de tráfico;

Este algoritmo explota hasta b Se permiten bytes, pero los resultados a largo plazo muestran que la velocidad de paquetes está limitada a una r constante. Los paquetes que exceden el límite de tráfico se pueden manejar de diferentes maneras:

Se pueden descartar

Cuando se hayan acumulado suficientes tokens en el depósito de tokens, se pueden colocar en la cola para su transmisión; ;

Se pueden seguir enviando, pero es necesario marcarlos especialmente. Estos paquetes especialmente marcados se descartarán cuando la red esté sobrecargada.

Nota: El algoritmo del depósito de tokens no debe confundirse con otro algoritmo común, el "depósito con fugas". La principal diferencia entre los dos algoritmos es que el algoritmo del depósito con fugas puede imponer un límite en la velocidad de transmisión de datos, mientras que el algoritmo del depósito de tokens puede limitar la velocidad de transmisión de datos promedio y también permitir algunas transmisiones en ráfaga. En el "Algoritmo de depósito de tokens", siempre que haya tokens en el depósito de tokens, se permite que los datos se transmitan repentinamente hasta que se alcance un umbral configurado por el usuario, por lo que es adecuado para tráfico con características de ráfagas.