Algoritmo di implementazione QoS

6

Sto lavorando su un'applicazione, che esegue il routing IP e QoS. Oggi abbiamo implementato la QoS, con 3 priorità (bassa, normale e alta) e per ogni livello creiamo una coda e non appena i pacchetti vengono messi in coda, lo inoltriamo in un modo FIFO (lo schedulatore spende il 60% del tempo con la coda alta, il 30% il tempo con normale e il 10% con la coda bassa). Funziona, ma come FIFO ha alcuni svantaggi come:

  • Un traffico aggressivo riempirà la coda e tutti gli altri flussi con la stessa priorità saranno bloccati

  • in condizioni di utilizzo elevato, TCP rallenterà e UDP manterrà la nostra coda inondata. Significa che alla fine i flussi UDP avranno una migliore priorità rispetto ai flussi TCP

Stavo pensando a come migliorarlo e la mia idea è di implementare un SFQ con il seguente algoritmo:

  • mantieni alto, normale, basso, ma non sono solo 3 code, ma uno per (visto) protocollo

  • Lo schedulatore spende ancora il 60% del tempo che impieghiamo con le code alte, il 30% il tempo con il normale e il 10% con le code basse. Ma ora, fa un round-robin tra le code con la stessa priorità. La coda scelta, inoltra i pacchetti in un modo FIFO.

svantaggi da questa implementazione:

  • è più costoso per la CPU

Mi manca qualcosa? Qualche raccomandazione?

    
posta VP. 14.08.2012 - 13:54
fonte

1 risposta

1

Dai un'occhiata al traffico di rete dipendente da Hurst o lungo raggio ad esempio questo documento . Se è il tuo problema, non puoi ridurre il traffico dipendente a lungo raggio con le politiche di accodamento.

    
risposta data 14.08.2012 - 15:18
fonte

Leggi altre domande sui tag