Fair-Queuing
Fair-Queuing (englisch für faires Einreihen) ist ein Netzwerk-Scheduling-Algorithmus. Das primäre Ziel beim Fair-Queuing ist die faire Behandlung der Quellen einer Übertragungskomponente, was dadurch erreicht werden kann, dass auf jeder Ausgangsleitung der Übertragungskomponente jedem Datenfluss (und damit jeder Quelle der Übertragungskomponente) eine eigene Warteschlange zugeordnet wird. Die Pakete der Warteschlangen werden nach dem Round-Robin-Verfahren entnommen und versendet. Auf diese Weise wird jede Quelle der Übertragungskomponente auf den gleichen Teil der Gesamtbandbreite der Ausgangsleitung eingeschränkt.
Nachteile
Ein Problem von Fair-Queuing ist, dass diejenigen Sender bevorzugt werden, welche lange Pakete senden, da das Versenden größerer Pakete mehr Zeit in Anspruch nimmt. Gelöst werden kann dieses Problem durch eine Erweiterung des Fair-Queuings: Fair-Queuing mit Byte-by-Byte-Round-Robin.
Ein zweites Problem ist, dass Fair-Queuing nicht die Priorität von Datenflüssen (von jeder Quelle gibt es einen Datenfluss) berücksichtigt. Manche Quellen haben nämlich eine höhere Priorität als andere bzw. manche Datenflüsse benötigen eine höhere Bandbreite als andere. Eine Lösung für dieses Problem ist die Erweiterung des Fair-Queuings zum Weighted-Fair-Queuing.
Fair-Queuing mit Byte-by-Byte-Round-Robin
Fair-Queuing ist prinzipiell identisch zu Round-Robin, nur dass pro Quelle eine eigene Warteschlange gebildet wird.
Um die Fairness in Paket-basierten Netzen noch zu erhöhen (und dem Sender mit den größeren Paketen nicht mehr Bandbreite zuzuteilen), kommt folgendes Fair-Queuing für Paket-basierte Netze in Betracht:
Ein Paket n bekommt eine sogenannte Fertigstellungszeit zugewiesen. Diese berechnet sich nach der Formel
wobei die Ankunftszeit des Pakets selbst und seine Länge ist. ist der Fertigstellungszeitpunkt des Vorgängers (derselben Quelle). Ist die Warteschlangen leer, kann mit der Übertragung des jeweiligen Pakets natürlich sofort begonnen werden. Ansonsten muss die Übertragung des Vorgängers abgewartet werden.
Beispiel
Das Verfahren lässt es demnach also zu, dass sich kürzere Pakete vor längere schieben können, denn z. B. ist Quelle Q1 mit 50 Byte großen Paketen im Abstand von 10 ms und Quelle Q2 mit 150 Byte großen Paketen in 10 ms folgendermaßen behandelt:
- F(Q1,1) = max(0,0) + 50 = 50 (sofort übertragen, ist das 1. Paket in Warteschlange für Q1)
- F(Q2,1) = max(0,0) + 150 = 150 (übertragen sobald Medium frei und virtuelle Zeit bei 1000 angekommen)
- F(Q1,2) = max(10,50) + 50 = 100 (schiebt sich vor 2., siehe unten)
- F(Q2,2) = max(10,150) + 150 = 300
- F(Q1,3) = max(20,100) + 50 = 150 (schiebt sich vor 4., siehe unten)
- F(Q2,3) = max(20,300) + 150 = 450
Übertragen würde dann in der Reihenfolge: 1. 3. 2. 5. 4. 6.
2. 5., da wir von First-Come-First-Served ausgehen
Zur Vereinfachung gehen wir davon aus, dass keine Daten übertragen wurden, sondern lediglich die Sendereihenfolge beachtet werden soll. Die Daten stauen sich quasi auf. Ansonsten könnte sich eine andere Paketreihenfolge (je nach Bandbreite) ergeben.
Siehe auch
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.