Weighted-Fair-Queuing
# Weighted-Fair-Queuing

Weighted-Fair-Queuing (deutsch gewichtetes faires Einreihen, WFQ) ist ein Algorithmus für einen Netzwerk-Scheduler und eine Variante des Fair-Queuing.

Das primäre Ziel beim Weighted-Fair-Queuing ist wie beim Fair-Queuing die faire Behandlung der Quellen der Übertragungskomponente. Da manche Quellen eine höhere Priorität als andere haben bzw. manche Datenflüsse eine höhere Bandbreite als andere benötigen, berücksichtigt WFQ während des Queuing-Vorgangs auch die Priorität von Quellen bzw. Flüssen und vereint damit die Merkmale von Priority-Queuing und Fair-Queuing.

## Realisierung

Jedem Datenfluss wird eine Gewichtung zugeordnet. Die Warteschlangen werden im Round-Robin-Verfahren abgefragt.

## Bandbreite

Die Gewichtung eines Datenflusses bestimmt die Anzahl der Bytes, die beim Round-Robin-Verfahren pro Tick aus der Warteschlange entnommen und versendet werden.

$b_{i}={\frac {w_{i}}{\sum _{j=1}^{n}{w_{j}}}}*R$

$b_{i}=$ Bandbreite für Fluss i

$w_{i}=$ Gewichtung von Fluss i

$n=$ Anzahl der Flüsse

$R=$ Gesamtbandbreite der Leitung

In Worten:

Bandbreite für Fluss i = ( (Gewichtung von Fluss i) / (Gesamtgewicht aller Flüsse) ) * (Gesamtbandbreite der Leitung).

