Este post es un ejemplo de como funcionan los algoritmos de planificación (FIFO, WFQ, Round Robin, Prioridad), utilizados para envíar paquetes en la red.
FIFO: Es el más sencillo de todos, el primer paquete que llega será el primer paquete que se envía, así que los paquetes irán formando una cola.
Prioridad: Este algoritmo marca determinados paquetes como paquetes prioritarios y en caso de que se puedan envíar varios paquetes, enviará el paquete marcado con prioridad.
Round Robin: Este algoritmo divide los paquetes en varias clases, y va enviando un paquete de cada clase de manera cíclica. Primero clase A, luego B, luego C, y vuelta a empezar suponiendo que hay tres clases.
WFQ: Este algoritmo funciona de forma muy parecida a Round Robin, aunque también divide los paquetes en clases cada clase puede tener un determinado valor, y dependendiendo el valor o “peso” enviará un número determinado de paquetes de la clase A, y otro número determinado de paquetes de la clase B, etc.
La siguiente tabla muestra un ejemplo en la que podemos ver en que tiempo entran los
numerados del 1 al 8, y dependiendo del algoritmo que utilicemos los paquetes serán enviados de diferente forma.
En la siguiente tabla, podemos observar los tiempos de entrada de cada paquete obtenidos de la tabla anterior (t.entrada), tambien los tiempos de salida si los paquetes no utilizasen ningún algoritmo (t.salida).
En las filas correspondientes a cada algoritmo podemos ver en que orden van a salir los paquetes hacia el destino (Orden salida), el tiempo en el que deberían haber entrado sin algoritmo (t. entrada) y finalmente el tiempo de retraso (retraso), que será la resta de la columna del tiempo de salida menos el tiempo de entrada de cada paquete.
A la derecha del todo, calculamos la media del tiempo que tarda cada algoritmo en hacer todos los envíos de los paquetes.
Algoritmos |
Paquetes |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Ret. |
t. entrada |
0 |
0 |
1 |
1 |
3 |
3 |
3 |
5 |
Media |
|
t. salida |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
||
FIFO |
Orden salida |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
t. entrada |
0 |
0 |
1 |
1 |
3 |
3 |
3 |
5 |
||
retraso |
0 |
1 |
1 |
2 |
1 |
2 |
3 |
2 |
1.5 |
|
Prioridad |
Orden salida |
1 |
3 |
2 |
5 |
7 |
4 |
6 |
8 |
|
t. entrada |
0 |
1 |
0 |
3 |
3 |
1 |
3 |
5 |
||
retraso |
0 |
0 |
2 |
0 |
1 |
4 |
3 |
2 |
1.5 |
|
Round Robin |
Orden salida |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
t. entrada |
0 |
0 |
1 |
1 |
3 |
3 |
3 |
5 |
||
retraso |
0 |
1 |
1 |
2 |
1 |
2 |
3 |
2 |
1.5 |
|
WFQ |
Orden salida |
1 |
3 |
2 |
5 |
7 |
4 |
6 |
8 |
|
t. entrada |
0 |
1 |
0 |
3 |
3 |
1 |
3 |
5 |
||
retraso |
0 |
0 |
2 |
0 |
1 |
4 |
3 |
2 |
1.5 |
En este ejemplo todos las medias de los cuatro algoritmos obtienen el mismo resultado.